http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47324

--- Comment #11 from Jack Howarth <howarth at nitro dot med.uc.edu> 2011-02-08 
02:18:30 UTC ---
(In reply to comment #9)
> Did this ever work?  :-(

This appears to work for Apple gcc 4.2.1 in SL...

g++ eh-alloca-1.C -nostdinc++ -O3 -multiply_defined suppressed -lm -m32 -o
./eh-alloca-1.exe

which creates a non-crashing executable with or without -g.

[MacPro:g++.dg/torture/stackalign] howarth% dwarfdump --eh-frame
eh-alloca-1.exe.withg | grep -A9 __Z3fooi
    start_addr: 0x00001c90 __Z3fooi
    range_size: 0x000000c8 (end_addr = 0x00001d58)
  LSDA address: 0x00001e50
  Instructions: 0x00001c90: CFA=esp+4     eip=[esp]
                DW_CFA_advance_loc4 (1)
                DW_CFA_def_cfa_offset (8)
                DW_CFA_offset (ebp, -8)
                0x00001c91: CFA=esp+8     ebp=[esp]  eip=[esp+4]
                DW_CFA_advance_loc4 (2)
                DW_CFA_def_cfa_register (ebp)
[MacPro:g++.dg/torture/stackalign] howarth% dwarfdump --eh-frame
eh-alloca-1.exe.withoutg | grep -A9 __Z3fooi
    start_addr: 0x00001c90 __Z3fooi
    range_size: 0x000000c8 (end_addr = 0x00001d58)
  LSDA address: 0x00001e50
  Instructions: 0x00001c90: CFA=esp+4     eip=[esp]
                DW_CFA_advance_loc4 (1)
                DW_CFA_def_cfa_offset (8)
                DW_CFA_offset (ebp, -8)
                0x00001c91: CFA=esp+8     ebp=[esp]  eip=[esp+4]
                DW_CFA_advance_loc4 (2)
                DW_CFA_def_cfa_register (ebp)

Reply via email to