[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <acc20caa-79b1-4174-98e5-97a651012685@app.fastmail.com>
Date: Wed, 07 Aug 2024 12:10:42 +0200
From: "Arnd Bergmann" <arnd@...db.de>
To: "Harith George" <mail2hgg@...il.com>,
"Yuntao Liu" <liuyuntao12@...wei.com>,
"Linus Walleij" <linus.walleij@...aro.org>,
"Russell King" <rmk+kernel@...linux.org.uk>,
"Ard Biesheuvel" <ardb@...nel.org>, harith.g@...fsemi.com
Cc: linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [build fail] v6.11-rc2 from "ARM: 9404/1: arm32: enable
HAVE_LD_DEAD_CODE_DATA_ELIMINATION"
On Wed, Aug 7, 2024, at 07:12, Harith George wrote:
> Hi,
>
> I am seeing a regression in "make xipImage" builds in mainline tree
> v6.11-rc2 with LD segmentation fault.
>
> $ make V=1 xipImage
> ...
> + arm-poky-linux-musleabi-ld -EL -z noexecstack --no-undefined -X
> --pic-veneer -z norelro --build-id=sha1 --orphan-handling=warn
> --script=./arch/arm/kernel/vmlinux.lds -o vmlinux --whole-archive
> vmlinux.a init/version-timestamp.o --no-whole-archive --start-group
> arch/arm/lib/lib.a lib/lib.a --end-group
> scripts/link-vmlinux.sh: line 49: 3371164 Segmentation fault (core
> dumped) ${ld} ${ldflags} -o ${output} ${wl}--whole-archive ${objs}
> ${wl}--no-whole-archive ${wl}--start-group ${libs} ${wl}--end-group
> ${kallsymso} ${btf_vmlinux_bin_o} ${ldlibs}
> make[2]: *** [scripts/Makefile.vmlinux:34: vmlinux] Error 139
> make[2]: *** Deleting file 'vmlinux'
> make[1]: *** [/home/amol/hgg/mainline/linux/Makefile:1156: vmlinux] Error 2
> make: *** [Makefile:224: __sub-make] Error 2
>
> git bisect pointed to ed0f941022515ff40473("ARM: 9404/1: arm32: enable
> HAVE_LD_DEAD_CODE_DATA_ELIMINATION")
>
> "CONFIG_HAVE_LD_DEAD_CODE_DATA_ELIMINATION=y" is getting set with the
> commit in my .config.
> But, my .config is _not_ enabling the "LD_DEAD_CODE_DATA_ELIMINATION" flag.
>
> Reverting commit ed0f94102251, resolves the linking fail.
> Infact, reverting just the ".reloc .text, R_ARM_NONE, ." additions in
> arch/arm/kernel/entry-armv.S resolves the linking fail.
>
> My toolchain is
> arm-poky-linux-musleabi-gcc (GCC) 9.2.0
> GNU ld (GNU Binutils) 2.32.0.20190204
Obviously 'ld' should not segfault, so there is at least one bug
there, possibly also a kernel bug that triggered this. Can you
try with newer binutils? This should hopefully either solve your
problem or produce a more useful error message if there is still a
kernel problem.
Any of the binary toolchains below should work in general,
the latest one is the gcc-14.2/binutils-2.43 version I uploaded
to kernel.org the other day.
https://mirrors.edge.kernel.org/pub/tools/crosstool/index.html
https://toolchains.bootlin.com/releases_armv7-eabihf.html
https://musl.cc/
Arnd
Powered by blists - more mailing lists