Skip to content
  1. Feb 23, 2017
  2. Feb 22, 2017
  3. Feb 21, 2017
  4. Feb 20, 2017
  5. Feb 19, 2017
  6. Feb 17, 2017
    • George Rimar's avatar
      [ELF] - Added support of linkerscript's "/DISCARD/" for --emit-relocs · 858a659a
      George Rimar authored
      Previously LLD crashed on on provided testcases because "/DISCARD/" was
      not supported. Patch implements that.
      
      After this I think there is no known issues with --emit-relocs implementation
      required for linux kernel linking.
      
      Differential revision: https://reviews.llvm.org/D29273
      
      llvm-svn: 295488
      858a659a
    • Rafael Espindola's avatar
      Fix --print-gc-sections with linker scripts. · 3773bcac
      Rafael Espindola authored
      Before it would never print anything.
      
      Thanks to George Rimar for pointing it out.
      
      llvm-svn: 295485
      3773bcac
    • George Rimar's avatar
      [ELF] - Move DependentSections vector from InputSection to InputSectionBase · 647c1685
      George Rimar authored
      I splitted it from D29273.
      Since we plan to make relocatable sections as dependent for target ones for
      --emit-relocs implementation, this change is required to support .eh_frame case.
      
      EhInputSection inherets from InputSectionBase and not from InputSection.
      So for case when it has relocation section, it should be able to access DependentSections
      vector.
      
      This case is real for Linux kernel.
      
      Differential revision: https://reviews.llvm.org/D30084
      
      llvm-svn: 295483
      647c1685
    • Rafael Espindola's avatar
      Don't print DISCARD sections as gced. · ecbfd871
      Rafael Espindola authored
      This is a small difference I noticed to gold and bfd. When given
      --print-gc-sections, we print sections a linkerscript marks
      DISCARD. The other linkers don't.
      
      llvm-svn: 295467
      ecbfd871
    • Rafael Espindola's avatar
      Diagnose another case of the location counter moving backwards. · 679828ff
      Rafael Espindola authored
      This case should be possible to handle, but it is hard:
      
      * In order to create program headers correctly, we have to scan the
        sections in the order they are in the file.
      
      * To find that order, we have to "execute" the linker script.
      
      * The linker script can contain SIZEOF_HEADERS.
      
      So to support this we have to start with a guess of how many headers
      we need (3), run the linker script and try to create the program
      headers. If it turns out we need more headers, we run the script again
      with a larger SIZEOF_HEADERS.
      
      Also, running the linker script depends on knowing the size of the
      sections, so we have to finalize them. But creating the program
      headers can change the value stored in some sections, so we have to
      split size finalization and content finalization.
      
      Looks like the last part is also needed for range extension thunks, so
      we might support this at some point. For now just report an error
      instead of producing broken files.
      
      llvm-svn: 295458
      679828ff
    • Rafael Espindola's avatar
      Reject moving the location counter backwards. · 4cd7352c
      Rafael Espindola authored
      We were only checking when the assignment was inside a section.
      
      llvm-svn: 295454
      4cd7352c
    • Rafael Espindola's avatar
      Add static. NFC. · 1a5c152b
      Rafael Espindola authored
      llvm-svn: 295448
      1a5c152b
    • 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
    • Rui Ueyama's avatar
      Add a comment. · 5acac350
      Rui Ueyama authored
      llvm-svn: 295388
      5acac350
    • Rafael Espindola's avatar
      Merge reloc sections in -emit-reloc mode. · ee61d358
      Rafael Espindola authored
      Without this we would produce two relocation sections pointing to the
      same section, which gnu tools reject.
      
      This fixes pr31986.
      
      The implementation of -r/--emit-reloc is getting fairly
      complicated. But lets get the test passing before trying to refactor
      it.
      
      llvm-svn: 295385
      ee61d358
  7. Feb 16, 2017
  8. Feb 15, 2017
    • Ed Schouten's avatar
      Make --export-dynamic work on non-PIC/PIE targets. · 3bf71304
      Ed Schouten authored
      For CloudABI I'm only interested in generating non-PIC/PIE executables
      on armv6 and i686, as PIE introduces larger overhead than on aarch64 and
      x86_64. Still, I want to be able to instruct the linker to generate a
      dynamic symbol table if requested. One example use for this is that
      dynamic symbol tables can be used by programs to print nicely formatted
      stacktraces, including symbol names.
      
      Right now there seems to be some logic in LLD that it only wants to emit
      dynamic symbol tables when either linking against libraries or when
      building PIC. Let's extend this to also take --export-dynamic into
      account.
      
      Reviewed by:	ruiu
      Differential Revision:	https://reviews.llvm.org/D29982
      
      llvm-svn: 295240
      3bf71304
    • Rui Ueyama's avatar
      Apply different tokenization rules to linker script expressions. · 731a66ae
      Rui Ueyama authored
      The linker script lexer is context-sensitive. In the regular context,
      arithmetic operator characters are regular characters, but in the
      expression context, they are independent tokens. This afects how the
      lexer tokenizes "3*4", for example. (This kind of expression is real;
      the Linux kernel uses it.)
      
      This patch defines function `maybeSplitExpr`. This function splits the
      current token into multiple expression tokens if the lexer is in the
      expression context.
      
      Differential Revision: https://reviews.llvm.org/D29963
      
      llvm-svn: 295225
      731a66ae
Loading