summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOscar Fuentes <ofv@wanadoo.es>2011-07-28 02:33:52 +0000
committerOscar Fuentes <ofv@wanadoo.es>2011-07-28 02:33:52 +0000
commit4ebc5916e9b3a43af8aff8e1b8744b1644457a4b (patch)
tree25ad65cf48677e75960a958590c0fa14c172a3f7
parent3f01f673e5ed86b3994c4262577112c0dee8ebb0 (diff)
downloadllvm-4ebc5916e9b3a43af8aff8e1b8744b1644457a4b.tar.gz
llvm-4ebc5916e9b3a43af8aff8e1b8744b1644457a4b.tar.bz2
llvm-4ebc5916e9b3a43af8aff8e1b8744b1644457a4b.tar.xz
Explicitly declare a library dependency of LLVM*Desc to
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
-rw-r--r--lib/Target/ARM/MCTargetDesc/CMakeLists.txt2
-rw-r--r--lib/Target/MBlaze/MCTargetDesc/CMakeLists.txt2
-rw-r--r--lib/Target/MSP430/MCTargetDesc/CMakeLists.txt2
-rw-r--r--lib/Target/Mips/MCTargetDesc/CMakeLists.txt2
-rw-r--r--lib/Target/PowerPC/MCTargetDesc/CMakeLists.txt2
-rw-r--r--lib/Target/X86/MCTargetDesc/CMakeLists.txt2
6 files changed, 12 insertions, 0 deletions
diff --git a/lib/Target/ARM/MCTargetDesc/CMakeLists.txt b/lib/Target/ARM/MCTargetDesc/CMakeLists.txt
index aca5671677..df2cf81be2 100644
--- a/lib/Target/ARM/MCTargetDesc/CMakeLists.txt
+++ b/lib/Target/ARM/MCTargetDesc/CMakeLists.txt
@@ -10,3 +10,5 @@ add_dependencies(LLVMARMDesc ARMCommonTableGen)
# 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)
diff --git a/lib/Target/MBlaze/MCTargetDesc/CMakeLists.txt b/lib/Target/MBlaze/MCTargetDesc/CMakeLists.txt
index ef8d679d74..247dfe884e 100644
--- a/lib/Target/MBlaze/MCTargetDesc/CMakeLists.txt
+++ b/lib/Target/MBlaze/MCTargetDesc/CMakeLists.txt
@@ -5,3 +5,5 @@ add_llvm_library(LLVMMBlazeDesc
MBlazeMCTargetDesc.cpp
)
add_dependencies(LLVMMBlazeDesc MBlazeCommonTableGen)
+
+target_link_libraries(LLVMMBlazeDesc LLVMMBlazeAsmPrinter)
diff --git a/lib/Target/MSP430/MCTargetDesc/CMakeLists.txt b/lib/Target/MSP430/MCTargetDesc/CMakeLists.txt
index f30317b606..45b9ae8895 100644
--- a/lib/Target/MSP430/MCTargetDesc/CMakeLists.txt
+++ b/lib/Target/MSP430/MCTargetDesc/CMakeLists.txt
@@ -3,3 +3,5 @@ add_llvm_library(LLVMMSP430Desc
MSP430MCAsmInfo.cpp
)
add_dependencies(LLVMMSP430Desc MSP430CommonTableGen)
+
+target_link_libraries(LLVMMSP430Desc LLVMMSP430AsmPrinter)
diff --git a/lib/Target/Mips/MCTargetDesc/CMakeLists.txt b/lib/Target/Mips/MCTargetDesc/CMakeLists.txt
index 332c1a0a8b..98760c5cd2 100644
--- a/lib/Target/Mips/MCTargetDesc/CMakeLists.txt
+++ b/lib/Target/Mips/MCTargetDesc/CMakeLists.txt
@@ -3,3 +3,5 @@ add_llvm_library(LLVMMipsDesc
MipsMCAsmInfo.cpp
)
add_dependencies(LLVMMipsDesc MipsCommonTableGen)
+
+target_link_libraries(LLVMMipsDesc LLVMMipsAsmPrinter)
diff --git a/lib/Target/PowerPC/MCTargetDesc/CMakeLists.txt b/lib/Target/PowerPC/MCTargetDesc/CMakeLists.txt
index a2b20b29c7..78e7ab5a80 100644
--- a/lib/Target/PowerPC/MCTargetDesc/CMakeLists.txt
+++ b/lib/Target/PowerPC/MCTargetDesc/CMakeLists.txt
@@ -6,3 +6,5 @@ add_llvm_library(LLVMPowerPCDesc
PPCPredicates.cpp
)
add_dependencies(LLVMPowerPCDesc PowerPCCommonTableGen)
+
+target_link_libraries(LLVMPowerPCDesc LLVMPowerPCAsmPrinter)
diff --git a/lib/Target/X86/MCTargetDesc/CMakeLists.txt b/lib/Target/X86/MCTargetDesc/CMakeLists.txt
index be113711c0..4e7995d76b 100644
--- a/lib/Target/X86/MCTargetDesc/CMakeLists.txt
+++ b/lib/Target/X86/MCTargetDesc/CMakeLists.txt
@@ -9,3 +9,5 @@ add_dependencies(LLVMX86Desc X86CommonTableGen)
# 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)