Skip to content
  1. May 05, 2017
  2. May 04, 2017
    • Rafael Espindola's avatar
      Simplify the header allocation. · 02ed7575
      Rafael Espindola authored
      In the non linker script case we would try very early to find out if
      we could allocate the headers. Failing to do that would add extra
      alignment to the first ro section, since we would set PageAlign
      thinking it was the first section in the PT_LOAD.
      
      In the linker script case the header allocation must be done in the
      end, causing some duplication.
      
      We now tentatively add the headers to the first PT_LOAD and if it
      turns out they don't fit, remove them. With this we only need to
      allocate the headers in one place in the code.
      
      llvm-svn: 302186
      02ed7575
    • Rafael Espindola's avatar
      Reduce code duplication. NFC. · 808f2d3c
      Rafael Espindola authored
      llvm-svn: 302155
      808f2d3c
    • Eric Fiselier's avatar
      927edebd
    • Rafael Espindola's avatar
      Fix accounting of tbss. · 7c4eafa3
      Rafael Espindola authored
      We were correctly computing the size contribution of a .tbss input
      section (it is none), but we were incorrectly considering the
      alignment of the output section: it was advancing Dot instead of
      ThreadBssOffset.
      
      As far as I can tell this was always wrong in our linkerscript
      implementation, but that became more visible now that the code is
      shared with the non linker script case.
      
      llvm-svn: 302107
      7c4eafa3
    • Rui Ueyama's avatar
      Remove a comment that is no longer true. · b201a20e
      Rui Ueyama authored
      llvm-svn: 302090
      b201a20e
  3. May 03, 2017
    • Rui Ueyama's avatar
      Accept archive files with no symbol table instad of warning on them. · fd7deda5
      Rui Ueyama authored
      It seems virtually everyone who tries to do LTO build with Clang and
      LLD was hit by a mistake to forget using llvm-ar command to create
      archive files. I wasn't an exception. Since this is an annoying common
      issue, it is probably better to handle that gracefully rather than
      reporting an error and tell the user to redo build with different
      configuration.
      
      Differential Revision: https://reviews.llvm.org/D32721
      
      llvm-svn: 302083
      fd7deda5
    • Peter Collingbourne's avatar
      Revert r301897, "ELF: Set symbol binding to STB_GLOBAL when undefining symbols during LTO." · 1c697e99
      Peter Collingbourne authored
      It doesn't matter what binding we store in a non-UsedInRegularObj undefined
      symbol because we should reset it when we see a real undefined symbol in
      a combined LTO object. The fact that we weren't doing so before is a bug
      (PR32899) which is now fixed.
      
      llvm-svn: 302067
      1c697e99
    • Rafael Espindola's avatar
      Handle mixed strong and weak undefined symbols. · 5e20c75e
      Rafael Espindola authored
      We were ignoring strong undefined symbols if they followed weak ones.
      
      Fixes pr32899.
      
      llvm-svn: 302065
      5e20c75e
    • Peter Smith's avatar
      [ELF] Fix problems with fabricateDefaultCommands() and --section-start · c60b4510
      Peter Smith authored
      The --section-start <name>=<address> needs to be translated into equivalent
      linker script commands. There are a couple of problems with the existing
      implementation:
      - The --section-start with the lowest address is assumed to be at the start
      of the map. This assumption is incorrect, we have to iterate through the
      SectionStartMap to find the lowest address.
      - The addresses in --section-start were being over-aligned when the
      sections were marked as PageAlign. This is inconsistent with the use of
      SectionStartMap in fixHeaders(), and can cause problems when the PageAlign
      causes an "unable to move location counter backward" error when the
      --section-start with PageAlign is aligned to an address higher than the next
      --section-start. The ld.bfd and ld.gold seem to be more consistent with this
      approach but this is not a well specified area.
          
      This change fixes the problems above and also corrects a typo in which
      fabricateDefaultCommands() is called with the wrong parameter, it should be
      called with AllocateHeader not Config->MaxPageSize.
      
      Differential Revision: https://reviews.llvm.org/D32749
      
      llvm-svn: 302007
      c60b4510
    • George Rimar's avatar
      [ELF] - Added testcase gdb-index-ranges.s (https://reviews.llvm.org/D32750) · 99e1890e
      George Rimar authored
      Before rL301170 was landed, LLD did not produce correct entries in .gdb_index address area.
      Issue was fixed on LLVM DWARF parsers side and was relative to how .debug_ranges
      section was scanned. It was main problem of PR32319.
      
      It makes sense to have testcase on LLD size too. This checks that we generate proper values 
      now, because we do not have any tests for .gdb_index which works with .debug_ranges atm.
      
      Differential revision: https://reviews.llvm.org/D32750
      
      llvm-svn: 302006
      99e1890e
    • Rui Ueyama's avatar
      Remove a dead function declaration. · 9decbfee
      Rui Ueyama authored
      llvm-svn: 301982
      9decbfee
    • Joel Jones's avatar
      Remove _NC suffix from ELF relocations TLSDESC_{LD64,ADD}_LO12 · 93340741
      Joel Jones authored
      llvm-svn: 301979
      93340741
  4. May 02, 2017
  5. May 01, 2017
  6. Apr 30, 2017
  7. Apr 29, 2017
Loading