(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.

Reply via email to