aboutsummaryrefslogtreecommitdiff
path: root/lib/Bitcode/Reader/BitcodeReader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Bitcode/Reader/BitcodeReader.cpp')
-rw-r--r--lib/Bitcode/Reader/BitcodeReader.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/Bitcode/Reader/BitcodeReader.cpp b/lib/Bitcode/Reader/BitcodeReader.cpp
index 279343c48c..ff1f35e190 100644
--- a/lib/Bitcode/Reader/BitcodeReader.cpp
+++ b/lib/Bitcode/Reader/BitcodeReader.cpp
@@ -1544,6 +1544,14 @@ bool BitcodeReader::ParseModule(bool Resume) {
std::string S;
if (ConvertToString(Record, 0, S))
return Error("Invalid MODULE_CODE_TRIPLE record");
+
+ // @LOCALMOD-BEGIN
+ // This hack is needed in order to get Clang compiled binaries
+ // working with the Gold plugin, until PNaCl backend is introduced
+ // in lib/Target/PNaCl.
+ if (S == "le32-unknown-nacl")
+ S = "armv7-none-linux-gnueabi";
+ // @LOCALMOD-END
TheModule->setTargetTriple(S);
break;
}
@@ -2980,6 +2988,9 @@ Module *llvm::getStreamedBitcodeModule(const std::string &name,
return 0;
}
R->setBufferOwned(false); // no buffer to delete
+
+ R->materializeForwardReferencedFunctions();
+
return M;
}