test w/o threads:

$ ./u
0x400a74 handler+0x1a
0x400a95 crash+0x10
0x400afd main+0x60
0x7fa92f9e74a4 __libc_start_main+0xf4

test w/ threads:

$ ./u threaded
0x400a74 handler+0x1a
0x400a95 crash+0x10
0x7fcea7803a3d clone+0x6d
0x7fcea7803a3d clone+0x6d
0x7fcea7803a3d clone+0x6d
0x7fcea7803a3d clone+0x6d
0x7fcea7803a3d clone+0x6d
0x7fcea7803a3d clone+0x6d
0x7fcea7803a3d clone+0x6d
0x7fcea7803a3d clone+0x6d
0x7fcea7803a3d clone+0x6d
(...)

gdb stops unwinding at clone():

$ gdb ./u
(gdb) set args threaded
(gdb) r
(...)
[New Thread 0x7fdd9636b6f0 (LWP 7318)]
[New Thread 0x42501950 (LWP 7322)]
(...)
Breakpoint 2, handler (signalNumber=11) at u.c:25
25              _Unwind_Backtrace( helper, 0 );
(gdb) bt
#0  handler (signalNumber=11) at u.c:25
#1  <signal handler called>
#2  0x0000000000400a95 in crash () at u.c:32
#3  0x00007fa0eef04070 in start_thread () from /lib64/libpthread.so.0
#4  0x00007fa0eea6da3d in clone () from /lib64/libc.so.6

gcc-4.2.4-1.x86_64
glibc-2.8-3.x86_64
gdb-6.8-1.x86_64


-- 
           Summary: infinite _Unwind_Backtrace / thread stack unwinding.
           Product: gcc
           Version: 4.2.4
            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: x86_64-gnu-linux


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36568

Reply via email to