[all-commits] [llvm/llvm-project] 38bc95: [LLD] [COFF] Fix automatically importing data symb...

Martin Storsjö via All-commits all-commits at lists.llvm.org
Wed Nov 13 12:50:01 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 38bc9559bacf095f4ef5a3845b6033e9d70e588e
      https://github.com/llvm/llvm-project/commit/38bc9559bacf095f4ef5a3845b6033e9d70e588e
  Author: Martin Storsjö <martin at martin.st>
  Date:   2019-11-13 (Wed, 13 Nov 2019)

  Changed paths:
    M lld/COFF/SymbolTable.cpp
    A lld/test/COFF/autoimport-lto.ll

  Log Message:
  -----------
  [LLD] [COFF] Fix automatically importing data symbols from DLLs with LTO

This broke in 51dcb292cc002, "[lld-link] diagnose undefined symbols
before LTO when possible" (very soon after the 9.0 branch, so
luckily the 9.0 release is unaffected).

The code for loading objects we believe might be needed for autoimport
(loadMinGWAutomaticImports()) does run before the new
reportUnresolvable() function, but it had a condition to only operate
on symbols from regular object files. This condition came from
resolveRemainingUndefines(), but as loadMinGWAutomaticImports() now
has to operate before the LTO, it has to operate on undefineds from
LTO objects as well.

Differential Revision: https://reviews.llvm.org/D70166




More information about the All-commits mailing list