Re: [PATCH 1/5] kbuild: allow architectures to use thin archives instead of ld -r
From: Arnd Bergmann <arnd@arndb.de>
Date: 2016-08-08 09:19:03
Also in:
linux-arch, linux-kbuild
On Monday, August 8, 2016 1:25:32 PM CEST Nicholas Piggin wrote:
On Sat, 6 Aug 2016 22:10:45 +0200 Sam Ravnborg [off-list ref] wrote:quoted
Hi Nicholas. On Fri, Aug 05, 2016 at 10:11:59PM +1000, Nicholas Piggin wrote:quoted
From: Stephen Rothwell <redacted> ld -r is an incremental link used to create built-in.o files in build subdirectories. It produces relocatable object files containing all its input files, and these are are then pulled together and relocated in the final link. Aside from the bloat, this constrains the final link relocations, which has bitten large powerpc builds with unresolvable relocations in the final link. Alan Modra has recommended the kernel use thin archives for linking. This is an alternative and means that the linker has more information available to it when it links the kernel. This patch enables a config option architectures can select,If we want to do this, then I suggest to make the logic reverse. Architectures that for some reasons cannot use this should have the possibility to avoid it. But let it be enabled by default.I was thinking the build matrix (architectures x build options x toolchains) is a bit too large to switch it for everybody. I've far from even tested it for a fraction of powerpc builds. I would prefer arch maintainers to switch it themselves, but I do hope we can move everybody and just remove the old method within a few releases. But I'm happy to go with whatever arch and kbuild maintainers prefer, so I appreciate any discussion on it.
How about making the option visible for everyone with CONFIG_EXPERT? That way you don't get it by default, but you do get it with randconfig and allmodconfig build testing. Arnd