Skip to content
  1. Nov 26, 2013
  2. Nov 25, 2013
  3. Nov 24, 2013
  4. Nov 23, 2013
    • Shankar Easwaran's avatar
      [InputGraph] Add capability to process Hidden nodes. · 67e98f51
      Shankar Easwaran authored
      Hidden nodes could be a result of expansion, where a flavor might decide to keep
      the node that we want to expand but discard it from being processed by the
      resolver.
      
      Verifies with unittests.
      
      llvm-svn: 195516
      67e98f51
    • Shankar Easwaran's avatar
      [InputGraph] Expand InputGraph nodes. · 3ac09bcb
      Shankar Easwaran authored
      Flavors may like to expand InputGraph nodes, when a filenode after parsing
      results in more elements. One such example is while parsing GNU linker scripts.
      The linker scripts after parsing would result in a lot of filenodes and probably
      controlnodes too.
      
      Adds unittests to verify functionality.
      
      llvm-svn: 195515
      3ac09bcb
  5. Nov 22, 2013
  6. Nov 21, 2013
  7. Nov 20, 2013
    • Rui Ueyama's avatar
      [PECOFF] Recognize but ignore /implib and /safeseh for now. · f8b41867
      Rui Ueyama authored
      So that the LLD won't print error message saying that it couldn't find
      /implib or /safeseh files.
      
      llvm-svn: 195276
      f8b41867
    • Rui Ueyama's avatar
      Use NativeReferenceIvarsV2 if necessary. · e05b629d
      Rui Ueyama authored
      NativeReferenceIvarsV1 cannot handle more than 65535 relocation targets
      because its field to point to the target table is of type uint16_t. Because
      of that limitation, the LLD couldn't link a file containing more than 65535
      relocations. 65535 is not a big number - the LLD couldn't even link itself
      with V1.
      
      This patch solves the issue by adding NativeReferenceIvarsV2 support. The
      new structure has more bits for the target table, so it can handle a large
      number of relocatinos.
      
      V2 structure is larger than V1. In order to prevent file bloating, V2 format
      is used only when the resulting file cannot be represented in V1 format. The
      writer and the reader support both V1 and V2 formats.
      
      Differential Revision: http://llvm-reviews.chandlerc.com/D2217
      
      llvm-svn: 195270
      e05b629d
    • Rui Ueyama's avatar
      Fix Weak External symbol handling. · 70f11d75
      Rui Ueyama authored
      The fallback atom was used only when it's searching for a symbol in a library;
      if an undefined symbol was not found in a library, the LLD looked for its
      fallback symbol in the library.
      
      Although it worked in most cases, because symbols with fallbacks usually occur
      only in OLDNAMES.LIB (a standard library), that behavior was incompatible with
      link.exe. This patch fixes the issue so that the semantics is the same as
      MSVC's link.exe
      
      The new (and correct, I believe) behavior is this:
      
       - If there's no definition for an undefined atom, replace the undefined atom
         with its fallback and then proceed (e.g. look in the next file or stop
         linking as usual.)
      
      Weak External symbols are underspecified in the Microsoft PE/COFF spec. However,
      as long as I observed the behavior of link.exe, this seems to be what we want
      for compatibility.
      
      Differential Revision: http://llvm-reviews.chandlerc.com/D2162
      
      llvm-svn: 195269
      70f11d75
    • Rui Ueyama's avatar
      Do not inline large member functions. No functionality change. · 7b3c42a5
      Rui Ueyama authored
      llvm-svn: 195169
      7b3c42a5
  8. Nov 19, 2013
Loading