Skip to content
  1. Jun 23, 2016
    • Rui Ueyama's avatar
      Fix a bug that MIPS thunks can overwrite other section contents. · 809d8e2d
      Rui Ueyama authored
      Peter Smith found while trying to support thunk creation for ARM that
      LLD sometimes creates broken thunks for MIPS. The cause of the bug is
      that we assign file offsets to input sections too early. We need to
      create all sections and then assign section offsets because appending
      thunks changes file offsets for all following sections.
      
      This patch separates the pass to assign file offsets from thunk
      creation pass. This effectively reverts r265673.
      
      Differential Revision: http://reviews.llvm.org/D21598
      
      llvm-svn: 273532
      809d8e2d
  2. Jun 22, 2016
  3. Jun 21, 2016
  4. Jun 20, 2016
  5. 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
  6. Jun 17, 2016
Loading