linux-mips-fnet
[Top] [All Lists]

dynamic linking

To: linux-mips@fnet.fr
Subject: dynamic linking
From: advanc@dial.eunet.ch (Advanced Communication Networks S.A.)
Date: Tue, 13 Aug 1996 17:45:20 GMT
Hi,

Some questions about ELF dynamic linking on a mips-based machine:

1. Is there anywhere some sources available (even if not fully operational)?
   It would certainly answer to my questions.

If not, then

2. Is the dynamic linker a shared object (as for the x86, m68k,. architectures)
   or has it to handle virtual address overlap between itself and the
   application ?

3. Supposing that it is a shared object, I wrote a skeleton adapted
   from ld.so-1.7.14 to see what's going on.

   Since it is a shared object, the first thing it has to do is to
   relocate itself. Each entry in its .rel.dyn section refers to the
   same symbol, .rodata, and have the R_MIPS_REL32 type. The SYSV
   ABI MIPS supplement says that the calculation for this relocation
   type is : A - EA + S where A is the addend, EA is either the symbol
   st_value plus displacement or the value in the corresponding GOT
   entry, depending on the value of the DT_MIPS_GOTSYM tag, and S, in
   this case (a local symbol denoting a section), is the original
   sh_addr minus the final sh_addr. What do they mean by "original"
   sh_addr and "final" sh_addr ?

Thanks,

Robin

P.S.

Ralf, could you add us to the mailing list (our address: advanc@dial.eunet.ch)

<Prev in Thread] Current Thread [Next in Thread>
  • dynamic linking, Advanced Communication Networks S.A. <=