Skip to content
  1. Jun 07, 2017
    • Peter Smith's avatar
      [ELF] Convert Thunks to use InputSectionDescriptions · 8e791463
      Peter Smith authored
      Thunks are now generated per InputSectionDescription instead of per
      OutputSection. This allows created ThunkSections to be inserted directly
      into InputSectionDescription.
      
      Changes in this patch:
      - Loop over InputSectionDescriptions to find relocations to Thunks
      - Generate a ThunkSection per InputSectionDescription
      - Remove synchronize() as we no longer need it
      - Move fabricateDefaultCommands() before createThunks
      
      Differential Revision: https://reviews.llvm.org/D33835
      
      llvm-svn: 304887
      8e791463
    • George Rimar's avatar
      [ELF] - Do not merge relocation sections by name when using --emit-relocs. · 990c9cb2
      George Rimar authored
      Previously we would merge relocation sections by name.
      That did not work in some cases, like testcase shows.
      
      Patch implements logic to merge relocation sections if their target
      sections were merged into the same output section.
      
      Differential revision: https://reviews.llvm.org/D33824
      
      llvm-svn: 304886
      990c9cb2
    • George Rimar's avatar
      [ELF] - Linkerscript: improved error reporting. · 41c7ab4a
      George Rimar authored
      When linking linux kernel LLD currently reports next errors:
      
      ld: error: unable to evaluate expression: input section .head.text has no output section assigned
      ld: error: At least one side of the expression must be absolute
      ld: error: At least one side of the expression must be absolute
      
      That does not provide file/line information and overall looks unclear. 
      Patch adds location information to ExprValue and that allows
      to provide more clear error messages.
      
      Differential revision: https://reviews.llvm.org/D33943
      
      llvm-svn: 304881
      41c7ab4a
    • Zachary Turner's avatar
      Move Object format code to lib/BinaryFormat. · 264b5d9e
      Zachary Turner authored
      This creates a new library called BinaryFormat that has all of
      the headers from llvm/Support containing structure and layout
      definitions for various types of binary formats like dwarf, coff,
      elf, etc as well as the code for identifying a file from its
      magic.
      
      Differential Revision: https://reviews.llvm.org/D33843
      
      llvm-svn: 304864
      264b5d9e
    • Rafael Espindola's avatar
      Move clearOutputSections earlier. NFC. · d57c58d7
      Rafael Espindola authored
      This now just requires not calling assignOffsets after it.
      
      llvm-svn: 304861
      d57c58d7
    • Rafael Espindola's avatar
      Use assignAddresses with -r. · 189860c3
      Rafael Espindola authored
      Before this patch in -r we compute the OutputSection sizes early in
      the various calls to assignOffsets. With this change we can remove
      most of those calls.
      
      llvm-svn: 304860
      189860c3
  2. Jun 06, 2017
  3. Jun 05, 2017
  4. Jun 03, 2017
  5. Jun 02, 2017
  6. Jun 01, 2017
  7. May 31, 2017
    • Rafael Espindola's avatar
      Move clearOutputSections earlier. · 969c6512
      Rafael Espindola authored
      Another step into merging the linker script and non linker script code
      paths.
      
      llvm-svn: 304339
      969c6512
    • Rafael Espindola's avatar
      Store a single Parent pointer for InputSectionBase. · db5e56f7
      Rafael Espindola authored
      Before InputSectionBase had an OutputSection pointer, but that was not
      always valid. For example, if it was a merge section one actually had
      to look at MergeSec->OutSec.
      
      This was brittle and caused bugs like the one fixed by r304260.
      
      We now have a single Parent pointer that points to an OutputSection
      for InputSection, but to a SyntheticSection for merge sections and
      .eh_frame. This makes it impossible to accidentally access an invalid
      OutSec.
      
      llvm-svn: 304338
      db5e56f7
    • Rafael Espindola's avatar
      Simplify. NFC. · d54c5665
      Rafael Espindola authored
      llvm-svn: 304334
      d54c5665
    • Rafael Espindola's avatar
      Simplify. NFC. · 0dc25107
      Rafael Espindola authored
      llvm-svn: 304330
      0dc25107
    • Rafael Espindola's avatar
      Simplify. NFC. · 23db6360
      Rafael Espindola authored
      llvm-svn: 304328
      23db6360
    • Rafael Espindola's avatar
      Fix a crash. · b47c6e5c
      Rafael Espindola authored
      We would crash if a SHF_LINK_ORDER section pointed to a non
      InputSection section. Since those sections are not merged in order,
      SHF_LINK_ORDER is pretty meaningless and we can error on that case.
      
      llvm-svn: 304327
      b47c6e5c
Loading