Ошибка при связывании LLVM

Всякий раз, когда я создаю две отдельные библиотеки с 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 ()

Я создаю одну общую библиотеку из компонента Core и одну из компонента Target.

Я пытался позвонить:

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

Любые идеи о том, как поступить?

1 ответ

Я нашел простое решение на случай, если кому-то интересно. Параметр --enable-shared (по умолчанию отключен) в скрипте конфигурации создает общую библиотеку LLVM-3.X. Ссылка на это, а не на выход llvm-config --libs core решил это.

Другие вопросы по тегам