(Answering to myself...) We finally got to a more precise conclusion (thanks to mpsuzuki).
The problem seems to be in the shared version of the libstdc++ that "comes" with gcc 2.95.x. Well, in fact gcc only supplies a static libstdc++ which works fine. In some distributions (don't remember where I got it from), there is a shared libstdc++ as well. This library fails when the code compiled throws an exception: it produces either a segmentation fault or the "BUG IN DYNAMIC LINKER" message below. The version of the library is : libstdc++-3-libc6.1-2-2.10.0.so For me, the workaround was to upgrade to gcc 3.x which supplies a libstdc++.so.3.0.4 that works ok. I haven't found a good shared libstdc for 2.95.x. Jordi Colomer. > Hi, > > I have a C++ executable that links to a shared library also written in C++. > It compiles successfully, the dynamic linker finds all the libraries on > startup, and execution begins ok. When the executable instantiates a given > class defined in the C++ library, I get the following message : > > BUG IN DYNAMIC LINKER ld.so: dl-runtime.c: 67: fixup: Assertion > `((reloc->r_info) & 0xff) == 22' failed! > > The C++ library uses functions from the pthread library, and in the target > system I have libpthread-0.8 and libstdc++-3-libc6.1-2-2.10.0.so installed > (ldd finds all the libraries). > > The toolchain is arm-linux-gcc-2.95.2-2 with arm-linux-glibc-2.1.3-2 > > What could be the cause of this strange behavior ? > > Thanks. x _______________________________________________ http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm http://www.arm.linux.org.uk/armlinux/mailinglists.php Please visit the above addresses for information on this list.
