OSDN Git Service

[MCJIT] Make llvm-rtdyld check RuntimeDyld's error state when running in -verify
authorLang Hames <lhames@gmail.com>
Tue, 5 Aug 2014 20:51:46 +0000 (20:51 +0000)
committerLang Hames <lhames@gmail.com>
Tue, 5 Aug 2014 20:51:46 +0000 (20:51 +0000)
mode.

This will cause -verify mode to report failure when RuntimeDyld encounters an
internal error (e.g. overflows in relocation computations). Previously we had
let these errors slip past unreported.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214925 91177308-0d34-0410-b5e6-96231b3b80d8

tools/llvm-rtdyld/llvm-rtdyld.cpp

index 9de4d9e..f626a56 100644 (file)
@@ -439,7 +439,14 @@ static int linkAndVerify() {
   // Resolve all the relocations we can.
   Dyld.resolveRelocations();
 
-  return checkAllExpressions(Checker);
+  int ErrorCode = checkAllExpressions(Checker);
+  if (Dyld.hasError()) {
+    errs() << "RTDyld reported an error applying relocations:\n  "
+           << Dyld.getErrorString() << "\n";
+    ErrorCode = 1;
+  }
+
+  return ErrorCode;
 }
 
 int main(int argc, char **argv) {