tools/import-trace: added ElfImporter

The ElfImporter is not a real trace importer, but we locate it
into the import-trace utility, since here the infrastructure is
already in place to import things related to an elf binary into
the database.

The ElfImporter calls objdump and dissassembles an elf binary
and imports the results into the database.

Change-Id: I6e35673c8dbee3b7e8dfc7549d10e5dca9b55935
This commit is contained in:
Christian Dietrich
2013-09-26 16:37:43 +02:00
committed by Gerrit Code Review
parent c87075e598
commit 148b09be2e
4 changed files with 271 additions and 1 deletions

View File

@ -9,6 +9,7 @@ if (BUILD_LLVM_DISASSEMBLER)
RegisterImporter.cc
RandomJumpImporter.cc
AdvancedMemoryImporter.cc
ElfImporter.cc
)
include(FindLLVM)
@ -16,6 +17,10 @@ if (BUILD_LLVM_DISASSEMBLER)
# llvm-config does add -fno-exception to the command line. But this
# breaks some boost libraries.
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LLVM_CXX_FLAGS} -fexceptions")
find_package(Boost 1.42 COMPONENTS regex REQUIRED)
include_directories(${Boost_INCLUDE_DIRS})
link_directories(${Boost_LIBRARY_DIRS})
endif(BUILD_LLVM_DISASSEMBLER)
find_package(MySQL REQUIRED)
@ -31,7 +36,7 @@ target_link_libraries(import-trace
fail-sal)
if (BUILD_LLVM_DISASSEMBLER)
target_link_libraries(import-trace fail-llvmdisassembler fail-sal ${LLVM_LIBS} ${LLVM_LDFLAGS})
target_link_libraries(import-trace fail-llvmdisassembler fail-sal ${LLVM_LIBS} ${LLVM_LDFLAGS} ${Boost_LIBRARIES})
endif (BUILD_LLVM_DISASSEMBLER)
install(TARGETS import-trace RUNTIME DESTINATION bin)