1. 06 8月, 2012 1 次提交
    • R
      mips dynamic linker support · babf8201
      Rich Felker 提交于
      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.
      babf8201