[llvm-commits] [llvm] r136328 - in /llvm/trunk/lib/Target: ARM/MCTargetDesc/CMakeLists.txt MBlaze/MCTargetDesc/CMakeLists.txt MSP430/MCTargetDesc/CMakeLists.txt Mips/MCTargetDesc/CMakeLists.txt PowerPC/MCTargetDesc/CMakeLists.txt X86/MCTargetDesc/CMakeLists.txt

Oscar Fuentes ofv at wanadoo.es
Wed Jul 27 19:33:52 PDT 2011


Author: ofv
Date: Wed Jul 27 21:33:52 2011
New Revision: 136328

URL: http://llvm.org/viewvc/llvm-project?rev=136328&view=rev
Log:
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'

Modified:
    llvm/trunk/lib/Target/ARM/MCTargetDesc/CMakeLists.txt
    llvm/trunk/lib/Target/MBlaze/MCTargetDesc/CMakeLists.txt
    llvm/trunk/lib/Target/MSP430/MCTargetDesc/CMakeLists.txt
    llvm/trunk/lib/Target/Mips/MCTargetDesc/CMakeLists.txt
    llvm/trunk/lib/Target/PowerPC/MCTargetDesc/CMakeLists.txt
    llvm/trunk/lib/Target/X86/MCTargetDesc/CMakeLists.txt

Modified: llvm/trunk/lib/Target/ARM/MCTargetDesc/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/MCTargetDesc/CMakeLists.txt?rev=136328&r1=136327&r2=136328&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/MCTargetDesc/CMakeLists.txt (original)
+++ llvm/trunk/lib/Target/ARM/MCTargetDesc/CMakeLists.txt Wed Jul 27 21:33:52 2011
@@ -10,3 +10,5 @@
 
 # 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)

Modified: llvm/trunk/lib/Target/MBlaze/MCTargetDesc/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MBlaze/MCTargetDesc/CMakeLists.txt?rev=136328&r1=136327&r2=136328&view=diff
==============================================================================
--- llvm/trunk/lib/Target/MBlaze/MCTargetDesc/CMakeLists.txt (original)
+++ llvm/trunk/lib/Target/MBlaze/MCTargetDesc/CMakeLists.txt Wed Jul 27 21:33:52 2011
@@ -5,3 +5,5 @@
   MBlazeMCTargetDesc.cpp
   )
 add_dependencies(LLVMMBlazeDesc MBlazeCommonTableGen)
+
+target_link_libraries(LLVMMBlazeDesc LLVMMBlazeAsmPrinter)

Modified: llvm/trunk/lib/Target/MSP430/MCTargetDesc/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/MSP430/MCTargetDesc/CMakeLists.txt?rev=136328&r1=136327&r2=136328&view=diff
==============================================================================
--- llvm/trunk/lib/Target/MSP430/MCTargetDesc/CMakeLists.txt (original)
+++ llvm/trunk/lib/Target/MSP430/MCTargetDesc/CMakeLists.txt Wed Jul 27 21:33:52 2011
@@ -3,3 +3,5 @@
   MSP430MCAsmInfo.cpp
   )
 add_dependencies(LLVMMSP430Desc MSP430CommonTableGen)
+
+target_link_libraries(LLVMMSP430Desc LLVMMSP430AsmPrinter)

Modified: llvm/trunk/lib/Target/Mips/MCTargetDesc/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MCTargetDesc/CMakeLists.txt?rev=136328&r1=136327&r2=136328&view=diff
==============================================================================
--- llvm/trunk/lib/Target/Mips/MCTargetDesc/CMakeLists.txt (original)
+++ llvm/trunk/lib/Target/Mips/MCTargetDesc/CMakeLists.txt Wed Jul 27 21:33:52 2011
@@ -3,3 +3,5 @@
   MipsMCAsmInfo.cpp
   )
 add_dependencies(LLVMMipsDesc MipsCommonTableGen)
+
+target_link_libraries(LLVMMipsDesc LLVMMipsAsmPrinter)

Modified: llvm/trunk/lib/Target/PowerPC/MCTargetDesc/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/MCTargetDesc/CMakeLists.txt?rev=136328&r1=136327&r2=136328&view=diff
==============================================================================
--- llvm/trunk/lib/Target/PowerPC/MCTargetDesc/CMakeLists.txt (original)
+++ llvm/trunk/lib/Target/PowerPC/MCTargetDesc/CMakeLists.txt Wed Jul 27 21:33:52 2011
@@ -6,3 +6,5 @@
   PPCPredicates.cpp
   )
 add_dependencies(LLVMPowerPCDesc PowerPCCommonTableGen)
+
+target_link_libraries(LLVMPowerPCDesc LLVMPowerPCAsmPrinter)

Modified: llvm/trunk/lib/Target/X86/MCTargetDesc/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/MCTargetDesc/CMakeLists.txt?rev=136328&r1=136327&r2=136328&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/MCTargetDesc/CMakeLists.txt (original)
+++ llvm/trunk/lib/Target/X86/MCTargetDesc/CMakeLists.txt Wed Jul 27 21:33:52 2011
@@ -9,3 +9,5 @@
 
 # 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)





More information about the llvm-commits mailing list