[build fail] v6.11-rc2 from "ARM: 9404/1: arm32: enable HAVE_LD_DEAD_CODE_DATA_ELIMINATION"

Harith George mail2hgg at gmail.com
Tue Aug 6 22:12:49 PDT 2024


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

I am working on a new platform. Hence my .config/code has other platform 
related additions which would not make sense on current mainline, which 
is why I have not added it here. Do let me know if you would still like 
to have the .config file.


Thanks,
Warm Regards,
Harith






More information about the linux-arm-kernel mailing list