Re: [RFC PATCH] kbuild: pass objects instead of archives to linker

Jiri Slaby
2022-11-03T07:22:48Z

On 02. 11. 22, 10:44, Masahiro Yamada wrote:
> Jiri Slaby reported that the (not-upstreamed) GCC-LTO tree got broken
> due to 321648455061 ("kbuild: use obj-y instead extra-y for objects
> placed at the head")
>
> https://lore.kernel.org/linux-kbuild/ea468b86-abb7-bb2b-1e0a-4c8959d23f1c@kernel.org/
>
>
> I am not pretty sure because I did not check the downstream code.
>
>
> If I understood his report correctly, the reason for the breakage is
> because I put all objects into the thin archive, expecting
> the linker would preserve the object order in the archive.
>
> By specifying the object order directly in the command line,
> GCC-LTO should get back working again.

...

> I think my patch is unneeded (hence RFC), but I just wanted to know
> if linkers (gnu ld and lld) see any difference.

Yes, including your patch (instead of vmlinux.S and /compressed/*
changes) also fixes the issue. So the linker (gcc-ld) indeed respects
command line, but not order of objects in .a.

thanks,
--
js
suse labs