[llvm-commits] SVN Trunk broken on LLVMHello.dll on Cygwin platform

Nick Lewycky nicholas at mxc.ca
Thu Feb 26 23:59:15 PST 2009


Duncan Sands wrote:
> Hi Aaron,
> 
>> SVN appears to be broken since yesterday...
> 
> which platform is this on?

The subject line claims it's Cygwin. :)

I don't doubt that this is fallout from my recent build system changes, 
but I still don't know exactly how.

Nick

> 
> Thanks,
> 
> Duncan.
> 
>> Getting the following on a '--enable-pic=no' release build :-
>> ~~~~
>> llvm[3]: Linking Release Loadable Module LLVMHello.dll
>> /usr/build/llvm/lib/Transforms/Hello/Release/Hello.o:Hello.cpp:(.text+0x16):
>> und
>> efined reference to `vtable for llvm::FunctionPass'
>> /usr/build/llvm/lib/Transforms/Hello/Release/Hello.o:Hello.cpp:(.text+0x14b):
>> un
>> defined reference to `llvm::PassInfo::registerPass()'
>> /usr/build/llvm/lib/Transforms/Hello/Release/Hello.o:Hello.cpp:(.text+0x1b2):
>> un
>> defined reference to `llvm::PassInfo::registerPass()'
>> /usr/build/llvm/lib/Transforms/Hello/Release/Hello.o:Hello.cpp:(.text+0x1ea):
>> un
>> defined reference to `vtable for llvm::FunctionPass'
>> /usr/build/llvm/lib/Transforms/Hello/Release/Hello.o:Hello.cpp:(.text+0x1f2):
>> un
>> defined reference to `llvm::Pass::~Pass()'
>> /usr/build/llvm/lib/Transforms/Hello/Release/Hello.o:Hello.cpp:(.text+0x216):
>> un
>> defined reference to `vtable for llvm::FunctionPass'
>> /usr/build/llvm/lib/Transforms/Hello/Release/Hello.o:Hello.cpp:(.text+0x22a):
>> un
>> defined reference to `vtable for llvm::FunctionPass'
>> /usr/build/llvm/lib/Transforms/Hello/Release/Hello.o:Hello.cpp:(.text+0x232):
>> un
>> defined reference to `llvm::Pass::~Pass()'
>> /usr/build/llvm/lib/Transforms/Hello/Release/Hello.o:Hello.cpp:(.text+0x291):
>> un
>> defined reference to `llvm::Value::getNameStr() const'
>> /usr/build/llvm/lib/Transforms/Hello/Release/Hello.o:Hello.cpp:(.text+0x29c):
>> un
>> defined reference to `llvm::EscapeString(std::basic_string<char,
>> std::char_trait
>> s<char>, std::allocator<char> >&)'
>> /usr/build/llvm/lib/Transforms/Hello/Release/Hello.o:Hello.cpp:(.text+0x2a1):
>> un
>> defined reference to `llvm::cerr'
>> /usr/build/llvm/lib/Transforms/Hello/Release/Hello.o:Hello.cpp:(.text+0x2c3):
>> un
>> defined reference to `llvm::cerr'
>> /usr/build/llvm/lib/Transforms/Hello/Release/Hello.o:Hello.cpp:(.text+0x2e3):
>> un
>> defined reference to `llvm::cerr'
>> /usr/build/llvm/lib/Transforms/Hello/Release/Hello.o:Hello.cpp:(.text+0x328):
>> un
>> defined reference to `llvm::Statistic::RegisterStatistic()'
>> /usr/build/llvm/lib/Transforms/Hello/Release/Hello.o:Hello.cpp:(.text+0x391):
>> un
>> defined reference to `llvm::Value::getNameStr() const'
>> /usr/build/llvm/lib/Transforms/Hello/Release/Hello.o:Hello.cpp:(.text+0x39c):
>> un
>> defined reference to `llvm::EscapeString(std::basic_string<char,
>> std::char_trait
>> s<char>, std::allocator<char> >&)'
>> /usr/build/llvm/lib/Transforms/Hello/Release/Hello.o:Hello.cpp:(.text+0x3a1):
>> un
>> defined reference to `llvm::cerr'
>> /usr/build/llvm/lib/Transforms/Hello/Release/Hello.o:Hello.cpp:(.text+0x3c3):
>> un
>> defined reference to `llvm::cerr'
>> /usr/build/llvm/lib/Transforms/Hello/Release/Hello.o:Hello.cpp:(.text+0x3e3):
>> un
>> defined reference to `llvm::cerr'
>> /usr/build/llvm/lib/Transforms/Hello/Release/Hello.o:Hello.cpp:(.text+0x428):
>> un
>> defined reference to `llvm::Statistic::RegisterStatistic()'
>> /usr/build/llvm/lib/Transforms/Hello/Release/Hello.o:Hello.cpp:(.text+0x1b):
>> und
>> efined reference to `llvm::Pass::~Pass()'
>> /usr/build/llvm/lib/Transforms/Hello/Release/Hello.o:Hello.cpp:(.text+0x21b):
>> un
>> defined reference to `llvm::Pass::~Pass()'
>> /usr/build/llvm/lib/Transforms/Hello/Release/Hello.o:Hello.cpp:(.rdata+0x70):
>> un
>> defined reference to `llvm::Pass::getPassName() const'
>> /usr/build/llvm/lib/Transforms/Hello/Release/Hello.o:Hello.cpp:(.rdata+0x74):
>> un
>> defined reference to `llvm::Pass::print(std::basic_ostream<char,
>> std::char_trait
>> s<char> >&, llvm::Module const*) const'
>> /usr/build/llvm/lib/Transforms/Hello/Release/Hello.o:Hello.cpp:(.rdata+0x78):
>> un
>> defined reference to `llvm::FunctionPass::assignPassManager(llvm::PMStack&,
>> llvm
>> ::PassManagerType)'
>> /usr/build/llvm/lib/Transforms/Hello/Release/Hello.o:Hello.cpp:(.rdata+0x90):
>> un
>> defined reference to `llvm::Pass::dumpPassStructure(unsigned int)'
>> /usr/build/llvm/lib/Transforms/Hello/Release/Hello.o:Hello.cpp:(.rdata+0xa0):
>> un
>> defined reference to `llvm::FunctionPass::runOnModule(llvm::Module&)'
>> /usr/build/llvm/lib/Transforms/Hello/Release/Hello.o:Hello.cpp:(.rdata+0xf0):
>> un
>> defined reference to `llvm::Pass::getPassName() const'
>> /usr/build/llvm/lib/Transforms/Hello/Release/Hello.o:Hello.cpp:(.rdata+0xf4):
>> un
>> defined reference to `llvm::Pass::print(std::basic_ostream<char,
>> std::char_trait
>> s<char> >&, llvm::Module const*) const'
>> ...
>> ~~~~
>>
>> And the following on a straight debug build :-
>> ~~~~
>> llvm[3]: Compiling Hello.cpp for Debug build  (PIC)
>> /usr/src/llvm-backup/lib/Transforms/Hello/Hello.cpp:1: warning: -fPIC
>> ignored fo
>> r target (all code is position independent)
>> llvm[3]: Linking Debug Loadable Module LLVMHello.dll
>> /usr/build/llvm-tst/lib/Transforms/Hello/Debug/Hello.o: In function
>> `_ZN80_GLOBA
>> L__N__usr_src_llvm_backup_lib_Transforms_Hello_Hello.cpp_00000000_F77F77826Hello
>> 213runOnFunctionERN4llvm8FunctionE':
>> /usr/src/llvm-backup/lib/Transforms/Hello/Hello.cpp:53: undefined reference
>> to `
>> llvm::EscapeString(std::basic_string<char, std::char_traits<char>,
>> std::allocato
>> r<char> >&)'
>> /usr/src/llvm-backup/lib/Transforms/Hello/Hello.cpp:54: undefined reference
>> to `
>> llvm::cerr'
>> /usr/build/llvm-tst/lib/Transforms/Hello/Debug/Hello.o: In function
>> `_ZN80_GLOBA
>> L__N__usr_src_llvm_backup_lib_Transforms_Hello_Hello.cpp_00000000_F77F77825Hello
>> 13runOnFunctionERN4llvm8FunctionE':
>> /usr/src/llvm-backup/lib/Transforms/Hello/Hello.cpp:34: undefined reference
>> to `
>> llvm::EscapeString(std::basic_string<char, std::char_traits<char>,
>> std::allocato
>> r<char> >&)'
>> /usr/src/llvm-backup/lib/Transforms/Hello/Hello.cpp:35: undefined reference
>> to `
>> llvm::cerr'
>> /usr/build/llvm-tst/lib/Transforms/Hello/Debug/Hello.o: In function
>> `_ZSt17__ver
>> ify_groupingPKcjRKSs':
>> /usr/gcc-4.2.2/lib/gcc/i686-pc-cygwin/4.2.2/../../../../include/c++/4.2.2/bits/l
>> ocale_facets.tcc:2569: undefined reference to
>> `llvm::PassInfo::registerPass()'
>> /usr/gcc-4.2.2/lib/gcc/i686-pc-cygwin/4.2.2/../../../../include/c++/4.2.2/bits/l
>> ocale_facets.tcc:2570: undefined reference to `llvm::Pass::getPassName()
>> const'
>> /usr/gcc-4.2.2/lib/gcc/i686-pc-cygwin/4.2.2/../../../../include/c++/4.2.2/bits/l
>> ocale_facets.tcc:2575: undefined reference to
>> `llvm::Pass::print(std::basic_ostr
>> eam<char, std::char_traits<char> >&, llvm::Module const*) const'
>> /usr/gcc-4.2.2/lib/gcc/i686-pc-cygwin/4.2.2/../../../../include/c++/4.2.2/bits/l
>> ocale_facets.tcc:2575: undefined reference to
>> `llvm::FunctionPass::assignPassMan
>> ager(llvm::PMStack&, llvm::PassManagerType)'
>> /usr/gcc-4.2.2/lib/gcc/i686-pc-cygwin/4.2.2/../../../../include/c++/4.2.2/bits/l
>> ocale_facets.tcc:2576: undefined reference to
>> `llvm::Pass::dumpPassStructure(uns
>> igned int)'
>> /usr/gcc-4.2.2/lib/gcc/i686-pc-cygwin/4.2.2/../../../../include/c++/4.2.2/bits/l
>> ocale_facets.tcc:2576: undefined reference to
>> `llvm::FunctionPass::runOnModule(l
>> lvm::Module&)'
>> egisterPassIN80_GLOBAL__N__usr_src_llvm_backup_lib_Transforms_Hello_Hello.cpp_00
>> 000000_F77F77825HelloEEC1EPKcS5_bb':
>> /usr/src/llvm-backup/include/llvm/PassSupport.h:175: undefined reference to
>> `llv
>> m::Pass::getPassName() const'
>> /usr/src/llvm-backup/include/llvm/PassSupport.h:175: undefined reference to
>> `llv
>> m::Pass::print(std::basic_ostream<char, std::char_traits<char> >&,
>> llvm::Module
>> const*) const'
>> ...
>> ~~~~
>>
>> Aaron
>>
> 
> 




More information about the llvm-commits mailing list