regression in 6.6.70: kexec_core.c:1075:(.text+0x1bffd0): undefined reference to `machine_crash_shutdown'
Subsystems (2)
Hi!
When updating the Alpine Linux kernel to 6.6.70 I bumped into a new compile error:
LD .tmp_vmlinux.kallsyms1
ld: vmlinux.o: in function `__crash_kexec':
/home/ncopa/aports/main/linux-lts/src/linux-6.6/kernel/kexec_core.c:1075:(.text+0x1bffd0): undefined reference to `machine_crash_shutdown'
ld: vmlinux.o: in function `do_kexec_load':
/home/ncopa/aports/main/linux-lts/src/linux-6.6/kernel/kexec.c:166:(.text+0x1c1b4e): undefined reference to `arch_kexec_protect_crashkres'
ld: /home/ncopa/aports/main/linux-lts/src/linux-6.6/kernel/kexec.c:105:(.text+0x1c1b94): undefined reference to `arch_kexec_unprotect_crashkres' make[2]: *** [/home/ncopa/aports/main/linux-lts/src/linux-6.6/scripts/Makefile.vmlinux:37: vmlinux] Error 1
make[1]: *** [/home/ncopa/aports/main/linux-lts/src/linux-6.6/Makefile:1164: vmlinux] Error 2
make: ***
[/home/ncopa/aports/main/linux-lts/src/linux-6.6/Makefile:234:
__sub-make] Error 2
$ grep -E '(CRASH_CORE|_KEXEC)' .config CONFIG_CRASH_CORE=y CONFIG_KEXEC_CORE=y CONFIG_KEXEC=y # CONFIG_KEXEC_FILE is not set # CONFIG_KEXEC_JUMP is not set CONFIG_ARCH_SUPPORTS_KEXEC=y CONFIG_ARCH_SUPPORTS_KEXEC_FILE=y CONFIG_ARCH_SUPPORTS_KEXEC_PURGATORY=y CONFIG_ARCH_SUPPORTS_KEXEC_SIG=y CONFIG_ARCH_SUPPORTS_KEXEC_SIG_FORCE=y CONFIG_ARCH_SUPPORTS_KEXEC_BZIMAGE_VERIFY_SIG=y CONFIG_ARCH_SUPPORTS_KEXEC_JUMP=y
Looking at the git history I notice this commit:
Quoted 10 lines
From
e5b1574a8ca28c40cf53eda43f6c3b016ed41e27Mon Sep 17 00:00:00 2001
From: Baoquan He <[email protected]>
Date: Wed, 24 Jan 2024 13:12:46 +0800
Subject: x86, crash: wrap crash dumping code into crash related ifdefs[ Upstream commit
a4eeb2176d89fdf2785851521577b94b31690a60]Now crash codes under
kernel/folder has been split out from kexec code, crash dumping can be separated from kexec reboot in config items on x86 with some adjustments.
So a wild guess is that the commit(s) that splits out crash codes under kernel/ directory from kexec code also needs to be backported to linux-6.6.y?
Thanks!
-nc
Greg KH
maintainerQuoted 4 lines · Natanael Copa
Hi!
When updating the Alpine Linux kernel to 6.6.70 I bumped into a new compile error:
Quoted 11 lines
LD .tmp_vmlinux.kallsyms1
ld: vmlinux.o: in function `__crash_kexec':
/home/ncopa/aports/main/linux-lts/src/linux-6.6/kernel/kexec_core.c:1075:(.text+0x1bffd0): undefined reference to `machine_crash_shutdown'
ld: vmlinux.o: in function `do_kexec_load':
/home/ncopa/aports/main/linux-lts/src/linux-6.6/kernel/kexec.c:166:(.text+0x1c1b4e): undefined reference to `arch_kexec_protect_crashkres'
ld: /home/ncopa/aports/main/linux-lts/src/linux-6.6/kernel/kexec.c:105:(.text+0x1c1b94): undefined reference to `arch_kexec_unprotect_crashkres' make[2]: *** [/home/ncopa/aports/main/linux-lts/src/linux-6.6/scripts/Makefile.vmlinux:37: vmlinux] Error 1
make[1]: *** [/home/ncopa/aports/main/linux-lts/src/linux-6.6/Makefile:1164: vmlinux] Error 2
make: ***
[/home/ncopa/aports/main/linux-lts/src/linux-6.6/Makefile:234:
__sub-make] Error 2
Should now be fixed with the 6.6.71 release. If not, please let me know.
thanks,
greg k-h