[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+icZUW19o=bEcT6wOZ+9Yt6UtAoZ2-9ijNadC101_dMfn-VVA@mail.gmail.com>
Date: Sun, 27 Dec 2020 19:47:57 +0100
From: Sedat Dilek <sedat.dilek@...il.com>
To: Nick Desaulniers <ndesaulniers@...gle.com>
Cc: Masahiro Yamada <masahiroy@...nel.org>,
Arvind Sankar <nivedita@...m.mit.edu>,
Jakub Jelinek <jakub@...hat.com>,
Fangrui Song <maskray@...gle.com>,
Caroline Tice <cmtice@...gle.com>,
clang-built-linux <clang-built-linux@...glegroups.com>,
Nick Clifton <nickc@...hat.com>,
LKML <linux-kernel@...r.kernel.org>,
Linux Kbuild mailing list <linux-kbuild@...r.kernel.org>
Subject: Re: [PATCH v3 0/2] Kbuild: DWARF v5 support
On Fri, Dec 4, 2020 at 2:13 AM 'Nick Desaulniers' via Clang Built
Linux <clang-built-linux@...glegroups.com> 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@...gle.com> 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)
Attached are my kernel config files.
Feel free to add my:
Tested-by: Sedat Dilek <sedat.dilek@...il.com>
- 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@...glegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/clang-built-linux/CAKwvOdkZEiHK01OD420USb0j%3DF0LcrnRbauv9Yw26tu-GRbYkg%40mail.gmail.com.
Download attachment "config-5.10.3-1-amd64-gcc10-bfd" of type "application/octet-stream" (235775 bytes)
Download attachment "config-5.10.3-1-amd64-clang-ias" of type "application/octet-stream" (236088 bytes)
Powered by blists - more mailing lists