[llvm-commits] [llvm] r91209 - in /llvm/trunk: lib/ExecutionEngine/JIT/JIT.cpp unittests/ExecutionEngine/JIT/JITTest.cpp

Nick Lewycky nlewycky at google.com
Fri Dec 11 23:20:03 PST 2009


It was just missing -rdynamic. Patch attached.

Nick

2009/12/11 Jeffrey Yasskin <jyasskin at google.com>

> Author: jyasskin
> Date: Sat Dec 12 00:18:46 2009
> New Revision: 91209
>
> URL: http://llvm.org/viewvc/llvm-project?rev=91209&view=rev
> Log:
> Revert r91208.  Something on Linux prevents the JIT from looking up a
> symbol
> defined in the test, and I don't have time tonight to figure it out.
>
> Modified:
>    llvm/trunk/lib/ExecutionEngine/JIT/JIT.cpp
>    llvm/trunk/unittests/ExecutionEngine/JIT/JITTest.cpp
>
> Modified: llvm/trunk/lib/ExecutionEngine/JIT/JIT.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ExecutionEngine/JIT/JIT.cpp?rev=91209&r1=91208&r2=91209&view=diff
>
>
> ==============================================================================
> --- llvm/trunk/lib/ExecutionEngine/JIT/JIT.cpp (original)
> +++ llvm/trunk/lib/ExecutionEngine/JIT/JIT.cpp Sat Dec 12 00:18:46 2009
> @@ -681,7 +681,7 @@
>   if (Ptr) return Ptr;
>
>   // If the global is external, just remember the address.
> -  if (GV->isDeclaration() || GV->hasAvailableExternallyLinkage()) {
> +  if (GV->isDeclaration()) {
>  #if HAVE___DSO_HANDLE
>     if (GV->getName() == "__dso_handle")
>       return (void*)&__dso_handle;
>
> Modified: llvm/trunk/unittests/ExecutionEngine/JIT/JITTest.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/ExecutionEngine/JIT/JITTest.cpp?rev=91209&r1=91208&r2=91209&view=diff
>
>
> ==============================================================================
> --- llvm/trunk/unittests/ExecutionEngine/JIT/JITTest.cpp (original)
> +++ llvm/trunk/unittests/ExecutionEngine/JIT/JITTest.cpp Sat Dec 12
> 00:18:46 2009
> @@ -534,31 +534,6 @@
>  #endif
>  }
>
> -}  // anonymous namespace
> -// This variable is intentionally defined differently in the
> statically-compiled
> -// program from the IR input to the JIT to assert that the JIT doesn't use
> its
> -// definition.
> -extern "C" int32_t JITTest_AvailableExternallyGlobal;
> -int32_t JITTest_AvailableExternallyGlobal = 42;
> -namespace {
> -
> -TEST_F(JITTest, AvailableExternallyGlobalIsntEmitted) {
> -  TheJIT->DisableLazyCompilation(true);
> -  LoadAssembly("@JITTest_AvailableExternallyGlobal = "
> -               "  available_externally global i32 7 "
> -               " "
> -               "define i32 @loader() { "
> -               "  %result = load i32* @JITTest_AvailableExternallyGlobal "
> -               "  ret i32 %result "
> -               "} ");
> -  Function *loaderIR = M->getFunction("loader");
> -
> -  int32_t (*loader)() = reinterpret_cast<int32_t(*)()>(
> -    (intptr_t)TheJIT->getPointerToFunction(loaderIR));
> -  EXPECT_EQ(42, loader()) << "func should return 42 from the external
> global,"
> -                          << " not 7 from the IR version.";
> -}
> -
>  // This code is copied from JITEventListenerTest, but it only runs once
> for all
>  // the tests in this directory.  Everything seems fine, but that's strange
>  // behavior.
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20091211/02401464/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rdynamic-jittests.patch
Type: text/x-diff
Size: 423 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20091211/02401464/attachment.patch>


More information about the llvm-commits mailing list