2012-03-12 9 views
3

LLVM 3.0で2つの別々のライブラリを作成し、それらをリンクさせるときはいつでも。私はいつも出口で次のスタックトレースを取得します。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() 

私は、コアコンポーネントとターゲットコンポーネントから1つの共有ライブラリを作成しています。

私が呼び出し試してみました:

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

進める方法上の任意のアイデアを?

答えて

0

誰かが不思議に思うような場合に備えて、簡単な解決策を見つけました。 configureスクリプトの--enable-sharedオプション(デフォルトでは無効)は、LLVM-3.X共有ライブラリを作成します。これに接続して、llvm-config --libs coreの出力ではなく、それを解決しました。