karelklic / canal

Abstract interpreter for real-world application programs
https://github.com/karelklic/canal/wiki
Other
32 stars 3 forks source link

Canal tool does not link against LLVM 3.0 built via download script #163

Closed xbrukner closed 11 years ago

xbrukner commented 11 years ago
Linking CXX executable canal
/home/xbrukner/llvm-build-30/lib/libLLVMPowerPCDesc.a(PPCMCTargetDesc.o): In function `createPPCMCInstPrinter(llvm::Target const&, unsigned int, llvm::MCAsmInfo const&, llvm::MCSubtargetInfo const&)':
PPCMCTargetDesc.cpp:(.text+0x20): undefined reference to `vtable for llvm::PPCInstPrinter'
/home/xbrukner/llvm-build-30/lib/libLLVMMipsDesc.a(MipsMCTargetDesc.o): In function `createMipsMCInstPrinter(llvm::Target const&, unsigned int, llvm::MCAsmInfo const&, llvm::MCSubtargetInfo const&)':
MipsMCTargetDesc.cpp:(.text+0x11): undefined reference to `vtable for llvm::MipsInstPrinter'
/home/xbrukner/llvm-build-30/lib/libLLVMMSP430Desc.a(MSP430MCTargetDesc.o): In function `createMSP430MCInstPrinter(llvm::Target const&, unsigned int, llvm::MCAsmInfo const&, llvm::MCSubtargetInfo const&)':
MSP430MCTargetDesc.cpp:(.text+0x17): undefined reference to `vtable for llvm::MSP430InstPrinter'

According to this page (http://lists.cs.uiuc.edu/pipermail/llvmdev/2011-July/041968.html) it is a bug in LLVM.

karelklic commented 11 years ago

We try to avoid this bug by searching for libLLVM-{major}.{minor}.so shared library and using it before using static libraries such as libLLVMPowerPCDesc.a. The shared library does not break the linking process.