Register the frame register function when allocating the JIT,
authorNicolas Geoffray <nicolas.geoffray@lip6.fr>
Mon, 18 Aug 2008 14:53:56 +0000 (14:53 +0000)
committerNicolas Geoffray <nicolas.geoffray@lip6.fr>
Mon, 18 Aug 2008 14:53:56 +0000 (14:53 +0000)
so that lli works out of the box with -enable-eh.

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

lib/ExecutionEngine/JIT/JIT.cpp

index af8fd8fb7c0e7fb917b3fc38b3ae840e3c87688e..9a3bd3bda1ee49369d49b96a107b19d856406e36 100644 (file)
@@ -78,11 +78,6 @@ ExecutionEngine *ExecutionEngine::createJIT(ModuleProvider *MP,
   ExecutionEngine *EE = JIT::createJIT(MP, ErrorStr, JMM, Fast);
   if (!EE) return 0;
   
-  // Register routine for informing unwinding runtime about new EH frames
-#if defined(__GNUC__)
-  EE->InstallExceptionTableRegister(__register_frame);
-#endif
-
   // Make sure we can resolve symbols in the program as well. The zero arg
   // to the function tells DynamicLibrary to load the program, not a library.
   sys::DynamicLibrary::LoadLibraryPermanently(0, ErrorStr);
@@ -111,6 +106,11 @@ JIT::JIT(ModuleProvider *MP, TargetMachine &tm, TargetJITInfo &tji,
     abort();
   }
   
+  // Register routine for informing unwinding runtime about new EH frames
+#if defined(__GNUC__)
+  InstallExceptionTableRegister(__register_frame);
+#endif
+  
   // Initialize passes.
   PM.doInitialization();
 }