From: Rafael Espindola Date: Fri, 4 Jul 2014 19:31:27 +0000 (+0000) Subject: Ignore llvm specific symbols in the LTOModule. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=e97c25bad489d151324d48a900ad7e2779afe53e;p=oota-llvm.git Ignore llvm specific symbols in the LTOModule. These are the llvm.* globals and functions. I don't think it is possible to test this directly since llvm-lto is not a full linker and will not report duplicated symbols, but this fixes bootstrap with gold and lto enabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212354 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/LTO/LTOModule.cpp b/lib/LTO/LTOModule.cpp index 314831ff6f8..2fa450fd9d9 100644 --- a/lib/LTO/LTOModule.cpp +++ b/lib/LTO/LTOModule.cpp @@ -531,6 +531,9 @@ bool LTOModule::parseSymbols(std::string &errMsg) { for (auto &Sym : IRFile->symbols()) { const GlobalValue *GV = IRFile->getSymbolGV(Sym.getRawDataRefImpl()); uint32_t Flags = Sym.getFlags(); + if (Flags & object::BasicSymbolRef::SF_FormatSpecific) + continue; + bool IsUndefined = Flags & object::BasicSymbolRef::SF_Undefined; if (!GV) {