Gdb should not hang when a PT_KILL is requested from a ptracestop() call
other than the one in kern_sig.c (below, we use the syscall enter ptracestop):
$ gdb712 /bin/ls
Reading symbols from /bin/ls...Reading symbols from /usr/lib/debug//bin/ls.debug...done.
(gdb) catch syscall read
Catchpoint 1 (syscall 'read' )
Starting program: /bin/ls
Catchpoint 1 (call to syscall read), 0x000000080061e3fa in _read () from /libexec/ld-elf.so.1
A debugging session is active.
Inferior 1 [process 2981] will be killed.
Quit anyway? (y or n) y