Re: [PATCH] Makefile: support compressed debug info

From: Nick Desaulniers
Date: Tue May 12 2020 - 15:23:49 EST


On Mon, May 11, 2020 at 10:54 PM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote:
>
> > >On Mon, May 4, 2020 at 5:13 AM Nick Desaulniers
> > ><nick.desaulniers@xxxxxxxxx> wrote:
> > >>
> > >> As debug information gets larger and larger, it helps significantly save
> > >> the size of vmlinux images to compress the information in the debug
> > >> information sections. Note: this debug info is typically split off from
> > >> the final compressed kernel image, which is why vmlinux is what's used
> > >> in conjunction with GDB. Minimizing the debug info size should have no
> > >> impact on boot times, or final compressed kernel image size.
> > >>
> Nick,
>
> I am OK with this patch.
>
> Fangrui provided the minimal requirement for
> --compress-debug-sections=zlib
>
>
> Is it worth recording in the help text?
> Do you want to send v2?

Yes I'd like to record that information. I can also record Sedat's
Tested-by tag. Thank you for testing Sedat.

I don't know what "linux-image-dbg file" are, or why they would be
bigger. The size of the debug info is the primary concern with this
config. It sounds like however that file is created might be
problematic.

Fangrui, I wasn't able to easily find what version of binutils first
added support. Can you please teach me how to fish?

Another question I had for Fangrui is, if the linker can compress
these sections, shouldn't we just have the linker do it, not the the
compiler and assembler? IIUC the debug info can contain relocations,
so the linker would have to decompress these, perform relocations,
then recompress these? I guess having the compiler and assembler
compress the debug info as well would minimize the size of the .o
files on disk.

Otherwise I should add this flag to the assembler invocation, too, in
v2. Thoughts?

I have a patch series that enables dwarf5 support in the kernel that
I'm working up to. I wanted to send this first. Both roughly reduce
the debug info size by 20% each, though I haven't measured them
together, yet. Requires ToT binutils because there have been many
fixes from reports of mine recently.
--
Thanks,
~Nick Desaulniers