On Sun, Dec 27, 2020 at 7:47 PM Sedat Dilek <sedat.dilek@xxxxxxxxx> wrote: > > On Fri, Dec 4, 2020 at 2:13 AM 'Nick Desaulniers' via Clang Built > Linux <clang-built-linux@xxxxxxxxxxxxxxxx> wrote: > > > > sigh...I ran a broken script to send the series which doesn't cc folks properly. > > + lkml, linux-kbuild > > (Might just resend, properly) > > > > On Thu, Dec 3, 2020 at 5:11 PM Nick Desaulniers <ndesaulniers@xxxxxxxxxx> wrote: > > > > > > DWARF v5 is the latest standard of the DWARF debug info format. > > > > > > DWARF5 wins significantly in terms of size when mixed with compression > > > (CONFIG_DEBUG_INFO_COMPRESSED). > > > > > > Link: http://www.dwarfstd.org/doc/DWARF5.pdf > > > > > > Patch 1 is a cleanup that lays the ground work and isn't DWARF > > > v5 specific. > > > Patch 2 implements Kconfig and Kbuild support for DWARFv5. > > > > > > Changes from v2: > > > * Drop two of the earlier patches that have been accepted already. > > > * Add measurements with GCC 10.2 to commit message. > > > * Update help text as per Arvind with help from Caroline. > > > * Improve case/wording between DWARF Versions as per Masahiro. > > > > > > Changes from the RFC: > > > * split patch in 3 patch series, include Fangrui's patch, too. > > > * prefer `DWARF vX` format, as per Fangrui. > > > * use spaces between assignment in Makefile as per Masahiro. > > > * simplify setting dwarf-version-y as per Masahiro. > > > * indent `prompt` in Kconfig change as per Masahiro. > > > * remove explicit default in Kconfig as per Masahiro. > > > * add comments to test_dwarf5_support.sh. > > > * change echo in test_dwarf5_support.sh as per Masahiro. > > > * remove -u from test_dwarf5_support.sh as per Masahiro. > > > * add a -gdwarf-5 cc-option check to Kconfig as per Jakub. > > > > > I have tested v3 on top of Linux v5.10.3 on Debian/testing AMD64. > > Numbers talk - bullshit walks. [ Linus Torvalds ] > > [ 5.10.3-1-amd64-gcc10-bfd ] > > GNU-toolchain: GCC v10.2.1 and GNU/ld BFD v2.35.1 > > 503096 vmlinux > 6864 vmlinux.compressed > 580104 vmlinux.o > > 701856 linux-image-5.10.3-1-amd64-gcc10-bfd-dbg_5.10.3-1~bullseye+dileks1_amd64.deb > > [ 5.10.3-1-amd64-clang-ias ] > > LLVM-toolchain: Clang and LLD v11.0.1-rc2 > > 358424 vmlinux > 7032 vmlinux.compressed > 353788 vmlinux.o > > 508336 linux-image-5.10.3-1-amd64-clang-ias-dbg_5.10.3-1~bullseye+dileks1_amd64.deb > > [ 5.10.3-1-amd64-gcc10-bfd ] > > $ llvm-dwarfdump-11 vmlinux.o | head -15 > error: vmlinux.o: file format elf64-x86-64 > > .debug_info contents: > decoding address ranges: invalid range list offset 0x265 > 0x00000000: Compile Unit: length = 0x0000001f, format = DWARF32, > version = 0x0005, unit_type = DW_UT_compile, abbr_offset = 0x0000, > addr_size = 0x08 (next unit at 0x00 > 000023) > > 0x0000000c: DW_TAG_compile_unit > DW_AT_stmt_list (0x00000000) > DW_AT_ranges (0x0000000c > [0x0000000000000000, 0x000000000000021c) > [0x0000000000000000, 0x000000000000019e) > [0x0000000000000000, 0x0000000000002000)) > DW_AT_name ("head_64.S") > DW_AT_comp_dir ("/home/dileks/src/linux-kernel/git") > DW_AT_producer ("GNU AS 2.35.1") > DW_AT_language (DW_LANG_Mips_Assembler) > > [ 5.10.3-1-amd64-clang-ias ] > > $ llvm-dwarfdump-11 vmlinux.o | head -15 > vmlinux.o: file format elf64-x86-64 > > .debug_info contents: > 0x00000000: Compile Unit: length = 0x00000377, format = DWARF32, > version = 0x0005, unit_type = DW_UT_compile, abbr_offset = 0x0000, > addr_size = 0x08 (next unit at 0x00 > 00037b) > > 0x0000000c: DW_TAG_compile_unit > DW_AT_stmt_list (0x00000000) > DW_AT_ranges (0x0000000c > [0x0000000000000000, 0x0000000000002000) > [0x0000000000000000, 0x000000000000021c) > [0x0000000000000000, 0x000000000000019e)) > DW_AT_name ("arch/x86/kernel/head_64.S") > DW_AT_comp_dir ("/home/dileks/src/linux-kernel/git") > DW_AT_producer ("Debian clang version 11.0.1-+rc2-1") > DW_AT_language (DW_LANG_Mips_Assembler) > Some more numbers with Linux v5.11-rc1 and identical GNU and LLVM toolchains. [ 5.11.0-rc1-1-amd64-gcc10-bfd ] 492 vmlinux 7 vmlinux.compressed 567 vmlinux.o 685 linux-image-5.11.0-rc1-1-amd64-gcc10-bfd-dbg_5.11.0~rc1-1~bullseye+dileks1_amd64.deb [ 5.11.0-rc1-2-amd64-clang-ias ] 350 vmlinux 7 vmlinux.compressed 345 vmlinux.o 495 linux-image-5.11.0-rc1-2-amd64-clang-ias-dbg_5.11.0~rc1-2~bullseye+dileks1_amd64.deb - Sedat - > Attached are my kernel config files. > > Feel free to add my: > > Tested-by: Sedat Dilek <sedat.dilek@xxxxxxxxx> > > - sed@ - > > > > Nick Desaulniers (2): > > > Kbuild: make DWARF version a choice > > > Kbuild: implement support for DWARF v5 > > > > > > Makefile | 15 +++++++------ > > > include/asm-generic/vmlinux.lds.h | 6 +++++- > > > lib/Kconfig.debug | 35 ++++++++++++++++++++++++++----- > > > scripts/test_dwarf5_support.sh | 9 ++++++++ > > > 4 files changed, 53 insertions(+), 12 deletions(-) > > > create mode 100755 scripts/test_dwarf5_support.sh > > > > > > -- > > > 2.29.2.576.ga3fc446d84-goog > > > > > > > > > -- > > Thanks, > > ~Nick Desaulniers > > > > -- > > You received this message because you are subscribed to the Google Groups "Clang Built Linux" group. > > To unsubscribe from this group and stop receiving emails from it, send an email to clang-built-linux+unsubscribe@xxxxxxxxxxxxxxxx. > > To view this discussion on the web visit https://groups.google.com/d/msgid/clang-built-linux/CAKwvOdkZEiHK01OD420USb0j%3DF0LcrnRbauv9Yw26tu-GRbYkg%40mail.gmail.com.