How to link a .o with all modules
Kumar Gala
galak at kernel.crashing.org
Fri May 9 23:52:20 EST 2008
On May 8, 2008, at 3:22 PM, Sam Ravnborg wrote:
> On Thu, May 08, 2008 at 09:16:10AM -0500, Kumar Gala wrote:
>>
>> On May 5, 2008, at 3:44 PM, Sam Ravnborg wrote:
>>
>>>>>
>>>>>
>>>>> Let me know if this does address your question.
>>>>
>>>> The problem is MODPOST complains about undefined symbols:
>>>>
>>>> MODPOST 24 modules
>>>> ERROR: "_restgpr_20_x" [net/key/af_key.ko] undefined!
>>>> ERROR: "_restgpr_25_x" [net/key/af_key.ko] undefined!
>>>> ERROR: "_restgpr_30_x" [net/key/af_key.ko] undefined!
>>>
>>> I need a bit more context to try to analyse this.
>>> Where did you expect _restgpr_20_x to be defined.
>>> If in vmlinux then were they present in the
>>> Module.symvers file?
>>
>> No they aren't there since we I'm not EXPORT_SYMBOL() them. Should I
>> also be doing EXPORT_SYMBOL?
>
> So modpost claim it cannot find the symbols.
>
>>
>>> If in the linked in .o file - could you
>>> see the symbols using objdump.
>>
>> Yes.
>>
>> readelf -a:
>>
>> ...
>> Symbol table '.symtab' contains 113 entries:
>> Num: Value Size Type Bind Vis Ndx Name
>> ...
>> 5: 00000000 0 FUNC GLOBAL DEFAULT 1 _savegpr_14
>> 6: 00000000 0 FUNC GLOBAL DEFAULT 1 _save32gpr_14
>> ...
>
> Strange.
>
> I did not look closer.
> But it looks like the linker failed to resolve these symbols
> in the final link somehow - despite the symbols are present in
> the linked in .o file.
>
> Can you try to drop me the output of the relocation records for the
> finally linked .o file (the one with your .o file linked in).
>
> objdump -r IIRC
I'm assuming you mean objdump -r arch/powerpc/lib/built-in.o
-------------- next part --------------
A non-text attachment was scrubbed...
Name: reloc.dump.gz
Type: application/x-gzip
Size: 14925 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20080509/9817fc7a/attachment.bin>
-------------- next part --------------
More information about the Linuxppc-dev
mailing list