From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7220 invoked by alias); 21 Sep 2006 13:34:16 -0000 Received: (qmail 7149 invoked by uid 48); 21 Sep 2006 13:34:08 -0000 Date: Thu, 21 Sep 2006 13:34:00 -0000 Subject: [Bug middle-end/29166] New: broken unwind information for many life variables resulting in register corruption X-Bugzilla-Reason: CC Message-ID: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "matz at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2006-09/txt/msg02041.txt.bz2 List-Id: Attached is a testcase which shows that some registers are clobbered over throwing/catching an exception: bash>c++ unwind_test.cpp bash>./a.out Checksum not OK ( 42895 != 58377 ). Register corruption in stack unwinding. In the debugger you can see, that the fixed integer registers r4-r7 are not reset correctly during stack unwinding. The value of the callee-saved registers r4-r7 differ before and after the call to test() from main(). This error was reported against gcc-3.3.3 but still happens with gcc 4.1. -- Summary: broken unwind information for many life variables resulting in register corruption Product: gcc Version: 4.1.2 Status: UNCONFIRMED Keywords: EH Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: matz at gcc dot gnu dot org GCC host triplet: ia64-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29166