3

每当我使用 LLVM 3.0 创建两个单独的库并将它们链接在一起时。我总是在退出时得到以下堆栈跟踪。

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 ()

我正在从核心组件和目标组件创建一个共享库。

我试过打电话:

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

关于如何进行的任何想法?

4

1 回答 1

0

如果有人想知道,我找到了一个简单的解决方案。配置脚本上的 --enable-shared 选项(默认禁用)创建 LLVM-3.X 共享库。链接到这个而不是llvm-config --libs core解决它的输出。

于 2012-03-14T03:19:14.827 回答