Re: How to link a .o with all modules

From
Sam Ravnborg <hidden>
Date
2008-05-08 20:21:36
Also in
lkml
Reply to
Kumar Gala, 2008-05-08
On Thu, May 08, 2008 at 09:16:10AM -0500, Kumar Gala wrote:
On May 5, 2008, at 3:44 PM, Sam Ravnborg wrote:
quoted
quoted
quoted

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.
quoted
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

	Sam
Thread (11 messages) 11 messages, 4 authors, last reply 2008-06-03
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help