[all-commits] [llvm/llvm-project] f1bca1: [LLD][COFF] Move resolving alternate names to Symb...
Jacek Caban via All-commits
all-commits at lists.llvm.org
Tue Jul 29 00:59:22 PDT 2025
Branch: refs/heads/release/21.x
Home: https://github.com/llvm/llvm-project
Commit: f1bca175afd4deab1cdfdcc8b1d7c705d7b07ab3
https://github.com/llvm/llvm-project/commit/f1bca175afd4deab1cdfdcc8b1d7c705d7b07ab3
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
Log Message:
-----------
[LLD][COFF] Move resolving alternate names to SymbolTable (NFC) (#149495)
(cherry picked from commit 38cd66a6ceef5a3208367967d8537b6a7e31ebc0)
Commit: bbc8346e6bb543b0a87f52114fed7d766446bee1
https://github.com/llvm/llvm-project/commit/bbc8346e6bb543b0a87f52114fed7d766446bee1
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M lld/COFF/SymbolTable.cpp
A lld/test/COFF/alternatename-alias.s
A lld/test/COFF/alternatename-antidep.s
A lld/test/COFF/alternatename-lib.s
M lld/test/COFF/arm64ec-altnames.s
Log Message:
-----------
[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.
(cherry picked from commit ac31d64a64e8a648f6834f4cf9de10c56c8d1083)
Compare: https://github.com/llvm/llvm-project/compare/dc90bf032925...bbc8346e6bb5
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list