summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorJuergen Ributzka <juergen@apple.com>2014-03-26 18:19:27 +0000
committerJuergen Ributzka <juergen@apple.com>2014-03-26 18:19:27 +0000
commit6ff29a7b2fc82f77332efccd7a301469f26011d7 (patch)
tree5097721df311a6503bcfbb4c43f8d76420ce0439 /llvm/lib
parent6d6a2bba631af743c004eaad19045248669895d6 (diff)
downloadbcm5719-llvm-6ff29a7b2fc82f77332efccd7a301469f26011d7.tar.gz
bcm5719-llvm-6ff29a7b2fc82f77332efccd7a301469f26011d7.zip
[MCJIT] Check if there have been errors during RuntimeDyld execution.
llvm-svn: 204837
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp2
-rw-r--r--llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp2
2 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp b/llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp
index aa5f7240245..49b67275615 100644
--- a/llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp
+++ b/llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp
@@ -115,7 +115,7 @@ bool MCJIT::removeModule(Module *M) {
void MCJIT::addObjectFile(object::ObjectFile *Obj) {
ObjectImage *LoadedObject = Dyld.loadObject(Obj);
- if (!LoadedObject)
+ if (!LoadedObject || Dyld.hasError())
report_fatal_error(Dyld.getErrorString());
LoadedObjects.push_back(LoadedObject);
diff --git a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
index 7f350837482..12cd81931ff 100644
--- a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
+++ b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
@@ -761,6 +761,8 @@ void RuntimeDyld::mapSectionAddress(const void *LocalAddress,
Dyld->mapSectionAddress(LocalAddress, TargetAddress);
}
+bool RuntimeDyld::hasError() { return Dyld->hasError(); }
+
StringRef RuntimeDyld::getErrorString() { return Dyld->getErrorString(); }
void RuntimeDyld::registerEHFrames() {
OpenPOWER on IntegriCloud