Re: [PATCH 1/2] kbuild: Support split debug info v4

Michal Marek
2014-07-30T13:50:16Z

On 2014-07-30 01:11, Andi Kleen wrote:
> From: Andi Kleen <ak@linux.intel.com>
>
> This is an alternative approach to lower the overhead of debug info
> (as we discussed a few days ago)
>
> gcc 4.7+ and newer binutils have a new "split debug info" debug info
> model where the debug info is only written once into central ".dwo" files.
>
> This avoids having to copy it around multiple times, from the object
> files to the final executable. It lowers the disk space
> requirements. In addition it defaults to compressed debug data.
>
> More details here: http://gcc.gnu.org/wiki/DebugFission
>
> This patch adds a new option to enable it. It has to be an option,
> because it'll undoubtedly break everyone's debuginfo packaging scheme.
> gdb/objdump/etc. all still work, if you have new enough versions.
>
> I don't see big compile wins (maybe a second or two faster or so), but the
> object dirs with debuginfo get significantly smaller. My standard kernel
> config (slightly bigger than defconfig) shrinks from 2.9G disk space
> to 1.1G objdir (with non reduced debuginfo). I presume if you are IO limited
> the compile time difference will be larger.
>
> Only problem I've seen so far is that it doesn't play well with older
> versions of ccache (apparently fixed, see
> https://bugzilla.samba.org/show_bug.cgi?id=10005)

The failure mode with ccache is that the *.dwo files are not stored, but
the build proceeds, right? This is at least what I'm seeing. I'm just
wondering if the config option should be inverted to make
all{yes,mod}config builds happy. But it's probably not necessary if the
build passes.

Thanks,
Michal