Skip to content
  1. Jan 06, 2017
  2. Dec 22, 2016
  3. Dec 20, 2016
  4. Dec 18, 2016
    • Rui Ueyama's avatar
      Remove lld/Support/Memory.h. · 9381eb10
      Rui Ueyama authored
      I thought for a while about how to remove it, but it looks like we
      can just copy the file for now. Of course I'm not happy about that,
      but it's just less than 50 lines of code, and we already have
      duplicate code in Error.h and some other places. I want to solve
      them all at once later.
      
      Differential Revision: https://reviews.llvm.org/D27819
      
      llvm-svn: 290062
      9381eb10
  5. Dec 08, 2016
    • Rui Ueyama's avatar
      Move Memory.{h,cpp} to lld/Support so that we can use them from COFF. · 520d9169
      Rui Ueyama authored
      llvm-svn: 289084
      520d9169
    • Rafael Espindola's avatar
      Change the implementation of --dynamic-list to use linker script parsing. · d0ebd84c
      Rafael Espindola authored
      The feature is documented as
      -----------------------------
      The format of the dynamic list is the same as the version node
      without scope and node name.  See *note VERSION:: for more
      information.
      --------------------------------
      
      And indeed qt uses a dynamic list with an 'extern "C++"' in it. With
      this patch we support that
      
      The change to gc-sections-shared makes us match bfd. Just because we
      kept bar doesn't mean it has to be in the dynamic symbol table.
      
      The changes to invalid-dynamic-list.test and reproduce.s are because
      of the new parser.
      
      The changes to version-script.s are the only case where we change
      behavior with regards to bfd, but I would like to see a mix of
      --version-script and --dynamic-list used in the wild before
      complicating the code.
      
      llvm-svn: 289082
      d0ebd84c
  6. Nov 21, 2016
  7. Nov 20, 2016
  8. Nov 19, 2016
  9. Nov 14, 2016
  10. Oct 28, 2016
    • Rui Ueyama's avatar
      Consolidate BumpPtrAllocators. · 55518e7d
      Rui Ueyama authored
      Previously, we have a lot of BumpPtrAllocators, but all these
      allocators virtually have the same lifetime because they are
      not freed until the linker finishes its job. This patch aggregates
      them into a single allocator.
      
      Differential revision: https://reviews.llvm.org/D26042
      
      llvm-svn: 285452
      55518e7d
  11. Oct 19, 2016
  12. Jul 26, 2016
    • Peter Collingbourne's avatar
      COFF: Implement /linkrepro flag. · feee2103
      Peter Collingbourne authored
      This flag is implemented similarly to --reproduce in the ELF linker.
      
      This patch implements /linkrepro by moving the cpio writer and associated
      utility functions to lldCore, and using that implementation in both linkers.
      
      One COFF-specific detail is that we store the object file from which the
      resource files were created in our reproducer, rather than the resource
      files themselves. This allows the reproducer to be used on non-Windows
      systems for example.
      
      Differential Revision: https://reviews.llvm.org/D22418
      
      llvm-svn: 276719
      feee2103
  13. Jul 16, 2016
  14. Jul 07, 2016
  15. Jul 06, 2016
  16. Jun 29, 2016
  17. Jun 27, 2016
    • Rui Ueyama's avatar
      Fix library search order. · 20d8d55b
      Rui Ueyama authored
      Previously, we searched for a .so file from all library paths and
      then searched for a .a file. That logic is wrong. What we need to
      do is to look for a .so and a .a for each library path.
      
      llvm-svn: 273846
      20d8d55b
  18. Jun 06, 2016
  19. Jun 01, 2016
  20. May 15, 2016
  21. May 13, 2016
    • Rui Ueyama's avatar
      Support --build-id=0x<hexstring>. · 9194db78
      Rui Ueyama authored
      If you specify the option in the form of --build-id=0x<hexstring>,
      that hexstring is set as a build ID. We observed that the feature
      is actually in use in some builds, so we want this feature.
      
      llvm-svn: 269495
      9194db78
  22. May 10, 2016
  23. May 05, 2016
  24. May 04, 2016
  25. May 03, 2016
    • Rafael Espindola's avatar
      Produce cpio files for --reproduce. · 1dd2b3d1
      Rafael Espindola authored
      We want --reproduce to
      
      * not rewrite scripts and thin archives
      * work with absolute paths
      
      Given that, it pretty much has to create a full directory tree. On windows that
      is problematic because of the very short maximum path limit. On most cases
      users can still work around it with "--repro c:\r", but that is annoying and
      not viable for automated testing.
      
      We then need to produce some form of archive with the files. The first option
      that comes to mind is .a files since we already have code for writing them.
      There are a few problems with them
      
      The format has a dedicated string table, so we cannot start writing it until
      all members are known.
      Regular implementations don't support creating directories. We could make
      llvm-ar support that, but that is probably not a good idea.
      The next natural option would be tar. The problem is that to support long path
      names (which is how this started) it needs a "pax extended header" making this
      an annoying format to write.
      
      The next option I looked at seems a natural fit: cpio files.
      
      They are available on pretty much every unix, support directories and long path
      names and are really easy to write. The only slightly annoying part is a
      terminator, but at least gnu cpio only prints a warning if it is missing, which
      is handy for crashes. This patch still makes an effort to always create it.
      
      llvm-svn: 268404
      1dd2b3d1
    • Rafael Espindola's avatar
      Simplify. NFC. · 133ebe5b
      Rafael Espindola authored
      llvm-svn: 268324
      133ebe5b
  26. May 02, 2016
Loading