Re: [GIT] kbuild/lto changes for 3.15-rc1

Markus Trippelsdorf
2014-04-15T11:36:06Z

On 2014.04.15 at 13:19 +0200, Sam Ravnborg wrote:
> >
> > And while the code size reduction is less for MIPS than what others have
> > reported for their platforms (I'm still investigating) is still is enough
> > that embedded developers would commit murder for.
>
> I have experimented a little with a patch that links all of vmlinux in one step.
> I compared the text size of vmlinux without and with -ffunction-sections.
>
> With a defconfig build on x86 (32 bit) I got following results:
>
> size difference
> singlelink 10266506
> function-sections 9487369 779137 7,5%
>
> So this is a reduction of ~800 kb by enabling -ffunction-sections which
> allows the linker to throw away unused sections.
>
> I have not boot tested the kernel so chances are that too much was thrown out by the linker.
> But this is an option that has much smaller cost to use than lto.
> And seems to benefit nicely in size.
>
> I have not tried this wihtout my singlelink patch - but I assume similar results.

No, it wouldn't work, because you cannot mix -r and --gc-sections (or
gold's --icf (identical code folding)).

--
Markus