summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkettenis <kettenis@openbsd.org>2018-09-11 09:25:56 +0000
committerkettenis <kettenis@openbsd.org>2018-09-11 09:25:56 +0000
commit5c18e77d80a7306ed84ee968e0453d2e5db5bb65 (patch)
tree4e1d6e744ffe4eb1350b5f73193bb101d5f694ee
parentTighten validation tests on an obscure corner case of (diff)
downloadwireguard-openbsd-5c18e77d80a7306ed84ee968e0453d2e5db5bb65.tar.xz
wireguard-openbsd-5c18e77d80a7306ed84ee968e0453d2e5db5bb65.zip
Fix --exclude-libs option. Based on code already committed upstream.
tested by naddy@
-rw-r--r--gnu/llvm/tools/lld/ELF/Driver.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/gnu/llvm/tools/lld/ELF/Driver.cpp b/gnu/llvm/tools/lld/ELF/Driver.cpp
index 36343e90cb8..edc7ee1cfa7 100644
--- a/gnu/llvm/tools/lld/ELF/Driver.cpp
+++ b/gnu/llvm/tools/lld/ELF/Driver.cpp
@@ -961,7 +961,7 @@ static void excludeLibs(opt::InputArgList &Args, ArrayRef<InputFile *> Files) {
if (Optional<StringRef> Archive = getArchiveName(File))
if (All || Libs.count(path::filename(*Archive)))
for (Symbol *Sym : File->getSymbols())
- if (!Sym->isLocal())
+ if (!Sym->isLocal() && Sym->File == File)
Sym->VersionId = VER_NDX_LOCAL;
}