[lld] [LLD][COFF] Avoid forcing lazy symbols in loadMinGWSymbols during symbol table enumeration (PR #141593)

Jacek Caban via llvm-commits llvm-commits at lists.llvm.org
Tue May 27 05:52:02 PDT 2025


cjacek wrote:

This issue can also be reproduced with ARM64EC DLL imports. `DLLFile::parse()`, even with #141587, does not include all the symbols that `ImportFile::parse()` does, it omits `__auximpcopy_` and `__impchk_`. While we could consider defining them in `DLLFile::parse()` as well, that's not how real import libraries behave; they also skip these symbols in the archive map, so they are only defined if the import file is pulled in by other means.

Since the problem is reproducible with the attached test case too, I went ahead and fixed it in `SymbolTable::loadMinGWSymbols` instead.

https://github.com/llvm/llvm-project/pull/141593


More information about the llvm-commits mailing list