2012-03-12 71 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的输出解决了它。