on alpha-linux target the unwinder reports sentinel frame. imho it has no sense.
$ gcc testcase.c -O2; ./a.out ip = 0x120000768 ip = 0x20000076860 ip = 0x120000668 ip = (nil) a.out: testcase.c:10: helper: Assertion `ip != 0' failed. $ cat testcase.c #include <dlfcn.h> #include <unwind.h> #include <assert.h> #include <stdio.h> _Unwind_Reason_Code helper( struct _Unwind_Context* ctx, void* arg ) { _Unwind_Ptr ip = _Unwind_GetIP( ctx ); printf( "ip = %p\n", (void*)ip ); assert( ip != 0 ); return _URC_NO_REASON; } int main() { _Unwind_Backtrace( helper, 0 ); return 0; } -- Summary: unwinder reports sentinel frame. Product: gcc Version: 4.1.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at agmk dot net GCC target triplet: alpha-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28854