[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

unexpectedly missing symbols on armel build of bobcat library package



Hi arm(el) porters,

We are experiencing linkage troubles on armel with some of our packages. The 
package stealth (2.00.0-1 currently in experimental) FTBFSed [1] on armel due 
to missing symbols in the bobcat (2.09.02-1 also in experimental). These 
symbols are present in all other architectures, and to my knowledge there is 
no valid reason they not to be considered by for the compiler/linker on armel 
too.

Some investigation actually revealed symbols missing in the armel object files 
as opposite to other architectures (amd64 taken in that case for comparison). 
For the record toolchain versions involved are: gcc-4.4_4.4.4-13 
g++-4.4_4.4.4-13 binutils_2.20.1-14.

adm64 package - shared lib:

wget
http://ftp.debian.org/debian/pool/main/b/bobcat/libbobcat2_2.09.02-1_amd64.deb

$ objdump -T libbobcat.so.2.09.02 | grep Multi | awk '{print $7}' | c++filt 
FBB::MultiStreambuf::~MultiStreambuf()
FBB::MultiStreambuf::setOnce()
FBB::MultiStreambuf::insertStruct(FBB::MultiStreambuf::stream&,
FBB::MultiStreambuf::Insert&)
typeinfo for FBB::MultiStreambuf
FBB::MultiStreambuf::xsputn(char const*, long)
FBB::MultiStreambuf::sync()
typeinfo name for FBB::MultiStreambuf
FBB::MultiStreambuf::pSync()
FBB::MultiStreambuf::stream::setOnce(FBB::MultiStreambuf::stream&)
FBB::MultiStreambuf::overflow(int)
FBB::MultiStreambuf::~MultiStreambuf()
vtable for FBB::MultiStreambuf

amd64 package - static lib:

wget
http://ftp.debian.org/debian/pool/main/b/bobcat/libbobcat-
dev_2.09.02-1_amd64.deb

$ nm libbobcat.a | grep MultiStream | awk '{print $3}' | grep _Z | c++filt 
nm: 76checked5.o: no symbols
FBB::MultiStreambuf::insertStruct(FBB::MultiStreambuf::stream&,
FBB::MultiStreambuf::Insert&)
FBB::MultiStreambuf::sync()
FBB::MultiStreambuf::xsputn(char const*, long)
FBB::MultiStreambuf::overflow(int)
FBB::MultiStreambuf::~MultiStreambuf()
FBB::MultiStreambuf::~MultiStreambuf()
typeinfo for FBB::MultiStreambuf
typeinfo name for FBB::MultiStreambuf
vtable for FBB::MultiStreambuf
FBB::MultiStreambuf::sync()
FBB::MultiStreambuf::pSync()
FBB::MultiStreambuf::xsputn(char const*, long)
FBB::MultiStreambuf::overflow(int)
FBB::MultiStreambuf::~MultiStreambuf()
FBB::MultiStreambuf::~MultiStreambuf()
typeinfo for FBB::MultiStreambuf
typeinfo name for FBB::MultiStreambuf
vtable for FBB::MultiStreambuf
FBB::MultiStreambuf::sync()
FBB::MultiStreambuf::stream::setOnce(FBB::MultiStreambuf::stream&)
FBB::MultiStreambuf::xsputn(char const*, long)
FBB::MultiStreambuf::setOnce()
FBB::MultiStreambuf::overflow(int)
FBB::MultiStreambuf::~MultiStreambuf()
FBB::MultiStreambuf::~MultiStreambuf()
typeinfo for FBB::MultiStreambuf
typeinfo name for FBB::MultiStreambuf
vtable for FBB::MultiStreambuf

All is there, as expected!

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
armel package:

wget
http://ftp.debian.org/debian/pool/main/b/bobcat/libbobcat2_2.09.02-1_armel.deb
$ objdump -T libbobcat.so.2.09.02 | grep Multi | awk '{print $7}' | c++filt 
FBB::MultiStreambuf::setOnce()
FBB::MultiStreambuf::insertStruct(FBB::MultiStreambuf::stream&,
FBB::MultiStreambuf::Insert&)
FBB::MultiStreambuf::pSync()
FBB::MultiStreambuf::stream::setOnce(FBB::MultiStreambuf::stream&)

wget
http://ftp.debian.org/debian/pool/main/b/bobcat/libbobcat-
dev_2.09.02-1_armel.deb

nm libbobcat.a | grep MultiStream | awk '{print $3}' | grep _Z | c++filt 
nm: 76checked5.o: no symbols
FBB::MultiStreambuf::insertStruct(FBB::MultiStreambuf::stream&,
FBB::MultiStreambuf::Insert&)
FBB::MultiStreambuf::pSync()
FBB::MultiStreambuf::stream::setOnce(FBB::MultiStreambuf::stream&)
FBB::MultiStreambuf::setOnce()


No wonder stealth could not link on armel due to at least: 
FBB::MultiStreambuf::xsputn(char const*, int) 
FBB::MultiStreambuf::overflow(int) and MultiStreambuf destructor missing.

Could that be a compiler or linker, or we are missing knowledge for certain 
types in armel. We would appreciate any pointers towards possible resolution 
of the issue.

Please CC to all of us, since we are not subscribed to the list.
Thank you in advance.

[1] URL might be wrapped:
https://buildd.debian.org/fetch.cgi?pkg=stealth&arch=armel&ver=2.00.0-1&stamp=1289131036&file=log&as=raw

-- 
pub 4096R/0E4BD0AB <people.fccf.net/danchev/key pgp.mit.edu>

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: