Re: [PATCH 20/21] Kbuild, lto: Add Link Time Optimization support

From: Arnd Bergmann
Date: Sat Jan 27 2018 - 09:26:34 EST


On Sat, Jan 27, 2018 at 1:55 AM, Andi Kleen <ak@xxxxxxxxxxxxxxx> wrote:
> On Sat, Jan 27, 2018 at 01:15:49AM +0100, Arnd Bergmann wrote:
>> On Mon, Nov 27, 2017 at 10:34 PM, Andi Kleen <andi@xxxxxxxxxxxxxx> wrote:
>> > From: Andi Kleen <ak@xxxxxxxxxxxxxxx>
>> > - Add a new LDFINAL variable that controls the final link
>> > for vmlinux or module. In this case we call gcc-ld instead
>> > of ld, to run the LTO step.
>>
>> When I tried this out on allmodconfig (following the lwn article), I ran into
>> a number of warnings:
>
> Thanks for testing. Yes it's a known issue: during one module build
> when modpost looks at the file it is still in LTO format, and
> modpost doesn't understand the LTO symbol table. I had a patch
> to teach it to it at some point, but it got lost somewhere.
> The LLVM LTO patchkit has a different solution that actually
> fixes the sequence to run modpost only after a LTO final link,
> but I haven't gotten around to port that one.
>
> It seems to work already for the single file modules.

Ok, I see. I've turned off that warning now for testing.

What about this one:

kallsyms failure: relative symbol value 0xffffffff81000000 out of
range in relative mode

I seem to get that all the time here, and have also disabled it for now,
but it sounds important (and breaks the build).

Arnd