-
Notifications
You must be signed in to change notification settings - Fork 11
Description
So, I've managed to merge LTO changes from this github repository to a ARM Linux 3.4 kernel.
With plugin enabled gcc-ar, I've managed to get almost every errors passed until this happened;
LDFINAL .tmp_vmlinux1
/tmp/ccxBqOkb.ltrans31.ltrans.o: In function kernel_thread': ccxBqOkb.ltrans31.o:(.text+0x6a74): undefined reference tokernel_thread_exit'
ccxBqOkb.ltrans31.o:(.text+0x6a78): undefined reference to kernel_thread_helper' ccxBqOkb.ltrans31.o:(.text+0x6a8c): undefined reference tokernel_thread_exit'
ccxBqOkb.ltrans31.o:(.text+0x6a90): undefined reference to kernel_thread_helper' kprobe_handler' referenced in section .kprobes.text' of /tmp/ccxBqOkb.ltrans31.ltrans.o: defined in discarded section.text' of arch/arm/kernel/built-in.o (symbol from plugin)
collect2: error: ld returned 1 exit status
make: *** [.tmp_vmlinux1] Error 1
The 'kernel_thread', 'kernel_thread_exit', 'kernel_thread_helper' is declared in arch/arm/kernel/process.c, but it's "asm" function seems to be not working with LTO.
How can I fix those errors??
Thanks!
PS1. My kernel has CONFIG_ARM_UNWIND enabled;
PS2. The latest Linux kernels apparently doesn't have those kernel_thread functions on arch/arm/kernel/process.c.