LLVM*AsmPrinter.
GenLibDeps.pl fails to detect vtable references. As this is the only
referenced symbol from LLVM*Desc to LLVM*AsmPrinter on optimized
builds, the algorithm that creates the list of libraries to be linked
into tools doesn't know about the dependency and sometimes places the
libraries on the wrong order, yielding error messages like this:
../../lib/libLLVMARMDesc.a(ARMMCTargetDesc.cpp.o): In function
`llvm::ARMInstPrinter::ARMInstPrinter(llvm::MCAsmInfo const&)':
ARMMCTargetDesc.cpp:(.text._ZN4llvm14ARMInstPrinterC1ERKNS_9MCAsmInfoE
[llvm::ARMInstPrinter::ARMInstPrinter(llvm::MCAsmInfo
const&)]+0x2a): undefined reference to `vtable for
llvm::ARMInstPrinter'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136328
91177308-0d34-0410-b5e6-
96231b3b80d8
# Hack: we need to include 'main' target directory to grab private headers
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/.. ${CMAKE_CURRENT_BINARY_DIR}/..)
+
+target_link_libraries(LLVMARMDesc LLVMARMAsmPrinter)
MBlazeMCTargetDesc.cpp
)
add_dependencies(LLVMMBlazeDesc MBlazeCommonTableGen)
+
+target_link_libraries(LLVMMBlazeDesc LLVMMBlazeAsmPrinter)
MSP430MCAsmInfo.cpp
)
add_dependencies(LLVMMSP430Desc MSP430CommonTableGen)
+
+target_link_libraries(LLVMMSP430Desc LLVMMSP430AsmPrinter)
MipsMCAsmInfo.cpp
)
add_dependencies(LLVMMipsDesc MipsCommonTableGen)
+
+target_link_libraries(LLVMMipsDesc LLVMMipsAsmPrinter)
PPCPredicates.cpp
)
add_dependencies(LLVMPowerPCDesc PowerPCCommonTableGen)
+
+target_link_libraries(LLVMPowerPCDesc LLVMPowerPCAsmPrinter)
# Hack: we need to include 'main' target directory to grab private headers
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/.. ${CMAKE_CURRENT_BINARY_DIR}/..)
+
+target_link_libraries(LLVMX86Desc LLVMX86AsmPrinter)