This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
binary compatibility between g++ 3.3.1 and 3.4.3 on Redhat Linux 64 bit (x86_64)
- From: "Rathi, Dinesh" <drathi at informatica dot com>
- To: <gcc-help at gcc dot gnu dot org>
- Date: Fri, 21 Apr 2006 16:44:30 +0530
- Subject: binary compatibility between g++ 3.3.1 and 3.4.3 on Redhat Linux 64 bit (x86_64)
Hi
I have my executable built using g++ 3.3.1 and I am trying
to use a third party library built using g++ 3.4.3 (I don't link to it,
use dlopen to load it). I am seeing a crash like
*** glibc detected *** double free or corruption
(out):0x0000000000f1ed70 *** and the stack trace is also put below.
I tried to search information on it and it seems that binary built with
g++ 3.3.1 and 3.4.3 might be binary incompatible with each other, though
I could not find confirmation for x86_64 arch (gcc release notes mention
it for sparc/ mips). Does anyone know for sure that this wont work? Also
g++ 3.3.1 links with libstdc++.so.5 while 3.4.3 with libstdc++.so.6, as
a result both these libraries get loaded in context of my executable, is
that fine or can it give some trouble.
Any information would be helpful!
#0 0x0000003a1a92e4dd in raise () from /lib64/tls/libc.so.6
(gdb) where
#0 0x0000003a1a92e4dd in raise () from /lib64/tls/libc.so.6
#1 0x0000003a1a92fc8e in abort () from /lib64/tls/libc.so.6
#2 0x0000003a1a962b41 in __libc_message () from /lib64/tls/libc.so.6
#3 0x0000003a1a96846f in _int_free () from /lib64/tls/libc.so.6
#4 0x0000003a1a968a06 in free () from /lib64/tls/libc.so.6
#5 0x0000003a1d6ade9e in operator delete () from
/usr/lib64/libstdc++.so.6
#6 0x0000003a1d6902b2 in std::string::_Rep::_M_destroy () from
/usr/lib64/libstdc++.so.6
....
Thanks
Dinesh