2012-03-12 98 views
3

每當我用LLVM 3.0創建兩個單獨的庫並將它們鏈接在一起時。我總是在退出時獲得以下堆棧跟蹤。鏈接LLVM的錯誤

Program received signal EXC_BAD_ACCESS, Could not access memory. 
Reason: KERN_PROTECTION_FAILURE at address: 0x00000001004b0000 
#0 0x00007fff8a95cda2 in memmove$VARIANT$sse42() 
#1 0x00000001006020a0 in llvm::PassRegistry::removeRegistrationListener() 
#2 0x00000001005fbe60 in llvm::cl::list<llvm::PassInfo const*, bool, llvm::PassNameParser>::~list() 
#3 0x00007fff8a9767c8 in __cxa_finalize() 
#4 0x00007fff8a976652 in exit() 

我從Core組件創建一個共享庫,並從Target組件中創建一個共享庫。

我已經打過電話:

LLVMPassRegistryRef pass_registry = LLVMGetGlobalPassRegistry(); 
LLVMInitializeCore(pass_registry); 

對如何進行任何想法?

回答

0

我發現一個簡單的解決方案,如果有人想知道。 configure腳本上的--enable-shared選項(默認爲禁用)將創建LLVM-3.X共享庫。鏈接到這個而不是llvm-config --libs core的輸出解決了它。