Написание LLVM-прохода из исходных кодов llvm неопределенных символов - PullRequest
0 голосов
/ 24 мая 2018

Я пытаюсь создать проход LLVM из исходного кода LLVM.Я следовал инструкциям на http://llvm.org/docs/CMake.html#developing-llvm-passes-out-of-source. Makefile содержит следующее:

cmake_minimum_required(VERSION 3.4.3)
project(SimpleProject)

find_package(LLVM REQUIRED CONFIG)

set (CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_FLAGS "-std=c++11 -Wall -fno-rtti -D_GLIBCXX_USE_CXX11_ABI=0")

include_directories(${LLVM_INCLUDE_DIRS})
add_definitions(${LLVM_DEFINITIONS})
add_subdirectory(testpass)

и Makefile в подкаталоге:

add_library(TestPass MODULE TestPass.cpp)

Пропуск собирается без нареканий, но когдаЯ пытаюсь запустить его с

sudo opt load /path/to/testpass/TestPass.so TestPass < testprogram.bc > /dev/null

Я получаю следующее сообщение об ошибке:

Error opening /path/to/testpass/TestPass.so': /path/to/testpass/TestPass.so: undefined symbol: _ZNK4llvm10ModulePass17createPrinterPassERNS_11raw_ostreamERKSs
-load request ignored.

Я новичок в системе LLVM и всегда имею проблемы с make-файлами.

...