[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
Thu Feb 10 03:03:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47324
--- Comment #29 from Jack Howarth <howarth at nitro dot med.uc.edu> 2011-02-10 02:18:36 UTC ---
(In reply to comment #28)
> Then let's find out why that is.
>
> The patch in comment #23 looks clearly incorrect to me.
Okay. The problem with the patch in Comment 27 is that it only partially fixes
the output for DW_CFA_expression. With the partial patch the failing test cases
still fail but now produce...
terminate called after throwing an instance of 'A'
The output now shows...
[MacPro:~/work] howarth% dwarfdump --eh-frame eh-alloca-1.exe | grep -A8
__Z3fooi
start_addr: 0x00001d20 __Z3fooi range_size:
0x000000b5 (end_addr = 0x00001dd5) LSDA address: 0x00002094 Instructions:
0x00001d20: CFA=esp+4 eip=[esp] DW_CFA_advance_loc4 (4)
DW_CFA_def_cfa (ecx, 0)
0x00001d24: CFA=ecx eip=[ecx-4]
DW_CFA_advance_loc4 (7)
DW_CFA_expression (ebp, expr(esp0))
with -O3 -g. Before the partial patch we had....
DW_CFA_expression (esp, expr(esp0))
but we want
DW_CFA_expression (ebp, expr(ebp0))
More information about the Gcc-bugs
mailing list