Skip to content
  1. Jun 01, 2017
  2. 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
    • Peter Smith's avatar
      [ELF] .ARM.exidx sentinel section should use InputSectionDescriptions. · ea79b215
      Peter Smith authored
          
      This change converts the writing of the .ARM.exidx sentinel section to use
      the InputSectionDescriptions instead of OutputSection::Sections this is in
      preparation for the retirement of OutputSection::Sections.
          
      Differential Revision: https://reviews.llvm.org/D33500
      
      llvm-svn: 304289
      ea79b215
    • Rafael Espindola's avatar
      Fix crash when processing relocations in .eh_frame. · 180de970
      Rafael Espindola authored
      This happens when attempting to link shared libraries using exceptions on
      MIPS. It requires -z notext because clang generates R_MIPS_64 relocations
      inside .eh_frame.
      The crash happened because for EhInputSection the OutSec member is null.
      
      Patch by Alexander Richardson!
      
      llvm-svn: 304260
      180de970
  3. May 30, 2017
  4. May 29, 2017
    • George Rimar's avatar
      [ELF] - Do not allow -r to eat comdats. · 3b189d16
      George Rimar authored
      This is PR33052, "Bug 33052 - -r eats comdats ".
      
      To fix it I stop removing group section from out when -r is given
      and fixing SHT_GROUP content when writing it just like we do some
      other fixup, e.g. for Rel[a]. (it needs fix for section indices that
      are in group).
      
      Differential revision: https://reviews.llvm.org/D33485
      
      llvm-svn: 304140
      3b189d16
  5. May 26, 2017
  6. May 25, 2017
  7. May 24, 2017
    • Rui Ueyama's avatar
      Improve parallelism of ICF. · f04c0483
      Rui Ueyama authored
      This is the only place we use threads for ICF. The intention of this code
      was to split an input vector into 256 shards and process them in parallel.
      What the code was actually doing was to split an input into 257 shards,
      process the first 256 shards in parallel, and the remaining one in serial.
      
      That means this code takes ceil(256/n)+1 instead of ceil(256/n) where n
      is the number of available CPU cores. The former converges to 2 while
      the latter converges to 1.
      
      This patches fixes the above issue.
      
      llvm-svn: 303797
      f04c0483
Loading