Skip to content
  1. Jun 22, 2016
    • Rui Ueyama's avatar
      Do not scan relocations twice for MIPS. · d2ada2ea
      Rui Ueyama authored
      Previously, relocations for MIPS were scanned twice; once in regular
      scanRelocs() and the other is in scanRelocsForThunks. In the former
      function, we computed types of relocations and skipped R_THUNK relocations.
      In the latter function, we computed the same value again and skipped
      all but R_THUNK relocations. It was wasteful. This patch fixes that.
      Now R_THUNK relocations are handled in the regular manner.
      
      llvm-svn: 273346
      d2ada2ea
  2. Jun 20, 2016
  3. Jun 19, 2016
    • Simon Atanasyan's avatar
      [ELF][MIPS] Support GOT entries for non-preemptible symbols with different addends · 4132511c
      Simon Atanasyan authored
      There are two motivations for this patch. The first one is a preparation
      for support MIPS TLS relocations. It might sound like a joke but for GOT
      entries related to TLS relocations MIPS ABI uses almost regular approach
      with creation of dynamic relocations for each GOT enty etc. But we need
      to separate these 'regular' TLS related entries from MIPS specific local
      and global parts of GOT. ABI declare simple solution - all TLS related
      entries allocated at the end of GOT after local/global parts. The second
      motivation it to support GOT relocations for non-preemptible symbols
      with addends. If we have more than one GOT relocations against symbol S
      with different addends we need to create GOT entries for each unique
      Symbol/Addend pairs.
      
      So we store all MIPS GOT entries in separate containers. For non-preemptible
      symbols we have to maintain two data structures. The first one is MipsLocal
      vector. Each entry corresponds to the GOT entry from the 'local' part
      of the GOT contains the symbol's address plus addend. The second one
      is MipsLocalMap. It is a map from Symbol/Addend pair to the GOT index.
      
      Differential Revision: http://reviews.llvm.org/D21297
      
      llvm-svn: 273127
      4132511c
  4. Jun 17, 2016
  5. Jun 10, 2016
  6. Jun 09, 2016
  7. Jun 08, 2016
  8. Jun 05, 2016
  9. Jun 04, 2016
  10. Jun 02, 2016
    • Rafael Espindola's avatar
      Start adding tlsdesc support for aarch64. · e37d13b9
      Rafael Espindola authored
      This is mostly extracted from http://reviews.llvm.org/D18960.
      
      The general idea for tlsdesc is that the two GD got entries are used
      for a function pointer and its argument. The dynamic linker sets
      both. In the non-dlopen case the dynamic linker sets the function to
      the identity and the argument to the offset in the tls block.
      
      All that the static linker has to do in the non-dlopen case is
      relocate the code to point to the got entries and create a dynamic
      relocation.
      
      The dlopen case is more complicated, but can be implemented in another patch.
      
      llvm-svn: 271569
      e37d13b9
  11. Jun 01, 2016
  12. May 28, 2016
  13. May 26, 2016
  14. May 25, 2016
  15. May 24, 2016
Loading