Read signal information from FreeBSD core dumps.
authorJohn Baldwin <jhb@FreeBSD.org>
Wed, 28 Jun 2017 19:50:56 +0000 (12:50 -0700)
committerJohn Baldwin <jhb@FreeBSD.org>
Fri, 7 Jul 2017 23:12:42 +0000 (16:12 -0700)
commit4b654465bfc3034c969d2d942c14b2cedfd3e3b6
treedd0cfe451b78f3abecbc550fe7143972d89abc73
parente6f3b9c3194c0d89efffd6e5b59471950f979e5a
Read signal information from FreeBSD core dumps.

FreeBSD recently added a new ELF core note which dumps the entire LWP
info structure (the same structure returned by the ptrace PT_LWPINFO
operation) for each thread.  The plan is for this note to eventually
supplant the older "thrmisc" ELF core note as it contains more
information and it permits new information to be exported via both
ptrace() and core dumps using the same structure.

For signal information, the implementation is similar to the native
implementation for FreeBSD processes.  The PL_FLAG_SI flag must be
checked to determine if the embedded siginfo_t structure is valid, and
if so it is transferred into the caller's buffer.

gdb/ChangeLog:

* fbsd-tdep.c (LWPINFO_OFFSET, LWPINFO_PL_FLAGS)
(LWPINFO64_PL_SIGINFO, LWPINFO32_PL_SIGINFO, PL_FLAG_SI)
(SIZE64_SIGINFO_T, SIZE32_SIGINFO_T, fbsd_core_xfer_siginfo): New.
(fbsd_init_abi): Install gdbarch "core_xfer_siginfo" method.
gdb/ChangeLog
gdb/fbsd-tdep.c