allmodconfig builds failing to link on arm64
Mark Rutland
mark.rutland at arm.com
Fri Apr 8 07:45:42 PDT 2022
On Fri, Apr 08, 2022 at 12:54:07PM +0100, Will Deacon wrote:
> Hi folks,
Hi Will,
> Since -rc1 (although I haven't tried bisecting the merge window), I'm
> not able to link allmodconfig for arm64:
>
> aarch64-linux-gnu-ld: .init.data has both ordered [`__patchable_function_entries' in init/main.o] and unordered [`.init_array.1' in virt/lib/irqbypass.o] sections
> aarch64-linux-gnu-ld: final link failed: bad value
> make: *** [Makefile:1158: vmlinux] Error 1
>
> I'm using an Android clang based on 12.0.6 and LD claims to be
> 2.33.1.20191209.
I can reproduce that when using the llvm.org 12.0.0 binaries along with the
kernel.org crosstool 9.2.0 binaries (binutils 2.32) to build v5.18-rc1
allmodconfig.
I see the failure with (at least) the following combinations that I tested:
* LLVM 11.0.0 && binutils 2.34 (kernel.org 8.4.0 binaries)
* LLVM 12.0.0 && binutils 2.30 (kernel.org 8.1.0 binaries)
* LLVM 12.0.0 && binutils 2.32 (kernel.org 9.2.0 binaries)
* LLVM 12.0.0 && binutils 2.34 (kernel.org 8.4.0/9.3.0 binaries)
* LLVM 13.0.0 && binutils 2.34 (kernel.org 8.4.0 binaries)
* LLVM 14.0.0 && binutils 2.34 (kernel.org 8.4.0 binaries)
I *DO NOT* see the failure with the following combinations:
* LLVM 12.0.0 && binutils 2.36.1 (kernel.org 10.3.0/11.1.0 binaries)
* LLVM 13.0.0 && binutils 2.36.1 (kernel.org 10.3.0/11.1.0 binaries)
* LLVM 14.0.0 && binutils 2.36.1 (kernel.org 10.3.0/11.1.0 binaries)
So clearly something changed on the binutils side between 2.34 and
2.36.1, but I don't know whether either behaviour is incorrect, or
whether LLVM implicitly depends upon a newer binutils version.
I don't know why this suddenly became a problem in v5.18-rc1; I'll have
a look.
Thanks,
Mark.
More information about the linux-arm-kernel
mailing list