Linking to proprietary C++ library in old ABI format using gcc-3. 2

Nic Groenewald
Wed Dec 10 17:26:00 GMT 2003


We have just finished preliminary porting of a product from Tru64 to SuSe
Linux 8 (UL 1.0). Unfortunately we ran into a well known "problem" in that
the ABI has changed somewhere between gcc-2.95 and gcc-3.2. We make use of a
proprietary C++ library which the vendor is only able to supply to us as
compiled by gcc-2.95. As it would be a major undertaking for us to move to
another database/C only version of their library I was wondering/hoping
there are other solutions out there.

>From what I can gather from the Changelogs up to gcc-3.2 the facility to
generate objects files in the old ABI format (--disable-new-gxx-abi) has
been removed from the compiler's source - is there any point in falling back
to an older version of gcc and using this to compile our source (and
libstdc++) into binaries using the old ABI ?

We have had a stab at getting our source to compile with gcc-2.95 but
straight away ran into problems in that std::wstring is not available for
the libstdc++ shipped with it. We also make heavy use of exceptions &
templates in our source and are not sure whether we would get the required
level of support in 2.95. Has anyone tried compiling the newer libstdc++ (as
shipped with gcc-3.x) with gcc-2.95 ?

Any help/suggestions are appreciated.


Nic Groenewald
C++ Developer

LogicaCMG Wireless Data Solutions (Africa) (Pty) Limited

Physical Address: Block B
The Wedgewood Office Park
3 Muswell Road South
South Africa

Postal Address: PO Box 71704 
Bryanston 2021
South Africa

T:  +27 (0)11 463 8515
F:  +27 (0)11 463 2596
M: +27 (0)84 449 3205

More information about the Gcc-help mailing list