From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30124 invoked by alias); 16 Nov 2002 00:36:00 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 30110 invoked by uid 71); 16 Nov 2002 00:36:00 -0000 Date: Thu, 21 Nov 2002 17:52:00 -0000 Message-ID: <20021116003600.30109.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Wolfgang Bangerth Subject: Re: c++/8047: [i386] Stack corruption with exceptions Reply-To: Wolfgang Bangerth X-SW-Source: 2002-11/txt/msg00799.txt.bz2 List-Id: The following reply was made to PR c++/8047; it has been noted by GNATS. From: Wolfgang Bangerth To: gcc-gnats@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