Skip to content
  1. Mar 16, 2017
  2. Mar 15, 2017
  3. Mar 14, 2017
  4. Mar 09, 2017
    • George Rimar's avatar
      [ELF] - Implemented -znotext · 0a7412f0
      George Rimar authored
      gold linker manual describes them as:
      
      -z text	Do not permit relocations in read-only segments
      -z notext Permit relocations in read-only segments (default)
      
      In LLD default is to not permit them. Patch implements -z notext.
      
      Differential revision: https://reviews.llvm.org/D30530
      
      llvm-svn: 297366
      0a7412f0
  5. Mar 08, 2017
  6. Mar 07, 2017
  7. Mar 06, 2017
  8. Mar 01, 2017
  9. Feb 28, 2017
  10. Feb 27, 2017
  11. Feb 24, 2017
  12. Feb 23, 2017
  13. Feb 21, 2017
  14. Feb 20, 2017
  15. Feb 19, 2017
  16. Feb 17, 2017
    • Rui Ueyama's avatar
      Rename getAliases -> getSymbolsAt. · 85c2201f
      Rui Ueyama authored
      The previous name caused a little confusion because the function not
      only returns aliases but a given symbol itself too.
      
      llvm-svn: 295408
      85c2201f
  17. Feb 16, 2017
    • Rui Ueyama's avatar
      Use isRelExprOneOf. · cd19b039
      Rui Ueyama authored
      llvm-svn: 295289
      cd19b039
    • Rui Ueyama's avatar
      Removes a trivial accessor. · f829e8c9
      Rui Ueyama authored
      llvm-svn: 295288
      f829e8c9
    • Rui Ueyama's avatar
      Do not overload a one-bit variable, NeedsCopyOrPltAddr. · 924b361d
      Rui Ueyama authored
      This patch removes NeedsCopyOrPltAddr and instead add two variables,
      NeedsCopy and NeedsPltAddr. This uses one more bit in Symbol class,
      but the actual size doesn't increase because we had unused bits.
      This should improve code readability.
      
      llvm-svn: 295287
      924b361d
    • Rui Ueyama's avatar
      Split a function and add comments. · 750c11c0
      Rui Ueyama authored
      This is slightly inefficient than the previous code, but that is really
      negligible as this function is usually called at most only a few times.
      
      llvm-svn: 295282
      750c11c0
    • Rui Ueyama's avatar
      Add CopyRelSection instances to BSS in the regular way. · da5cc846
      Rui Ueyama authored
      Previously, space in a BSS section for copy relocations are reserved
      in a special way. We directly manipulated size of the BSS section.
      r294577 changed the way of doing it. Now, we create an instance of
      CopyRelSection (which is a synthetic input section) for each copy
      relocation.
      
      This patch removes the remains of the old way and add CopyRelSections
      to BSS sections using `addSections` function, which is the usual
      way to add an input section to an output section.
      
      llvm-svn: 295278
      da5cc846
    • Rafael Espindola's avatar
      Addends should always be signed. · 7386ceac
      Rafael Espindola authored
      In the target dependent code we already always return a int64_t. In
      the target independent code we carefully use uintX_t, which has the
      same result given 2 complement rules.
      
      This just simplifies the code to use int64_t everywhere.
      
      llvm-svn: 295263
      7386ceac
  18. Feb 14, 2017
  19. Feb 09, 2017
    • Peter Smith's avatar
      [ELF] Use synthetic section to hold copy relocation · ebfe9941
      Peter Smith authored
          
      When we need a copy relocation we create a synthetic SHT_NOBITS
      section that contains the right amount of ZI and assign it to either
      .bss or .rel.ro.bss as appropriate. This allows the dynamic relocation
      to be placed on the InputSection, removing the last case where a
      dynamic relocation is stored as an offset from the OutputSection. This
      has the side effect that we can run assignOffsets() after scanRelocs()
      without losing the additional ZI needed for the copy relocations.
      
      Differential Revision: https://reviews.llvm.org/D29637
      
      llvm-svn: 294577
      ebfe9941
  20. 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
  21. Jan 28, 2017
  22. Jan 27, 2017
    • 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
Loading