[PATCH v2 0/5] fix debug info for asm and DEBUG_INFO_SPLIT

From: Nick Desaulniers
Date: Wed Aug 31 2022 - 14:44:18 EST


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 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.

v1: https://lore.kernel.org/llvm/20220826181035.859042-1-ndesaulniers@xxxxxxxxxx/


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 | 44 +++++++++++++++------
Makefile | 4 +-
arch/x86/boot/compressed/Makefile | 2 +-
drivers/gpu/drm/amd/display/dc/dml/Makefile | 12 ++----
scripts/Makefile.compiler | 21 +++++++---
scripts/Makefile.debug | 26 ++++++++----
6 files changed, 72 insertions(+), 37 deletions(-)

--
2.37.2.672.g94769d06f0-goog