Skip to content
  1. Feb 01, 2017
    • Peter Smith's avatar
      [ELF] Use SyntheticSections for Thunks · 3a52eb00
      Peter Smith authored
          
      Thunks are now implemented by redirecting the relocation to the
      symbol S, to a symbol TS in a Thunk. The Thunk will transfer control
      to S. This has the following implications:
      - All the side-effects of Thunks happen within createThunks()
      - Thunks are no longer stored in InputSections and Symbols no longer
        need to hold a pointer to a Thunk
      - The synthetic Thunk sections need to be merged into OutputSections
          
      This implementation is almost a direct conversion of the existing
      Thunks with the following exceptions:
      - Mips LA25 Thunks are placed before the InputSection that defines
        the symbol that needs a Thunk.
      - All ARM Thunks are placed at the end of the OutputSection of the
        first caller to the Thunk.
          
      Range extension Thunks are not supported yet so it is optimistically
      assumed that all Thunks can be reused.
      
      This is a recommit of r293283 with a fixed comparison predicate as
      std::merge requires a strict weak ordering.
      
      Differential revision: https://reviews.llvm.org/D29327
      
      llvm-svn: 293757
      3a52eb00
    • George Rimar's avatar
      [ELF] - Recommit r293749. Improve comment. NFC. · 69750755
      George Rimar authored
      llvm-svn: 293751
      69750755
    • George Rimar's avatar
      [ELF] - Revert r293749 · 091f9b35
      George Rimar authored
      Accidentally lost the commit title and message,
      will recommit.
      
      llvm-svn: 293750
      091f9b35
    • George Rimar's avatar
      (no commit message) · f46e54f0
      George Rimar authored
      llvm-svn: 293749
      f46e54f0
    • George Rimar's avatar
      [ELF] - Linkerscript: properly mark minus expression with non-absolute flag · cc4d3e57
      George Rimar authored
      This is alternative to D28857 which was incorrect.
      
      One of linux scripts contains:
      
      vvar_start = . - 2 * (1 << 12);
      vvar_page = vvar_start;
      vvar_vsyscall_gtod_data = vvar_page + 128;
      Previously we did not mark first expression as non-absolute,
      though it contains location counter.
      
      And LLD failed with error:
      relocation R_X86_64_PC32 cannot refer to absolute symbol
      
      This patch should fix the issue, and opens road for doing the same for other operators
      (though not clear if that is needed).
      
      Differential revision: https://reviews.llvm.org/D29332
      
      llvm-svn: 293748
      cc4d3e57
  2. Jan 31, 2017
  3. Jan 30, 2017
  4. Jan 29, 2017
  5. Jan 28, 2017
  6. Jan 27, 2017
    • Rafael Espindola's avatar
      Revert commits r293276 and r293278. · fe12450e
      Rafael Espindola authored
          [ELF] Fixed formatting. NFC
      
      and
      
          [ELF] Bypass section type check
      
          Differential revision: https://reviews.llvm.org/D28761
      
      They do the opposite of what was asked for in the code review.
      
      llvm-svn: 293320
      fe12450e
    • Rafael Espindola's avatar
      Fix and simplify the reporting of undefined symbols. · 403b093e
      Rafael Espindola authored
      Now reportUndefined only has to look at Config->UnresolvedSymbols and
      the symbol. getUnresolvedSymbolOption does all the hard work of
      mapping options like -shared and -z defs to one of the
      UnresolvedPolicy enum entries.
      
      The critical fix is that now "-z defs --warn-unresolved-symbols" only
      warns.
      
      llvm-svn: 293290
      403b093e
    • Peter Smith's avatar
      [ELF][ARM] Use SyntheticSections for Thunks · 5191c6f9
      Peter Smith authored
          
      Thunks are now implemented by redirecting the relocation to the
      symbol S, to a symbol TS in a Thunk. The Thunk will transfer control
      to S. This has the following implications:
      - All the side-effects of Thunks happen within createThunks()
      - Thunks are no longer stored in InputSections and Symbols no longer
        need to hold a pointer to a Thunk
      - The synthetic Thunk sections need to be merged into OutputSections
          
      This implementation is almost a direct conversion of the existing
      Thunks with the following exceptions:
      - Mips LA25 Thunks are placed before the InputSection that defines
        the symbol that needs a Thunk.
      - All ARM Thunks are placed at the end of the OutputSection of the
        first caller to the Thunk.
          
      Range extension Thunks are not supported yet so it is optimistically
      assumed that all Thunks can be reused.
      
      Differential Revision:  https://reviews.llvm.org/D29129
      
      llvm-svn: 293283
      5191c6f9
    • Eugene Leviant's avatar
      [ELF] Fixed formatting. NFC · bcff495b
      Eugene Leviant authored
      llvm-svn: 293278
      bcff495b
    • Eugene Leviant's avatar
      [ELF] Bypass section type check · 8b7cadcf
      Eugene Leviant authored
      Differential revision: https://reviews.llvm.org/D28761
      
      llvm-svn: 293276
      8b7cadcf
    • Simon Dardis's avatar
      [lld][mips] Correct tests for mips64 implying PIC. · 73190d39
      Simon Dardis authored
      Currently LLVM can only generate PIC code for MIPS64 with the N64 as
      it uses the idiom "isPositionIndependent() || IsABI_N64()" throughout the
      MIPS backend. r293164 changed this, causing test failures for LLD.
      
      This patch changes the tests minimally to preserve existing test coverage
      and one case where the test was "right" in the wrong circumstance.
      
      Reviewers: atanasyan
      
      Differential Revision: https://reviews.llvm.org/D29194
      
      llvm-svn: 293275
      73190d39
  7. Jan 26, 2017
  8. Jan 25, 2017
Loading