[PATCH] Linking of shared libraries for MIPS little-endian 32-bit target
simon at atanasyan.com
Tue Nov 12 13:14:35 PST 2013
Hi Bigcheese, shankarke, ruiu,
The patch implements linking of shared libraries for MIPS little-endian 32-bit target. Now supported a limited set of relocations and linking is possible in trivial cases only.
The following are the most significant peculiarities of MIPS target:
- MIPS ABI requires some special tags in the dynamic table.
- GOT consists of two parts local and global. The local part contains entries refer locally visible symbols. The global part contains entries refer global symbols.
- Entries in the .dynsym section which have corresponded entries in the GOT should be:
# Emitted at the end of .dynsym section
# Sorted accordingly to theirs GOT counterparts
- There are “paired” relocations. One or more R_MIPS_HI16 and R_MIPS_GOT16 relocations should be followed by R_MIPS_LO16 relocation. To calculate result of R_MIPS_HI16 and R_MIPS_GOT16 relocations we need to combine addends from these relocations and paired R_MIPS_LO16 relocation.
Could you please review the patch? Any suggestions or objections are very appreciated.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 47561 bytes
Desc: not available
More information about the llvm-commits