Skip to content

Fix asm for LTO on ARM #11

@arter97

Description

@arter97

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions