[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 03:32:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47324
--- Comment #19 from Jack Howarth <howarth at nitro dot med.uc.edu> 2011-02-09 02:50:21 UTC ---
Could this be the problem code?
static void
output_cfa_loc (dw_cfi_ref cfi)
{
dw_loc_descr_ref loc;
unsigned long size;
if (cfi->dw_cfi_opc == DW_CFA_expression)
{
dw2_asm_output_data (1, cfi->dw_cfi_oprnd1.dw_cfi_reg_num, NULL); <======
loc = cfi->dw_cfi_oprnd2.dw_cfi_loc;
}
else
loc = cfi->dw_cfi_oprnd1.dw_cfi_loc;
/* Output the size of the block. */
size = size_of_locs (loc);
dw2_asm_output_data_uleb128 (size, NULL);
/* Now output the operations themselves. */
output_loc_sequence (loc);
}
dw_cfi_oprnd1.dw_cfi_reg_num is being passed to dw2_asm_output_data() directly
with out being processed through DWARF2_FRAME_REG_OUT first.
More information about the Gcc-bugs
mailing list