Messages in this thread | | | Date | Mon, 14 Feb 2011 14:32:44 +0200 | From | Sergey Senozhatsky <> | Subject | Re: [PATCH] x86: fix section mismatch in reference from native_play_dead |
| |
Hello,
On (02/14/11 13:25), Ingo Molnar wrote: > * Sergey Senozhatsky <sergey.senozhatsky@gmail.com> wrote: > > > Fix > > > > WARNING: arch/x86/kernel/built-in.o(.text+0x19cde): Section mismatch in reference from > > the function native_play_dead() to the function .cpuinit.text:mwait_usable() > > The function native_play_dead() references the function __cpuinit mwait_usable(). > > > > > > Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com> > > > > --- > > > > arch/x86/kernel/smpboot.c | 2 +- > > 1 files changed, 1 insertions(+), 1 deletions(-) > > > > diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c > > index 0cbe8c0..0b8c6c9 100644 > > --- a/arch/x86/kernel/smpboot.c > > +++ b/arch/x86/kernel/smpboot.c > > @@ -1467,7 +1467,7 @@ static inline void hlt_play_dead(void) > > } > > } > > > > -void native_play_dead(void) > > +void __cpuinit native_play_dead(void) > > { > > play_dead_common(); > > tboot_shutdown(TB_SHUTDOWN_WFS); > > I think the right fix is Boris's fix below. Agreed? > [..] > diff --git a/arch/x86/include/asm/cpu.h b/arch/x86/include/asm/cpu.h > index 6e6e755..4564c8e 100644 > --- a/arch/x86/include/asm/cpu.h > +++ b/arch/x86/include/asm/cpu.h > @@ -32,6 +32,6 @@ extern void arch_unregister_cpu(int); > > DECLARE_PER_CPU(int, cpu_state); > > -int __cpuinit mwait_usable(const struct cpuinfo_x86 *); > +int mwait_usable(const struct cpuinfo_x86 *); > > #endif /* _ASM_X86_CPU_H */ > diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c > index e764fc0..3c189e9 100644 > --- a/arch/x86/kernel/process.c > +++ b/arch/x86/kernel/process.c > @@ -506,7 +506,7 @@ static void poll_idle(void) > #define MWAIT_ECX_EXTENDED_INFO 0x01 > #define MWAIT_EDX_C1 0xf0 > > -int __cpuinit mwait_usable(const struct cpuinfo_x86 *c) > +int mwait_usable(const struct cpuinfo_x86 *c) > { > u32 eax, ebx, ecx, edx; > >
`int mwait_usable(..)' is called from `void __cpuinit select_idle_routine(...)'
I think we still have section mismatch in this case. Is it correct?
Sergey [unhandled content-type:application/pgp-signature] | |