Messages in this thread Patch in this message | | | Date | Fri, 24 Oct 2008 17:09:49 +0600 | From | "Rakib Mullick" <> | Subject | Re: [PATCH -mm] ftrace : Fix section mismatch warning. |
| |
On 10/22/08, Ingo Molnar <mingo@elte.hu> wrote: > > * Ingo Molnar <mingo@elte.hu> wrote: > >> >> * Rakib Mullick <rakib.mullick@gmail.com> wrote: >> >> > WARNING: arch/x86/kernel/built-in.o(.text+0x11b41): Section mismatch >> > in reference from the variable ftrace_test_p6nop to the function >> > .init.text:ftrace_dyn_arch_init() >> > The function ftrace_test_p6nop() references >> > the function __init ftrace_dyn_arch_init(). >> > This is often because ftrace_test_p6nop lacks a __init >> > annotation or the annotation of ftrace_dyn_arch_init is wrong. >> > >> > WARNING: arch/x86/kernel/built-in.o(.text+0x11b4b): Section mismatch >> > in reference from the variable ftrace_test_nop5 to the function >> > .init.text:ftrace_dyn_arch_init() >> > The function ftrace_test_nop5() references >> > the function __init ftrace_dyn_arch_init(). >> > This is often because ftrace_test_nop5 lacks a __init >> > annotation or the annotation of ftrace_dyn_arch_init is wrong. >> > >> > This patch fixes the above warnings. Introduced by >> > 'linux-next.patch'(2.6.27-rc5-mm1-broken-out). >> > Thanks. >> > >> > Signed-off-by: Md.Rakib H. Mullick(rakib.mullick@gmail.com) >> >> applied to tip/tracing/urgent, thanks! > > actually, this patch is wrong: the problem highlighted in that warning > is that ftrace_test_p6nop is non-__init while ftrace_dyn_arch_init() is > __init. So the proper solution is to mark ftrace_test_p6nop init as > well. (it's an assembly label so thus slightly more complex than usual, > but doable.)
Does the following solves the problem? Thanks.
--- linux-2.6-orig/arch/x86/kernel/ftrace.c 2008-10-24 16:35:48.000000000 +0600 +++ linux-2.6/arch/x86/kernel/ftrace.c 2008-10-24 16:40:09.000000000 +0600 @@ -129,7 +129,7 @@ int __init ftrace_dyn_arch_init(void *da asm volatile ( "jmp ftrace_test_jmp\n" /* This code needs to stay around */ - ".section .text, \"ax\"\n" + ".section .text.init, \"ax\"\n" "ftrace_test_jmp:" "jmp ftrace_test_p6nop\n" "nop\n" > > Ingo >
| |