Re: [PATCH 00/46] gcc-LTO support for the kernel

From: Jiri Slaby
Date: Mon Nov 14 2022 - 07:05:37 EST


On 14. 11. 22, 12:56, Ard Biesheuvel wrote:
On Mon, 14 Nov 2022 at 12:44, Jiri Slaby (SUSE) <jirislaby@xxxxxxxxxx> wrote:

Hi,

this is the first call for comments (and kbuild complaints) for this
support of gcc (full) LTO in the kernel. Most of the patches come from
Andi. Me and Martin rebased them to new kernels and fixed the to-use
known issues. Also I updated most of the commit logs and reordered the
patches to groups of patches with similar intent.

The very first patch comes from Alexander and is pending on some x86
queue already (I believe). I am attaching it only for completeness.
Without that, the kernel does not boot (LTO reorders a lot).


You didn't cc me on that patch so I will reply here: I don't think
this is the right solution.
On x86, there is a lot of stuff injected into .head.text that simply
does not belong there, and getting rid of the __head annotation and
dropping __HEAD from the Xen pvh head.S file would be a much better
solution.

I think Alexander was working on that too. I'm not sure -- anyway, we still have the other fix. That is putting startup_64() to a special section and put that to the beginning of vmlinux using lds. (Until .head.text is completely gone for good -- same as on arm, you wrote somewhere.)

In any case, that patch was added only for reference, if anyone wants to give the series a try. Next time, I can attach the other workaround ;).

I don't expect anyone will take the series as is. There will be a lot of comments, I suppose. Hence many re-spins...

thanks,
--
js
suse labs