This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Exceptions not caught on AIX 4.3.3 with gcc 3.0.4
- From: John Love-Jensen <eljay at adobe dot com>
- To: Rémi Zara <remi_zara at mac dot com>, <gcc-help at gcc dot gnu dot org>
- Date: Tue, 04 Feb 2003 11:04:43 -0600
- Subject: Re: Exceptions not caught on AIX 4.3.3 with gcc 3.0.4
Hi Rémi,
If I recall correctly, exceptions don't work with C++ shared libraries in
3.0.x and earlier.
I know that they didn't work for GCC 2.95, and I know the technical details
why they were broken in 2.95. (Discovered the hard way, using gdb and a lot
of patience.)
It was supposed to be fixed in 3.0, but I recall (vaguely) that it hadn't
been quite fixed correctly. I don't know the exact 3.0 details, and I may
be mistaken about 3.0.
Exceptions thrown out of shared libraries MAY have been fixed in 3.1 or 3.2.
I haven't tested them, as we're using a strict C ABI with shared libraries,
so we do not throw exceptions over shared library boundaries.
Note: with 2.95, one could have a problem even with exceptions throw and
caught WITHIN a shared library. The library needed to be built a special
way (early binding).
The above is pertinent to SunOS, so may or may not be apropos for AIX.
Possible solutions are to use a static library (.a), or to upgrade to the
latest released GCC (3.2.x).
--Eljay