From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17969 invoked by alias); 9 Feb 2011 05:10:59 -0000 Received: (qmail 17960 invoked by uid 22791); 9 Feb 2011 05:10:58 -0000 X-SWARE-Spam-Status: No, hits=-2.6 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 09 Feb 2011 05:10:54 +0000 From: "howarth at nitro dot med.uc.edu" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/47324] r157762 caused g++.dg/torture/stackalign failures with -O3 -g at -m32 on darwin X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: howarth at nitro dot med.uc.edu X-Bugzilla-Status: NEW X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Date: Wed, 09 Feb 2011 05:18:00 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2011-02/txt/msg01133.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47324 --- Comment #20 from Jack Howarth 2011-02-09 05:10:26 UTC --- Tested... Index: gcc/dwarf2out.c =================================================================== --- gcc/dwarf2out.c (revision 169960) +++ gcc/dwarf2out.c (working copy) @@ -5454,11 +5454,12 @@ static void output_cfa_loc (dw_cfi_ref cfi) { dw_loc_descr_ref loc; - unsigned long size; + unsigned long r, size; if (cfi->dw_cfi_opc == DW_CFA_expression) { - dw2_asm_output_data (1, cfi->dw_cfi_oprnd1.dw_cfi_reg_num, NULL); + r = DWARF2_FRAME_REG_OUT (cfi->dw_cfi_oprnd1.dw_cfi_reg_num, 1); + dw2_asm_output_data (1, (cfi->dw_cfi_opc | (r & 0x3f)), NULL); loc = cfi->dw_cfi_oprnd2.dw_cfi_loc; } else which bootstraps but the g++.dg/torture/stackalign/eh-alloca-1.C -O0 execution test just hangs. I passed 1 to DWARF2_FRAME_REG_OUT because for_eh wasn't available which I guess isn't correct.