------- 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