c++/8047: [i386] Stack corruption with exceptions
Wolfgang Bangerth
bangerth@ticam.utexas.edu
Thu Nov 21 17:52:00 GMT 2002
The following reply was made to PR c++/8047; it has been noted by GNATS.
From: Wolfgang Bangerth <bangerth@ticam.utexas.edu>
To: gcc-gnats@gcc.gnu.org, <gcc-bugs@gcc.gnu.org>
Cc:
Subject: Re: c++/8047: [i386] Stack corruption with exceptions
Date: Fri, 15 Nov 2002 18:31:44 -0600 (CST)
I just looked at this report. A reduced testcase is this:
-----------------------------------
struct auto_ptr {
auto_ptr(int) { }
};
int foo() { throw 5; }
int main()
{
label:
try {
auto_ptr x(foo());
}
catch (...)
{
}
goto label;
}
----------------------------------
On closer examination, I believe this to be actually a stack corruption
bug, because if I put a breakpoint into the loop, I can see how the stack
pointer is decreased by 8 bytes in each iteration, which eventually leads
to the program running out of space. Note that this behavior requires that
you use -march=386, using i686 does not trigger the problem.
Regards
Wolfgang
-------------------------------------------------------------------------
Wolfgang Bangerth email: bangerth@ticam.utexas.edu
www: http://www.ticam.utexas.edu/~bangerth
More information about the Gcc-prs
mailing list