This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: g++ Bug? use of alloca in a function prevents exception handler walkback on ppc linux
- To: Geoff Keating <geoffk at redhat dot com>,Geoff Keating <geoffk at geoffk dot org>,khendricks at ivey dot uwo dot ca
- Subject: Re: g++ Bug? use of alloca in a function prevents exception handler walkback on ppc linux
- From: Franz Sirl <Franz dot Sirl-kernel at lauterbach dot com>
- Date: Thu, 14 Dec 2000 23:31:09 +0100
- Cc: gcc at gcc dot gnu dot org,dje at watson dot ibm dot com
- References: <200012132027.eBDKR6e12042@ashley.ivey.uwo.ca> <00121411275501.17144@localhost> <200012141812.KAA01710@geoffk.org>
On Thursday 14 December 2000 19:12, Geoff Keating wrote:
> > From: "Kevin B. Hendricks" <kevin.hendricks@sympatico.ca>
> > Reply-To: khendricks@ivey.uwo.ca
> > Date: Thu, 14 Dec 2000 11:40:27 -0500
> >
> > With a lot of help from Philipp Lohmann from Sun Germany, we have
> > tracked the problem on ppc linux exception handling to the use of
> > alloca in any function in the path back to the exception handler.
> >
> > This is what causes the "pc" in throw_helper to point out into the weeds.
> >
> > Is this a g++ bug?
>
> It's a libgcc bug.
But hard to fix?
> > Should dynamic allocation of stack space prevent the search back through
> > the function by throw_helper?
>
> No.
>
> > Any guidance about how to deal with this would be greatly appreciated.
>
> It's a known bug. The following workaround is a temporary patch, but
> it causes a performance regression for C++. The correct fix is to
> improve libgcc so that it can deal with this case.
Your patch is against the current mainline, but mainline compiles a correctly
throwing binary with Kevin's testcase. Do you have another testcase or is the
current mainline already fixed and your patch superflous now? If it is fixed,
it must have happened recently, since the 20001106 compiler still produced a
failing binary.
Anyway, Kevin is working with gcc-2.95.3 so I'll look into backporting your
fix, cause I don't have time to do gcc-2.97 RPM's before xmas.
Franz.