Skip to content
  1. Nov 15, 2013
    • Rui Ueyama's avatar
      Select new undefined atom rather than old one if other conditions are the same. · b4dca7f0
      Rui Ueyama authored
      We can add multiple undefined atoms having the same name to the symbol table.
      If such atoms are added, the symbol table compares their canBeNull attributes,
      and select one having a stronger constraint. If their canBeNulls are the same,
      the choice is arbitrary. Currently it choose the existing one.
      
      This patch changes the preference, so that the symbol table choose the new one
      if the new atom has a greater canBeNull or a fallback atom. This shouldn't
      change the behavior except the case described below.
      
      A new undefined atom may have a new fallback atom attribute. By choosing the new
      atom, we can update the fallback atom during Core Linking. PE/COFF actually need
      that. For example, _lseek is an alias for __lseek on Windows. One of an object
      file in OLDNAMES.LIB has an undefined atom for _lseek with the fallback to
      __lseek. When the linker tries to resolve _read, it supposed to read the file
      from OLDNAMES.LIB and use the new fallback from the file. Currently LLD cannot
      handle such case because duplicate undefined atoms with the same attributes are
      ignored.
      
      Differential Revision: http://llvm-reviews.chandlerc.com/D2161
      
      llvm-svn: 194777
      b4dca7f0
  2. Nov 14, 2013
  3. Nov 13, 2013
  4. Nov 06, 2013
  5. Nov 05, 2013
  6. Oct 29, 2013
  7. Oct 24, 2013
    • Rui Ueyama's avatar
      Revert "r193300 - [PassManager] add ReaderWriter{Native, YAML} to the Driver" · 671c8013
      Rui Ueyama authored
      The patch have completely broken COFF port and disabled many tests.
      This also reverts r193302 (comment fix).
      
      llvm-svn: 193362
      671c8013
    • Shankar Easwaran's avatar
      [PassManager] add ReaderWriter{Native,YAML} to the Driver. · 89c2d8fa
      Shankar Easwaran authored
      Disable tests to be run with REQUIRES: disable. Note disable is not added to the
      config by the test runner Mkaefiles, so essentially disables the test.
      
      Code changes would be required to fix these tests :-
      
      test/darwin/hello-world.objtxt
      test/elf/check.test
      test/elf/phdr.test
      test/elf/ppc.test
      test/elf/undef-from-main-dso.test
      test/elf/X86_64/note-sections-ro_plus_rw.test
      test/pecoff/alignment.test
      test/pecoff/base-reloc.test
      test/pecoff/bss-section.test
      test/pecoff/drectve.test
      test/pecoff/dynamic.test
      test/pecoff/dynamicbase.test
      test/pecoff/entry.test
      test/pecoff/hello.test
      test/pecoff/imagebase.test
      test/pecoff/importlib.test
      test/pecoff/lib.test
      test/pecoff/multi.test
      test/pecoff/reloc.test
      test/pecoff/weak-external.test
      
      llvm-svn: 193300
      89c2d8fa
  8. Oct 16, 2013
    • Rui Ueyama's avatar
      Make undefines check into an assertion. · f3630fe4
      Rui Ueyama authored
      Dead-strip root symbols can be undefined atoms, but should not really be
      nonexistent, because dead-strip root symbols should be added to initial
      undefined atoms at startup. Whenever you look up its name in the symbol
      table, some type of atom will always exist.
      
      llvm-svn: 192831
      f3630fe4
    • Rui Ueyama's avatar
      Propagate deadStripOptimize()'s failure to the caller. · 28478317
      Rui Ueyama authored
      We want to make the program to exit with non-zero exit code if there's an error
      during dead stripping.
      
      llvm-svn: 192771
      28478317
  9. Oct 11, 2013
  10. Oct 09, 2013
  11. Oct 08, 2013
  12. 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
  13. Sep 23, 2013
  14. Sep 19, 2013
  15. Sep 12, 2013
    • Rui Ueyama's avatar
      [PECOFF] Handle weak external symbols. · 6f325496
      Rui Ueyama authored
      Used the fallback mechanism to implement COFF weak external symbols.
      
      llvm-svn: 190633
      6f325496
    • 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
  16. Sep 08, 2013
  17. Sep 07, 2013
  18. Sep 04, 2013
  19. Sep 03, 2013
  20. Aug 31, 2013
Loading