How to link the object files(.o) into one BIG object file with "Symbols partly located" ?

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
Hi,

"Symbols partly located" is means:


Link some .o files with option "-Ttext 0xXXXXXX" of "ld" (fixed the
offset of .text segment),
 So I want the "ld" will locate the .text with symbols those are
already exist in
 .o files .   keep the undefined symbols for an other follow link.


But ,"ld" will fail to output *BIG* .o file. Because there are
undefined symbols.


Please give your advice, thank you. (to the exclusion of dynmaic
library solution ,please)


ELF symbol table:


                  CONTENTS, READONLY
SYMBOL TABLE:
...
00007414 l     F .text  0000002c _ZN6CToolsD0Ev
00000604 l     O .rodata        00000008 _ZTI4CMgr
0000728c l     F .text  0000006c _ZN4CMgrD1Ev
000072f8 l     F .text  00000074 _ZN4CMgrD0Ev        <<< exits <<<<<
...
00000000         *UND*  00000000 _Unwind_SjLj_Unregister
00000000 g     F .text  000003dc _ZN9CSdhXcMgrC2EP3CNe
00000000         *UND*  00000000 _ZnwjmPKc
00000000         *UND*  00000000 _ZN8CAdapterC1Ev    << keep it for
link again<
00000530 g     O .rodata        00000068 _ZTV9CSdhXcMgr


thank you!


Tangkun


Re: How to link the object files(.o) into one BIG object file with "Symbols partly located" ?

Quoted text here. Click to load it

Doesn't "ld -r -o big.o -Ttext 0xXXXXX foo.o bar.o ..." do exactly what
you want?

Cheers,
--
In order to understand recursion you must first understand recursion.
Remove /-nsp/ for email.

Re: How to link the object files(.o) into one BIG object file with "Symbols partly located" ?
Paul Pluzhnikov E5%8699%E981%93EF%BC9A%

Quoted text here. Click to load it


Hi Paul,

   Thank for your advice.
   But ld with "-r" will output object with all symbols NOT located(the
output just
   like a Normal .o file, not doing any location).

   I want ld will output a "partial" located object:
   Those symbols already exisit in foo.o bar.o ... need be update into
all .text segment.
   And, keep the undefined(*UND*) symbols for ld again.


Cheers,

 Tangkun


Site Timeline