This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/28854] unwinder reports sentinel frame.
- From: "ubizjak at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 24 Oct 2011 14:44:49 +0000
- Subject: [Bug target/28854] unwinder reports sentinel frame.
- Auto-submitted: auto-generated
- References: <bug-28854-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28854
--- Comment #5 from Uros Bizjak <ubizjak at gmail dot com> 2011-10-24 14:44:49 UTC ---
Just FYI, this is due to the fact that _start from /usr/crt1.o has a FDE:
$ objdump --dwarf /usr/lib/crt1.o
/usr/lib/crt1.o: file format elf64-alpha
Contents of the .eh_frame section:
00000000 00000010 00000000 CIE
Version: 1
Augmentation: "zR"
Code alignment factor: 4
Data alignment factor: -8
Return address column: 15
Augmentation data: 1b
DW_CFA_def_cfa_register: r30
DW_CFA_nop
00000014 00000010 00000018 FDE cie=00000000 pc=00000000..0000003c
DW_CFA_advance_loc: 20 to 00000014
DW_CFA_def_cfa_register: r15
This FDE of _start function is discovered by uw_frame_state_for, and only after
this recursion
if (context->ra == 0)
return _URC_END_OF_STACK;
is triggered.
So if there is a bug at all, it is in glibc - perhaps_start should not set FDE.