[Bug target/47324] r157762 caused g++.dg/torture/stackalign failures with -O3 -g at -m32 on darwin
howarth at nitro dot med.uc.edu
gcc-bugzilla@gcc.gnu.org
Wed Feb 9 05:18:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47324
--- Comment #20 from Jack Howarth <howarth at nitro dot med.uc.edu> 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.
More information about the Gcc-bugs
mailing list