summaryrefslogtreecommitdiffstats
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
commita8666a3cdbabf5dedc2ef5bc9f83272a2a7be7bf (patch)
tree27e394ebe0c563004f62bea51e6e3c79d498533a
parent2d1e353966b429a07c0cfaca53778d140d1fe439 (diff)
downloadbcm5719-llvm-a8666a3cdbabf5dedc2ef5bc9f83272a2a7be7bf.tar.gz
bcm5719-llvm-a8666a3cdbabf5dedc2ef5bc9f83272a2a7be7bf.zip
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' llvm-svn: 136328
-rw-r--r--llvm/lib/Target/ARM/MCTargetDesc/CMakeLists.txt2
-rw-r--r--llvm/lib/Target/MBlaze/MCTargetDesc/CMakeLists.txt2
-rw-r--r--llvm/lib/Target/MSP430/MCTargetDesc/CMakeLists.txt2
-rw-r--r--llvm/lib/Target/Mips/MCTargetDesc/CMakeLists.txt2
-rw-r--r--llvm/lib/Target/PowerPC/MCTargetDesc/CMakeLists.txt2
-rw-r--r--llvm/lib/Target/X86/MCTargetDesc/CMakeLists.txt2
6 files changed, 12 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/MCTargetDesc/CMakeLists.txt b/llvm/lib/Target/ARM/MCTargetDesc/CMakeLists.txt
index aca56716779..df2cf81be2c 100644
--- a/llvm/lib/Target/ARM/MCTargetDesc/CMakeLists.txt
+++ b/llvm/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/llvm/lib/Target/MBlaze/MCTargetDesc/CMakeLists.txt b/llvm/lib/Target/MBlaze/MCTargetDesc/CMakeLists.txt
index ef8d679d745..247dfe884ea 100644
--- a/llvm/lib/Target/MBlaze/MCTargetDesc/CMakeLists.txt
+++ b/llvm/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/llvm/lib/Target/MSP430/MCTargetDesc/CMakeLists.txt b/llvm/lib/Target/MSP430/MCTargetDesc/CMakeLists.txt
index f30317b606b..45b9ae88954 100644
--- a/llvm/lib/Target/MSP430/MCTargetDesc/CMakeLists.txt
+++ b/llvm/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/llvm/lib/Target/Mips/MCTargetDesc/CMakeLists.txt b/llvm/lib/Target/Mips/MCTargetDesc/CMakeLists.txt
index 332c1a0a8b0..98760c5cd25 100644
--- a/llvm/lib/Target/Mips/MCTargetDesc/CMakeLists.txt
+++ b/llvm/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/llvm/lib/Target/PowerPC/MCTargetDesc/CMakeLists.txt b/llvm/lib/Target/PowerPC/MCTargetDesc/CMakeLists.txt
index a2b20b29c7d..78e7ab5a808 100644
--- a/llvm/lib/Target/PowerPC/MCTargetDesc/CMakeLists.txt
+++ b/llvm/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/llvm/lib/Target/X86/MCTargetDesc/CMakeLists.txt b/llvm/lib/Target/X86/MCTargetDesc/CMakeLists.txt
index be113711c05..4e7995d76b8 100644
--- a/llvm/lib/Target/X86/MCTargetDesc/CMakeLists.txt
+++ b/llvm/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)
OpenPOWER on IntegriCloud