This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/17994] avr-gcc does not output a dwarf2 .debug_frame section
- From: "tsandnes at atmel dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 23 Oct 2009 11:41:30 -0000
- Subject: [Bug target/17994] avr-gcc does not output a dwarf2 .debug_frame section
- References: <bug-17994-9466@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #3 from tsandnes at atmel dot com 2009-10-23 11:41 -------
I tried gcc 4.3.2 from the WinAVR distribution and also avr-gcc 4.4.1.
The short story is: There is call frame information there, but not enough.
Specifically, the Call Frame instructions to reconstruct the pc to unwind rule
table are still missing, but the CIE and FDE are present.
I compared gcc and avr-gcc output on linux with the following results:
gcc:
-----------------------------------------------------------------------
The section .debug_frame contains:
00000000 00000010 ffffffff CIE
Version: 1
Augmentation: ""
Code alignment factor: 1
Data alignment factor: -4
Return address column: 8
DW_CFA_def_cfa: r4 (esp) ofs 4
DW_CFA_offset: r8 (eip) at cfa-4
DW_CFA_nop
DW_CFA_nop
00000014 00000024 00000000 FDE cie=00000000 pc=08048394..0804840a
DW_CFA_advance_loc: 4 to 08048398
DW_CFA_def_cfa: r1 (ecx) ofs 0
DW_CFA_register: r4 (esp) in r1 (ecx)
DW_CFA_advance_loc: 6 to 0804839e
DW_CFA_def_cfa: r4 (esp) ofs 4
DW_CFA_advance_loc: 1 to 0804839f
DW_CFA_def_cfa_offset: 8
DW_CFA_offset: r5 (ebp) at cfa-8
DW_CFA_advance_loc: 2 to 080483a1
DW_CFA_def_cfa_register: r5 (ebp)
DW_CFA_advance_loc: 1 to 080483a2
DW_CFA_offset: r4 (esp) at cfa-12
DW_CFA_nop
DW_CFA_nop
0000003c 00000014 00000000 FDE cie=00000000 pc=0804840a..0804841c
DW_CFA_advance_loc: 1 to 0804840b
DW_CFA_def_cfa_offset: 8
DW_CFA_offset: r5 (ebp) at cfa-8
DW_CFA_advance_loc: 2 to 0804840d
DW_CFA_def_cfa_register: r5 (ebp)
-----------------------------------------------------------------------
avr-gcc
-----------------------------------------------------------------------
00000000 0000000c ffffffff CIE
Version: 1
Augmentation: ""
Code alignment factor: 1
Data alignment factor: -1
Return address column: 36
DW_CFA_def_cfa: r32 ofs 0
00000010 0000000c 00000000 FDE cie=00000000 pc=000000ce..00000160
00000020 0000000c 00000000 FDE cie=00000000 pc=00000160..0000018c
-----------------------------------------------------------------------
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17994