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

This is a discussion on How to link the object files(.o) into one BIG object file with "Symbols partly located" ? - Embedded ; 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 ...

+ Reply to Thread
Results 1 to 3 of 3

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

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


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

    "tangkun" writes:

    > "Symbols partly located" is means:


    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.

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

    Paul Pluzhnikov 写道:

    > "tangkun" writes:
    >
    > > "Symbols partly located" is means:

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



    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 Thread