fix PR5186: the JIT shouldn't try to codegen available_externally
authorChris Lattner <sabre@nondot.org>
Sun, 25 Oct 2009 23:06:42 +0000 (23:06 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 25 Oct 2009 23:06:42 +0000 (23:06 +0000)
functions it should just look them up like declarations.

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

lib/ExecutionEngine/JIT/JIT.cpp

index b2a268bce8b7432d8c742f59f8b51a4273d0f16a..cb825904cc2e957342c549943d750825aa6c4888 100644 (file)
@@ -659,7 +659,7 @@ void *JIT::getPointerToFunction(Function *F) {
       return Addr;
   }
 
-  if (F->isDeclaration()) {
+  if (F->isDeclaration() || F->hasAvailableExternallyLinkage()) {
     bool AbortOnFailure =
       !areDlsymStubsEnabled() && !F->hasExternalWeakLinkage();
     void *Addr = getPointerToNamedFunction(F->getName(), AbortOnFailure);