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

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
Reply to
tangkun
Loading thread data ...

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.
Reply to
Paul Pluzhnikov

Paul Pluzhnikov =E5=86=99=E9=81=93=EF=BC=9A

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

Reply to
tangkun

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.