[PATCH] powerpc: Remove modpost warning with start_secondary (Modified by Milton Miller)
Milton Miller
miltonm at bga.com
Fri Dec 5 04:16:22 EST 2008
[oops forgot to cc the list]
Nathan Lynch wrote at 2008-12-03 17:43:40:
> Kumar Gala wrote:
>> On Dec 2, 2008, at 11:31 PM, Nathan Lynch wrote:
>>> Kumar Gala wrote:
>>>> WARNING: vmlinux.o(.text+0x2aa): Section mismatch in reference from
>>>> the variable __secondary_start to the function
>>>> .devinit.text:start_secondary()
>>>> The function __secondary_start() references
>>>> the function __devinit start_secondary().
>>>>
>>>> start_secondary gets called by __secondary_start which is in asm
>>>> code so its
>>>> not marked as __devinit. Its easier to just remove the __devinit
>>>> from
>>>> start_secondary than try and deal with __secondary_start.
>>>
>>> Which just gets another mismatch warning here:
>>>
>>> WARNING: arch/powerpc/kernel/built-in.o(.text+0x23cc4): Section
>>> mismatch in reference from the function .start_secondary() to the
>>> function .devinit.text:.smp_store_cpu_info()
>>> The function .start_secondary() references
>>> the function __devinit .smp_store_cpu_info().
>>> This is often because .start_secondary lacks a __devinit
>>> annotation or the annotation of .smp_store_cpu_info is wrong.
And other architectures want this to be cpuinit, the patch is held up
because of powerpc:
http://ozlabs.org/pipermail/linuxppc-dev/2008-November/064897.html
>>> Isn't there a better way to address this? It doesn't seem right to
>>> increase the kernel's memory usage to get rid of a modpost warning.
I agree. And its easy: move the asm code to the right section with the
nifty macros in linux/init.h.
We can use the whitelist of .text.head and also use use cpuinit.
I had a patch last July that went in this direction, but it was tangled
with the relocatable kernel patches and badly timed.
http://ozlabs.org/pipermail/linuxppc-dev/2008-July/059717.html
hmm, I don't see 1/3 that cleaned up the function entry macro repition.
I'll try to revive them and bring them up to the current tree.
>>
>> Fair.. what defconfig did you build?
>
> Try ppc64_defconfig with HOTPLUG_CPU=n.
milton
More information about the Linuxppc-dev
mailing list