Binary compatibility of gcc 3.4.4 and gcc 4.2.0

jvl072170@cse.iitd.ernet.in jvl072170@cse.iitd.ernet.in
Tue Mar 17 04:34:00 GMT 2009


Yes,

Since libstdc++.so.6.0.8 is a higher version over libstdc++.so.6.0.3,
are they not binary compatible??
Do they use the same or different name mangling algorithms??

When the application binary interface of GNU gcc 3.4.4 and GNU gcc 4.2.0
is same, what else do we need to see to check their compatibility?

My work environment is g++ 4.2.0 but my program has to link with a static
library which has been compiled with g++ 3.4.4.













On Mon, 16 Mar 2009, Andrew Haley wrote:
>
>>> I want to build a program in GNU g++ 4.2.0 linking it with a static
>>> librrayd object built using gcc 3.4.4. Does the libxyz.a compiled using
>>> gcc 3.4.4 link properly with a program being compiled using gcc 4.2.0
>>
>> Usually yes, but not with C++.
>>
>>> I checked both the compilers use ABI version 2.
>>> Version 4.2.o uses libstdc++.so.6.0.8 while 3.4.4. uses
>>> libstdc++.so.6.0.3.
>>> What is the diffrence among these two versions of libstdc++??
>>
>> These libraries are not binary compatible, sorry.  You'll have to
>> recompile.
>
> Are you sure about that? They are both libstdc++.so.6, so the more recent
> version is supposed to be backwards compatible with the older one. Or were
> you talking about something else?
>
> To the OP: not saying what error you get does not help...
>
> --
> Marc Glisse
>




More information about the Gcc-help mailing list