Alexey reported that the fraction of unknown filename instances in kallsyms grew from ~0.3% to ~10% recently; Bill and Greg tracked it down to assembler defined symbols, which regressed as a result of: commit b8a9092330da ("Kbuild: do not emit debug info for assembly with LLVM_IAS=1") In that commit, I allude to restoring debug info for assembler defined symbols in a follow up patch, but it seems I forgot to do so in commit a66049e2cf0e ("Kbuild: make DWARF version a choice") Do so requires a fixup for as-option, which seems to be failing when used in scripts/Makefile.debug. Also includes a fix for DEBUG_INFO_SPLIT while I'm here. Dmitrii reports that this has been broken since gcc-11+ & clang-12+. I'm guessing no one uses this .config option...since no one else has reported it being broken yet... Changes from v2 -> v3: * Pick up Nathan's Reviewed-by and Tested-by tags. * Reword commit message 1/5 and 2/5 as per Nathan. * Add Masahiro's Suggested-by tag where relevant. * Use -x assembler-with-cpp -Werror in as-option and as-instr as per Masahiro. * Fix AMDGPU compiler version check as per Nathan. * Drop cc-min-version, as per Masahiro. * Replace patch 4 with a variant of Masahiro's suggestion. * Reword commit message 4/5. Changes from v1 -> v2: * 5 patches now, rather than 3. * Split change to arch/x86/boot/compressed/Makefile off of first patch, as per Masahiro. * Introduce compiler specific macros, as per Bill, and eradicate cc-ifversion while I'm at it. * Update commit message of final patch to refer to 866ced950bcd. v2: https://lore.kernel.org/llvm/20220831184408.2778264-1-ndesaulniers@xxxxxxxxxx/ v1: https://lore.kernel.org/llvm/20220826181035.859042-1-ndesaulniers@xxxxxxxxxx/ *** BLURB HERE *** Nick Desaulniers (5): x86/boot/compressed: prefer cc-option for CFLAGS additions Makefile.compiler: Use KBUILD_AFLAGS for as-option Makefile.compiler: replace cc-ifversion with compiler-specific macros Makefile.debug: re-enable debug info for .S files Makefile.debug: set -g unconditional on CONFIG_DEBUG_INFO_SPLIT Documentation/kbuild/makefiles.rst | 29 ++++++++++++--------- Makefile | 6 ++--- arch/x86/boot/compressed/Makefile | 2 +- drivers/gpu/drm/amd/display/dc/dml/Makefile | 2 +- lib/Kconfig.debug | 4 ++- scripts/Makefile.compiler | 18 ++++++++----- scripts/Makefile.debug | 25 ++++++++---------- 7 files changed, 46 insertions(+), 40 deletions(-) -- 2.37.2.789.g6183377224-goog