CFA expression failure
Ye, Joey
joey.ye@intel.com
Wed Jun 25 02:03:00 GMT 2008
Daniel,
We generate following DWARF2 instructions for stack alignment prologue.
Basically we use expression to calculate CFA. But it run into some
segfault in libmudflap and libjava. Do you have any hints what's wrong?
DW_CFA_def_cfa: r4 (esp) ofs 4
DW_CFA_offset: r8 (eip) at cfa-4
DW_CFA_nop
DW_CFA_nop
0000001c 0000002c 00000020 FDE cie=00000000 pc=00000000..00000083
DW_CFA_advance_loc: 1 to 00000001
DW_CFA_def_cfa_offset: 8
DW_CFA_offset: r7 (edi) at cfa-8
DW_CFA_advance_loc: 4 to 00000005
DW_CFA_def_cfa: r7 (edi) ofs 0
DW_CFA_advance_loc: 7 to 0000000c
DW_CFA_expression: r5 (ebp) (DW_OP_breg5: 0)
DW_CFA_advance_loc: 37 to 00000031
DW_CFA_def_cfa_expression (DW_OP_breg5: -4; DW_OP_deref)
DW_CFA_expression: r6 (esi) (DW_OP_breg5: -8)
DW_CFA_expression: r3 (ebx) (DW_OP_breg5: -12)
00000000 <_Z3bariii>:
0: 57 push %edi
1: 8d 7c 24 08 lea 0x8(%esp),%edi
5: 83 e4 e0 and $0xffffffe0,%esp
8: ff 77 fc pushl -0x4(%edi)
b: 55 push %ebp
c: 89 e5 mov %esp,%ebp
e: 81 ec 88 00 00 00 sub $0x88,%esp
14: 89 45 c4 mov %eax,-0x3c(%ebp)
17: 89 c8 mov %ecx,%eax
19: 83 c0 1e add $0x1e,%eax
1c: 83 e0 f0 and $0xfffffff0,%eax
1f: 89 5c 24 7c mov %ebx,0x7c(%esp)
23: 89 b4 24 80 00 00 00 mov %esi,0x80(%esp)
2a: 89 bc 24 84 00 00 00 mov %edi,0x84(%esp)
31: 29 c4 sub %eax,%esp
Thanks - Joey
More information about the Gcc
mailing list