Skip to content
  1. Jan 10, 2017
  2. Jan 05, 2017
    • Rafael Espindola's avatar
      Move code to the .cpp file. NFC. · bd3ab097
      Rafael Espindola authored
      llvm-svn: 291113
      bd3ab097
    • Rafael Espindola's avatar
      Detemplate SectionKey. NFC. · 7244708f
      Rafael Espindola authored
      llvm-svn: 291110
      7244708f
    • Rafael Espindola's avatar
      Change which input sections we concatenate · 33713983
      Rafael Espindola authored
      After Mark's patch I was wondering what was the rationale for the ELF
      spec requiring us to merge only sections with matching flags and
      types. I tried emailing
      https://groups.google.com/forum/#!forum/generic-abi, but looks like my
      emails are not being posted (the list is probably moderated). I
      emailed Cary Coutant instead.
      
      Cary pointed out that the section was a late addition and didn't got
      the scrutiny it deserved. Given that and the problems found by
      implementing the letter of the standard, I propose changing lld to
      merge all sections with the same name and issue errors if the types or
      some critical flags are different.
      
      This should allow an unmodified firefox linked with lld to run.
      
      This also merges some code with the linkerscript path.
      
      llvm-svn: 291107
      33713983
  3. Dec 20, 2016
    • Rui Ueyama's avatar
      Simplify type of Config->SymbolOrderingFile. · 31270311
      Rui Ueyama authored
      That variable was of type DenseMap<StringRef, unsigned>, but the
      unsigned numbers needed to be monotonicly increasing numbers because
      the implementation that used the variable depended on that fact.
      That was an implementation detail and shouldn't have leaked into Config.
      
      This patch simplifies its type to std::vector<StringRef>.
      
      llvm-svn: 290151
      31270311
  4. Dec 19, 2016
  5. Nov 29, 2016
  6. Nov 26, 2016
  7. Nov 25, 2016
  8. Nov 22, 2016
  9. Nov 21, 2016
  10. Nov 18, 2016
  11. Nov 17, 2016
  12. Nov 16, 2016
  13. Nov 15, 2016
    • Eugene Leviant's avatar
      [ELF] Convert DynamicSection to input section. · 6380ce22
      Eugene Leviant authored
      This patch introduces the following changes:
      - DynamicSection now inherits InputSection<ELFT> and was moved
        to SyntheticSections.h/.cpp.
      - Link and Entsize fields of DynamicSection are propagated to 
        its output section
      - In<ELFT>::SyntheticSections was removed.
      - Finalization of synthetic sections was removed from 
        OutputSection<ELFT>::finalize. Now finalizeSyntheticSections is
        used instead.
      
      Differential revision: https://reviews.llvm.org/D26603
      
      llvm-svn: 286950
      6380ce22
  14. Nov 14, 2016
  15. Nov 11, 2016
  16. Nov 10, 2016
  17. Nov 09, 2016
    • Simon Atanasyan's avatar
      [ELF][MIPS] Convert .MIPS.abiflags section to synthetic input section · fa03b0fa
      Simon Atanasyan authored
      Previously, we have both input and output section for .MIPS.abiflags.
      Now we have only one class for .MIPS.abiflags, which is MipsAbiFlagsSection.
      This class is a synthetic input section.
      
      .MIPS.abiflags sections are handled as regular sections until
      the control reaches Writer. Writer then aggregates all sections
      whose type is SHT_MIPS_ABIFLAGS to create a single synthesized
      input section. The synthesized section is then processed normally
      as if it came from an input file.
      
      llvm-svn: 286398
      fa03b0fa
    • Simon Atanasyan's avatar
      [ELF][MIPS] Convert .reginfo and .MIPS.options sections to synthetic input sections · ce02cf00
      Simon Atanasyan authored
      Previously, we have both input and output sections for .reginfo and
      .MIPS.options. Now for each such sections we have one synthetic input
      sections: MipsReginfoSection and MipsOptionsSection respectively.
      
      Both sections are handled as regular sections until the control reaches
      Writer. Writer then aggregates all sections whose type is SHT_MIPS_REGINFO
      or SHT_MIPS_OPTIONS to create a single synthesized input section. In that
      moment Writer also save GP0 value to the MipsGp0 field of the corresponding
      ObjectFile. This value required for R_MIPS_GPREL16 and R_MIPS_GPREL32
      relocations calculation.
      
      Differential revision: https://reviews.llvm.org/D26444
      
      llvm-svn: 286397
      ce02cf00
    • Rafael Espindola's avatar
      Split Header into individual fields. · 04a2e348
      Rafael Espindola authored
      This is similar to what was done for InputSection.
      
      With this the various fields are stored in host order and only
      converted to target order when writing.
      
      llvm-svn: 286327
      04a2e348
  18. Nov 08, 2016
  19. Nov 04, 2016
  20. Nov 02, 2016
  21. Nov 01, 2016
  22. Oct 21, 2016
    • Simon Atanasyan's avatar
      [ELF][MIPS] Put local GOT entries accessed via a 16-bit index first · bed04bf1
      Simon Atanasyan authored
      Some MIPS relocations used to access GOT entries are able to manipulate
      16-bit index. The other ones like R_MIPS_CALL_HI16/LO16 can handle
      32-bit indexes. 16-bit relocations are generated by default. The 32-bit
      relocations are generated by -mxgot flag passed to compiler. Usually
      these relocation are not mixed in the same code but files like crt*.o
      contain 16-bit relocations so even if all "user's" code compiled with
      -mxgot flag a few 16-bit relocations might come to the linking phase.
      
      Now LLD does not differentiate local GOT entries accessed via a 16-bit
      and 32-bit indexes. That might lead to relocation's overflow if 16-bit
      entries are allocated to far from the beginning of the GOT.
      
      The patch introduces new "part" of MIPS GOT dedicated to the local GOT
      entries accessed by 32-bit relocations. That allows to put local GOT
      entries accessed via a 16-bit index first and escape relocation's overflow.
      
      Differential revision: https://reviews.llvm.org/D25833
      
      llvm-svn: 284809
      bed04bf1
  23. Oct 20, 2016
Loading