All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sedat Dilek <sedat.dilek@gmail.com>
To: Nick Desaulniers <ndesaulniers@google.com>
Cc: Masahiro Yamada <masahiroy@kernel.org>,
	Arvind Sankar <nivedita@alum.mit.edu>,
	Jakub Jelinek <jakub@redhat.com>,
	Fangrui Song <maskray@google.com>,
	Caroline Tice <cmtice@google.com>,
	clang-built-linux <clang-built-linux@googlegroups.com>,
	Nick Clifton <nickc@redhat.com>,
	LKML <linux-kernel@vger.kernel.org>,
	Linux Kbuild mailing list <linux-kbuild@vger.kernel.org>
Subject: Re: [PATCH v3 0/2] Kbuild: DWARF v5 support
Date: Mon, 28 Dec 2020 16:15:09 +0100	[thread overview]
Message-ID: <CA+icZUWwNWVQDYUCoo6TQNBOtMqwwEuLJuNO2c8gvihs6jTGOA@mail.gmail.com> (raw)
In-Reply-To: <CA+icZUW19o=bEcT6wOZ+9Yt6UtAoZ2-9ijNadC101_dMfn-VVA@mail.gmail.com>

On Sun, Dec 27, 2020 at 7:47 PM Sedat Dilek <sedat.dilek@gmail.com> wrote:
>
> On Fri, Dec 4, 2020 at 2:13 AM 'Nick Desaulniers' via Clang Built
> Linux <clang-built-linux@googlegroups.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@google.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)
>

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@gmail.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@googlegroups.com.
> > To view this discussion on the web visit https://groups.google.com/d/msgid/clang-built-linux/CAKwvOdkZEiHK01OD420USb0j%3DF0LcrnRbauv9Yw26tu-GRbYkg%40mail.gmail.com.

  reply	other threads:[~2020-12-28 15:16 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-04  1:11 [PATCH v3 1/2] Kbuild: make DWARF version a choice Nick Desaulniers
2020-12-04  1:11 ` [PATCH v3 2/2] Kbuild: implement support for DWARF v5 Nick Desaulniers
2021-01-04 22:12   ` Nathan Chancellor
     [not found] ` <20201204011129.2493105-3-ndesaulniers@google.com>
2020-12-04  1:13   ` [PATCH v3 0/2] Kbuild: DWARF v5 support Nick Desaulniers
2020-12-27 18:47     ` Sedat Dilek
2020-12-28 15:15       ` Sedat Dilek [this message]
2020-12-31 19:27         ` Sedat Dilek
     [not found]   ` <CA+icZUVa5rNpXxS7pRsmj-Ys4YpwCxiPKfjc0Cqtg=1GDYR8-w@mail.gmail.com>
     [not found]     ` <CA+icZUW6h4EkOYtEtYy=kUGnyA4RxKKMuX-20p96r9RsFV4LdQ@mail.gmail.com>
     [not found]       ` <CABtf2+RdH0dh3NyARWSOzig8euHK33h+0jL1zsey9V1HjjzB9w@mail.gmail.com>
2021-01-14  6:18         ` Sedat Dilek
2021-01-14  7:09           ` Sedat Dilek
2021-01-14  9:36           ` Sedat Dilek
2021-01-14 18:53           ` Nick Desaulniers
2021-01-14 19:01             ` Nick Desaulniers
2021-01-14 19:13               ` Yonghong Song
2021-01-14 19:20                 ` Nick Desaulniers
2021-01-14 20:12                   ` Sedat Dilek
2021-01-14 20:11                 ` Sedat Dilek
2021-01-14 21:52                   ` Sedat Dilek
2021-01-14 22:05                     ` Nick Desaulniers
2021-01-14 22:21                       ` Sedat Dilek
2021-01-14 23:45                         ` Yonghong Song
2020-12-04  1:18 ` [PATCH v3 1/2] Kbuild: make DWARF version a choice Nick Desaulniers
2021-01-04 22:03 ` Nathan Chancellor

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CA+icZUWwNWVQDYUCoo6TQNBOtMqwwEuLJuNO2c8gvihs6jTGOA@mail.gmail.com \
    --to=sedat.dilek@gmail.com \
    --cc=clang-built-linux@googlegroups.com \
    --cc=cmtice@google.com \
    --cc=jakub@redhat.com \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=masahiroy@kernel.org \
    --cc=maskray@google.com \
    --cc=ndesaulniers@google.com \
    --cc=nickc@redhat.com \
    --cc=nivedita@alum.mit.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.