[lld] [llvm] [LLD][COFF] Fix handling of invalid ARM64EC function names (PR #116252)
Jacek Caban via llvm-commits
llvm-commits at lists.llvm.org
Thu Nov 14 11:21:46 PST 2024
================
@@ -669,8 +669,11 @@ bool checkLazyECPair(SymbolTable *symtab, StringRef name, InputFile *f) {
if (std::optional<std::string> mangledName =
getArm64ECMangledFunctionName(name))
pairName = std::move(*mangledName);
+ else if (std::optional<std::string> demangledName =
+ getArm64ECDemangledFunctionName(name))
+ pairName = std::move(*demangledName);
else
- pairName = *getArm64ECDemangledFunctionName(name);
+ return true;
----------------
cjacek wrote:
`checkLazyECPair` checks if there is a conflicting symbol with a different mangling in the symbol table before adding a new lazy symbol. Since invalid names cannot be mangled or demangled, there is no possibility of a conflicting symbol.
I updated the description.
https://github.com/llvm/llvm-project/pull/116252
More information about the llvm-commits
mailing list