[ELF] --exclude-libs: localize defined libcall symbols referenced by lto.tmp
Fixes PR48681: after LTO, lto.tmp may reference a libcall symbol not in an IR symbol table of any bitcode file. If such a symbol is defined in an archive matched by a --exclude-libs, we don't correctly localize the symbol. Add another `excludeLibs` after `compileBitcodeFiles` to localize such libcall symbols. Unfortunately we have keep the existing one for D43126. Using VER_NDX_LOCAL is an implementation detail of `--exclude-libs`, it does not necessarily tie to the "localize" behavior. `local:` patterns in a version script can be omitted. The `symbol ... has undefined version ...` error should not be exempted. Ideally we should error as GNU ld does. https://issuetracker.google.com/issues/73020933 Reviewed By: psmith Differential Revision: https://reviews.llvm.org/D94280
Loading
Please sign in to comment