[Letux-kernel] 6.11-rc1 compile issue for x86
H. Nikolaus Schaller
hns at goldelico.com
Wed Jul 31 14:50:01 CEST 2024
Hi,
I am still fixing all the tiny API changes from v6.10 to v6.11-rc1 which affect our private drivers.
Fixed is now arm, arm-lpae, arm64, mips (CI20, LX16, Alpha400).
But x86 build still has an issue where I have no idea where it is coming from:
MODPOST vmlinux.symvers - due to target missing
CC .vmlinux.export.o - due to target missing
UPD include/generated/utsversion.h
CC init/version-timestamp.o - due to target missing
KSYMS .tmp_vmlinux0.kallsyms.S
AS .tmp_vmlinux0.kallsyms.o
LD .tmp_vmlinux1
fs/dcache.o: In function `vfs_caches_init_early':
dcache.c:(.init.text+0xad): undefined reference to `__start_runtime_shift_d_hash_shift'
dcache.c:(.init.text+0xb6): undefined reference to `__stop_runtime_shift_d_hash_shift'
dcache.c:(.init.text+0xdb): undefined reference to `__stop_runtime_shift_d_hash_shift'
dcache.c:(.init.text+0xe2): undefined reference to `__start_runtime_ptr_dentry_hashtable'
dcache.c:(.init.text+0xe8): undefined reference to `__stop_runtime_ptr_dentry_hashtable'
dcache.c:(.init.text+0xfb): undefined reference to `__stop_runtime_ptr_dentry_hashtable'
scripts/Makefile.vmlinux:34: recipe for target 'vmlinux' failed
make[3]: *** [vmlinux] Error 1
Makefile:1156: recipe for target 'vmlinux' failed
make[2]: *** [vmlinux] Error 2
/Volumes/CaseSensitive/master/Makefile:347: recipe for target '__build_one_by_one' failed
make[1]: *** [__build_one_by_one] Error 2
Makefile:224: recipe for target '__sub-make' failed
make: *** [__sub-make] Error 2
And ARM64 fails with
fs/dcache.o: In function `vfs_caches_init_early':
dcache.c:(.init.text+0x10c): undefined reference to `__start_runtime_shift_d_hash_shift'
aarch64-linux-gnu-ld: fs/dcache.o: relocation R_AARCH64_ADR_PREL_PG_HI21 against external symbol `__start_runtime_shift_d_hash_shift' can not be used when making a shared object; recompile with -fPIC
dcache.c:(.init.text+0x110): undefined reference to `__stop_runtime_shift_d_hash_shift'
aarch64-linux-gnu-ld: fs/dcache.o: relocation R_AARCH64_ADR_PREL_PG_HI21 against external symbol `__stop_runtime_shift_d_hash_shift' can not be used when making a shared object; recompile with -fPIC
dcache.c:(.init.text+0x11c): undefined reference to `__start_runtime_shift_d_hash_shift'
dcache.c:(.init.text+0x124): undefined reference to `__stop_runtime_shift_d_hash_shift'
dcache.c:(.init.text+0x194): undefined reference to `__start_runtime_ptr_dentry_hashtable'
aarch64-linux-gnu-ld: fs/dcache.o: relocation R_AARCH64_ADR_PREL_PG_HI21 against external symbol `__start_runtime_ptr_dentry_hashtable' can not be used when making a shared object; recompile with -fPIC
dcache.c:(.init.text+0x198): undefined reference to `__stop_runtime_ptr_dentry_hashtable'
aarch64-linux-gnu-ld: fs/dcache.o: relocation R_AARCH64_ADR_PREL_PG_HI21 against external symbol `__stop_runtime_ptr_dentry_hashtable' can not be used when making a shared object; recompile with -fPIC
dcache.c:(.init.text+0x19c): undefined reference to `__start_runtime_ptr_dentry_hashtable'
dcache.c:(.init.text+0x1a0): undefined reference to `__stop_runtime_ptr_dentry_hashtable'
fs/dcache.o: In function `vfs_caches_init':
dcache.c:(.init.text+0x33c): undefined reference to `__start_runtime_shift_d_hash_shift'
aarch64-linux-gnu-ld: fs/dcache.o: relocation R_AARCH64_ADR_PREL_PG_HI21 against external symbol `__start_runtime_shift_d_hash_shift' can not be used when making a shared object; recompile with -fPIC
dcache.c:(.init.text+0x340): undefined reference to `__stop_runtime_shift_d_hash_shift'
aarch64-linux-gnu-ld: fs/dcache.o: relocation R_AARCH64_ADR_PREL_PG_HI21 against external symbol `__stop_runtime_shift_d_hash_shift' can not be used when making a shared object; recompile with -fPIC
dcache.c:(.init.text+0x34c): undefined reference to `__start_runtime_shift_d_hash_shift'
dcache.c:(.init.text+0x354): undefined reference to `__stop_runtime_shift_d_hash_shift'
dcache.c:(.init.text+0x3c4): undefined reference to `__start_runtime_ptr_dentry_hashtable'
aarch64-linux-gnu-ld: fs/dcache.o: relocation R_AARCH64_ADR_PREL_PG_HI21 against external symbol `__start_runtime_ptr_dentry_hashtable' can not be used when making a shared object; recompile with -fPIC
dcache.c:(.init.text+0x3c8): undefined reference to `__stop_runtime_ptr_dentry_hashtable'
aarch64-linux-gnu-ld: fs/dcache.o: relocation R_AARCH64_ADR_PREL_PG_HI21 against external symbol `__stop_runtime_ptr_dentry_hashtable' can not be used when making a shared object; recompile with -fPIC
dcache.c:(.init.text+0x3cc): undefined reference to `__start_runtime_ptr_dentry_hashtable'
dcache.c:(.init.text+0x3d0): undefined reference to `__stop_runtime_ptr_dentry_hashtable'
scripts/Makefile.vmlinux:34: recipe for target 'vmlinux' failed
make[3]: *** [vmlinux] Error 1
Makefile:1156: recipe for target 'vmlinux' failed
make[2]: *** [vmlinux] Error 2
/Volumes/CaseSensitive/master/Makefile:347: recipe for target '__build_one_by_one' failed
make[1]: *** [__build_one_by_one] Error 2
Makefile:224: recipe for target '__sub-make' failed
make: *** [__sub-make] Error 2
The only hint I have is that Linus did write this change...
https://lore.kernel.org/lkml/CAHk-=wiPSnaCczHp3Jy=kFjfqJa7MTQg6jht_FwZCxOnpsi4Vw@mail.gmail.com/T/
I can of course revert commits e3c92e81711d14 and 94a2bc0f611cd9, but this is blasphemy...
Nevertheless, here is the tree with reverts: https://git.goldelico.com/?p=letux-kernel.git;a=shortlog;h=refs/heads/letux-6.11-rc1
You can also check out 256630213bd9127b0530661f3c4172a6483ccf70 without the reverts to try on your compilers.
Any better ideas?
BR,
Nikolaus
More information about the Letux-kernel
mailing list