aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/ModuloSchedule.cpp
diff options
context:
space:
mode:
authorJacek Caban <jacek@codeweavers.com>2025-07-28 10:26:25 -0700
committerGitHub <noreply@github.com>2025-07-28 19:26:25 +0200
commitac31d64a64e8a648f6834f4cf9de10c56c8d1083 (patch)
treea3688f83fbda2d8a15d3b2beeefaafc4bec6355a /llvm/lib/CodeGen/ModuloSchedule.cpp
parent3f3fac8478516ab340d24c8c4f3a5b0c9fd7ee41 (diff)
downloadllvm-ac31d64a64e8a648f6834f4cf9de10c56c8d1083.zip
llvm-ac31d64a64e8a648f6834f4cf9de10c56c8d1083.tar.gz
llvm-ac31d64a64e8a648f6834f4cf9de10c56c8d1083.tar.bz2
[LLD][COFF] Avoid resolving symbols with -alternatename if the target is undefined (#149496)
This change fixes an issue with the use of `-alternatename` in the MSVC CRT on ARM64EC, where both mangled and demangled symbol names are specified. Without this patch, the demangled name could be resolved to an anti-dependency alias of the target. Since chaining anti-dependency aliases is not allowed, this results in an undefined symbol. The root cause isn't specific to ARM64EC, it can affect other targets as well, even when anti-dependency aliases aren't involved. The accompanying test case demonstrates a scenario where the symbol could be resolved from an archive. However, because the archive member is pulled in after the first pass of alternate name resolution, and archive members don't override weak aliases, eager resolution would incorrectly skip it.
Diffstat (limited to 'llvm/lib/CodeGen/ModuloSchedule.cpp')
0 files changed, 0 insertions, 0 deletions