This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/47324] r157762 caused g++.dg/torture/stackalign failures with -O3 -g at -m32 on darwin
- From: "howarth at nitro dot med.uc.edu" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 10 Feb 2011 02:19:06 +0000
- Subject: [Bug target/47324] r157762 caused g++.dg/torture/stackalign failures with -O3 -g at -m32 on darwin
- Auto-submitted: auto-generated
- References: <bug-47324-4@http.gcc.gnu.org/bugzilla/>
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))