Hi guys, We've been experiencing missing symbols on armel architecture with a C++ library for quite some time, and application linking with that library fails to link as well. The bug in question is: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=602817 stealth application build logs: https://buildd.debian.org/status/package.php?p=stealth&suite=sid bobcat library build logs: https://buildd.debian.org/status/package.php?p=bobcat&suite=sid (you can get the sources of these from Debian archive or from stealth.sf.net and bobcat.sf.net resp. ) The problematic part on armel is to be found in this class: bobcat/multistreambuf/ Missing symbols are probably related to the following usage pattern (all valid code in my opinion) of members: MultiStreambuf::overflow(int c) MultiStreambuf::sync() MultiStreambuf::xsputn(char const *buffer, std::streamsize n) * all are private virtual; * all implemented in separate translation unit (multistreambuf.ih); * all inlined * dtor for MultiStreambuf class is not explicitly defined. Or any architecture (except armel) these symbols are there; on amd64 for instance: $ objdump -T /usr/lib/libbobcat.so.2.15.02 | c++filt | objdump -T /usr/lib/libbobcat.so.2.15.02 | c++filt | grep MultiStreambuf::sync 0000000000059b20 w DF .text 0000000000000005 Base FBB::MultiStreambuf::sync() On armel they are not, and the stealth program fails to link as well. This is observed with g++-4.{5, 6} --std=c++0x. You can grab the debs of the bobcat library and stealth app from Debian archive for any architecture and perform 'ar -x' on it, then unpack data.tar to decompose it: http://ftp.de.debian.org/debian/pool/main/b/bobcat/libbobcat2_2.15.02-1_amd64.deb http://ftp.de.debian.org/debian/pool/main/b/bobcat/libbobcat2_2.15.02-1_armel.deb inspect with objdump as well. The main question is: is this a bug in the toolchain (compiler, linker) or bug in the library code itself? Note, that we are not quite looking for workarounds (dropping inline, moving it to another translation unit, etc), but to understand the root cause behind that. Please, let us know whether we need to provide more information? Also I wonder whether the missing symbols has anything to do with: http://gcc.gnu.org/faq.html#vtables but then again why is that only observed on armel? Please CC as I'm not subscribed to this list. Thank you. -- pub 4096R/0E4BD0AB <people.fccf.net/danchev/key pgp.mit.edu>