about summary refs log tree commit diff
path: root/src/ldso/mips/start.s
Commit message (Collapse)AuthorAgeFilesLines
* fix bug computing argc when invoking ld-musl-mips.so.1 progname ...Rich Felker2012-08-171-3/+3
|
* mips dynamic linker supportRich Felker2012-08-051-0/+46
not heavily tested, but the basics are working. the basic concept is that the dynamic linker entry point code invokes a pure-PIC (no global accesses) C function in reloc.h to perform the early GOT relocations needed to make the dynamic linker itself functional, then invokes __dynlink like on other archs. since mips uses some ugly arch-specific hacks to optimize relocating the GOT (rather than just using the normal DT_REL[A] tables like on other archs), the dynamic linker has been modified slightly to support calling arch-specific relocation code in reloc.h. most of the actual mips-specific behavior was developed by reading the output of readelf on libc.so and simple executable files. i could not find good reference information on which relocation types need to be supported or their semantics, so it's possible that some legitimate usage cases will not work yet.