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
    • Rui Ueyama's avatar
      Fix include guards. · 014192db
      Rui Ueyama authored
      llvm-svn: 194776
      014192db
    • Rui Ueyama's avatar
      [PECOFF] Add /stub option. · e60d6e1b
      Rui Ueyama authored
      llvm-svn: 194757
      e60d6e1b
    • Rui Ueyama's avatar
      Move DOS stub data to PECOFFLinkingContext for /stub option. · 5fe806e7
      Rui Ueyama authored
      llvm-svn: 194754
      5fe806e7
    • Rui Ueyama's avatar
      Don't use getFileOrStdin() at where we don't want to read from stdin. · 9c082cd8
      Rui Ueyama authored
      llvm-svn: 194746
      9c082cd8
  2. Nov 14, 2013
  3. Nov 13, 2013
  4. Nov 12, 2013
  5. Nov 11, 2013
  6. Nov 10, 2013
    • Rui Ueyama's avatar
      [ELF] Un-break undef-from-main-dso.test on MSVC 2012. · 78d1acb3
      Rui Ueyama authored
      The result of sizeof(SymbolTable<ELFT>::SymbolEntry) in DynamicSymbolTable
      <ELFT>::write() was different from the same expression in RelocationTable
      <ELFT>::write(), although the same template parameters were passed. They were
      40 and 32, respectively. As a result, the same vector was treated as a
      vector of 40 byte values in some places and a vector of 32 values in other
      places. That caused an weird issue, resulting in collapse of the rela.dyn
      section.
      
      I suspect that this is a padding size calculation bug in MSVC 2012, but I
      may be wrong. Reordering the fields to eliminate padding seems to fix the
      issue.
      
      llvm-svn: 194349
      78d1acb3
  7. Nov 09, 2013
  8. Nov 08, 2013
  9. Nov 06, 2013
Loading