Skip to content
  1. Nov 18, 2013
    • Rui Ueyama's avatar
      Replace unnecessary vector copy with reference. · 11d1f187
      Rui Ueyama authored
      llvm-svn: 194988
      11d1f187
    • Rui Ueyama's avatar
      Add an assert for NativeReferenceIvarsV1. · 2bafe735
      Rui Ueyama authored
      The maximum number of references the file with NativeReferenceIvarsV1 can
      contain is 65534. If a file larger than that is converted to Native format,
      the conversion will fail without any error message. This caused a subtle bug
      that the LLD would produce a broken executable only when input files contain
      too many references.
      
      This issue exists since the RoundTripNativeTest is introduced in r193585. Since
      then, it seems that nobody have linked any program having more than 65534
      relocations with the LLD. Otherwise we would have found it earlier.
      
      llvm-svn: 194987
      2bafe735
  2. Nov 16, 2013
  3. Nov 15, 2013
  4. Nov 08, 2013
  5. Nov 05, 2013
  6. Nov 04, 2013
  7. Oct 18, 2013
  8. Oct 09, 2013
  9. Oct 07, 2013
    • Shankar Easwaran's avatar
      [lld][InputGraph] Change the Resolver to use inputGraph · a96f3a3d
      Shankar Easwaran authored
      Changes :-
      
      a) Functionality in InputGraph to insert Input elements at any position
      b) Functionality in the Resolver to use nextFile
      c) Move the functionality of assigning file ordinals to InputGraph
      d) Changes all inputs to MemoryBuffers
      e) Remove LinkerInput, InputFiles, ReaderArchive
      
      llvm-svn: 192081
      a96f3a3d
  10. Sep 27, 2013
  11. Sep 12, 2013
    • Rui Ueyama's avatar
      Add a fallback mechanism for undefined atom. · e5416ec2
      Rui Ueyama authored
      In COFF, an undefined symbol can have up to one alternative name. If a symbol
      is resolved by its regular name, then it's linked normally. If a symbol is not
      found in any input files, all references to the regular name are resolved using
      the alternative name. If the alternative name is not found, it's a link error.
      This mechanism is called "weak externals".
      
      To support this mechanism, I added a new member function fallback() to undefined
      atom. If an undefined atom has the second name, fallback() returns a new undefined
      atom that should be used instead of the original one to resolve undefines. If it
      does not have the second name, the function returns nullptr.
      
      Differential Revision: http://llvm-reviews.chandlerc.com/D1550
      
      llvm-svn: 190625
      e5416ec2
  12. Sep 07, 2013
  13. Aug 23, 2013
    • Shankar Easwaran's avatar
      [lld] handle typeZeroFill atoms in ELF/Native/YAML · d17ba4bd
      Shankar Easwaran authored
      BSS atoms dont take any file space in the Input file. They are associated
      with a contentType(typeZeroFill). Similiar zero fill types also exist which
      have the same meaning in terms of occupying file space in the Input.
      
      These atoms have to be handled seperately when writing to the
      lld's intermediate file or the lld test infrastructure.
      
      Also adds a test.
      
      llvm-svn: 189136
      d17ba4bd
  14. Aug 07, 2013
  15. Jul 16, 2013
  16. Jun 21, 2013
  17. Jun 13, 2013
  18. Apr 29, 2013
  19. Apr 06, 2013
  20. Apr 05, 2013
  21. Apr 04, 2013
    • Nick Kledzik's avatar
      This is my Driver refactoring patch. · c314b46e
      Nick Kledzik authored
      The major changes are:
      1) LinkerOptions has been merged into TargetInfo
      2) LinkerInvocation has been merged into Driver
      3) Drivers no longer convert arguments into an intermediate (core) argument 
         list, but instead create a TargetInfo object and call setter methods on 
         it. This is only how in-process linking would work. That is, you can 
         programmatically set up a TargetInfo object which controls the linking.
      4) Lots of tweaks to test suite to work with driver changes
      5) Add the DarwinDriver
      6) I heavily doxygen commented TargetInfo.h
      
      Things to do after this patch is committed:
      a) Consider renaming TargetInfo, given its new roll. 
      b) Consider pulling the list of input files out of TargetInfo. This will 
         enable in-process clients to create one TargetInfo the re-use it with 
         different input file lists.
      c) Work out a way for Drivers to format the warnings and error done in 
         core linking.
      
      llvm-svn: 178776
      c314b46e
  22. Mar 20, 2013
  23. Mar 14, 2013
  24. Feb 24, 2013
  25. Jan 26, 2013
  26. Jan 25, 2013
  27. Jan 23, 2013
  28. Jan 12, 2013
Loading