diff --git a/lld/COFF/Driver.cpp b/lld/COFF/Driver.cpp --- a/lld/COFF/Driver.cpp +++ b/lld/COFF/Driver.cpp @@ -549,7 +549,7 @@ StringRef LinkerDriver::mangleMaybe(Symbol *s) { // If the plain symbol name has already been resolved, do nothing. Undefined *unmangled = dyn_cast(s); - if (!unmangled) + if (!unmangled || unmangled->getWeakAlias()) return ""; // Otherwise, see if a similar, mangled symbol exists in the symbol table.