summaryrefslogtreecommitdiffstats
path: root/lld/ELF/InputFiles.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lld/ELF/InputFiles.cpp')
-rw-r--r--lld/ELF/InputFiles.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/lld/ELF/InputFiles.cpp b/lld/ELF/InputFiles.cpp
index 927feb43217..2d90bebf2ce 100644
--- a/lld/ELF/InputFiles.cpp
+++ b/lld/ELF/InputFiles.cpp
@@ -450,10 +450,12 @@ void BitcodeFile::parse() {
Sym.printName(OS);
StringRef NameRef = Saver.save(StringRef(Name));
SymbolBody *Body;
- if (Sym.getFlags() & BasicSymbolRef::SF_Undefined)
+ uint32_t Flags = Sym.getFlags();
+ if (Flags & BasicSymbolRef::SF_Undefined)
Body = new (Alloc) Undefined(NameRef, false, STV_DEFAULT, false);
else
- Body = new (Alloc) DefinedBitcode(NameRef);
+ Body =
+ new (Alloc) DefinedBitcode(NameRef, Flags & BasicSymbolRef::SF_Weak);
SymbolBodies.push_back(Body);
}
}
OpenPOWER on IntegriCloud