[llvm] r222861 - [MCJIT] Remove JITEventListener's anchor until I can determine the right place

Lang Hames lhames at gmail.com
Wed Nov 26 17:13:54 PST 2014


It broke one of the MingGW bots (not Mips, apologies for that - I clearly
need more sleep). See:
http://bb.pgr.jp/builders/ninja-clang-x64-mingw64-RA/builds/5386 :

lib/ExecutionEngine/RuntimeDyld/CMakeFiles/LLVMRuntimeDyld.dir/GDBRegistrationListener.cpp.obj:GDBRegistrationListener.cpp:(.text+0x28b):
undefined reference to `vtable for llvm::JITEventListener'

Now that I've had a chance to think about it, I think the problem is just
that defining the anchor in ExecutionEngine (where it really does belong),
then defining GDBRegistrationListener in RuntimeDyld is a layering
violation: RuntimeDyld can't depend on ExecutionEngine. I'll move
GDBRegistrationListener up to ExecutionEngine - that should fix this.

Cheers,
Lang.


On Wed, Nov 26, 2014 at 4:58 PM, David Blaikie <dblaikie at gmail.com> wrote:

>
>
> On Wed, Nov 26, 2014 at 4:15 PM, Lang Hames <lhames at gmail.com> wrote:
>
>> Author: lhames
>> Date: Wed Nov 26 18:15:28 2014
>> New Revision: 222861
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=222861&view=rev
>> Log:
>> [MCJIT] Remove JITEventListener's anchor until I can determine the right
>> place
>> to put it. This should unbreak the Mips bots.
>>
>
> What was the problem with where it was?
>
>
>>
>>
>> Modified:
>>     llvm/trunk/include/llvm/ExecutionEngine/JITEventListener.h
>>     llvm/trunk/lib/ExecutionEngine/ExecutionEngine.cpp
>>
>> Modified: llvm/trunk/include/llvm/ExecutionEngine/JITEventListener.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ExecutionEngine/JITEventListener.h?rev=222861&r1=222860&r2=222861&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/include/llvm/ExecutionEngine/JITEventListener.h (original)
>> +++ llvm/trunk/include/llvm/ExecutionEngine/JITEventListener.h Wed Nov 26
>> 18:15:28 2014
>> @@ -113,8 +113,6 @@ public:
>>      return nullptr;
>>    }
>>  #endif // USE_OPROFILE
>> -private:
>> -  virtual void anchor();
>>  };
>>
>>  } // end namespace llvm.
>>
>> Modified: llvm/trunk/lib/ExecutionEngine/ExecutionEngine.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ExecutionEngine/ExecutionEngine.cpp?rev=222861&r1=222860&r2=222861&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/ExecutionEngine/ExecutionEngine.cpp (original)
>> +++ llvm/trunk/lib/ExecutionEngine/ExecutionEngine.cpp Wed Nov 26
>> 18:15:28 2014
>> @@ -48,9 +48,6 @@ ExecutionEngine *(*ExecutionEngine::MCJI
>>  ExecutionEngine *(*ExecutionEngine::InterpCtor)(std::unique_ptr<Module>
>> M,
>>                                                  std::string *ErrorStr)
>> =nullptr;
>>
>> -// Anchor for the JITEventListener class.
>> -void JITEventListener::anchor() {}
>> -
>>  ExecutionEngine::ExecutionEngine(std::unique_ptr<Module> M)
>>    : EEState(*this),
>>      LazyFunctionCreator(nullptr) {
>>
>>
>> _______________________________________________
>> 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/20141126/047a5e03/attachment.html>


More information about the llvm-commits mailing list