diff options
| author | Oscar Fuentes <ofv@wanadoo.es> | 2011-07-28 02:33:52 +0000 |
|---|---|---|
| committer | Oscar Fuentes <ofv@wanadoo.es> | 2011-07-28 02:33:52 +0000 |
| commit | a8666a3cdbabf5dedc2ef5bc9f83272a2a7be7bf (patch) | |
| tree | 27e394ebe0c563004f62bea51e6e3c79d498533a | |
| parent | 2d1e353966b429a07c0cfaca53778d140d1fe439 (diff) | |
| download | bcm5719-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
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) |

