[PATCH 0/6] Support kernel-backed user threads on FreeBSD

John Baldwin
2016-01-11T18:53:57Z

This set of patches adds support for examining kernel-backed user threads on
FreeBSD. There is more history in a comment in fbsd-nat.c, but this target
uses ptrace directly (instead of libthread_db) to support the current
threading library (libthr) on FreeBSD which uses a kernel thread for each
user thread. Support for thread names in both core dumps (via FreeBSD's
OS-specific NT_THRMISC core note) and live is supported as is scheduler
locking. gcore generates register notes for each thread as well.

The first two patches are to binutils to support FreeBSD-specific core
notes. The last four are to GDB.

John Baldwin (6):
Add support to readelf for reading FreeBSD ELF core notes.
Add a psuedosection for the NT_FREEBSD_THRMISC note.
Display per-thread information for threads in FreeBSD cores.
Use LWP IDs with ptrace register requests on FreeBSD.
Add support for LWP-based threads on FreeBSD.
Dump register notes for each thread when generating a FreeBSD core.

bfd/ChangeLog | 4 +
bfd/elf.c | 7 +
binutils/ChangeLog | 5 +
binutils/readelf.c | 35 ++++
gdb/ChangeLog | 68 ++++++++
gdb/amd64bsd-nat.c | 35 ++--
gdb/config.in | 3 +
gdb/configure | 16 ++
gdb/configure.ac | 7 +
gdb/fbsd-nat.c | 452 +++++++++++++++++++++++++++++++++++++++++++++++---
gdb/fbsd-tdep.c | 185 ++++++++++++++++++---
gdb/i386bsd-nat.c | 41 +++--
gdb/ppcfbsd-nat.c | 23 ++-
include/elf/ChangeLog | 27 +++
include/elf/common.h | 14 ++
15 files changed, 842 insertions(+), 80 deletions(-)
create mode 100644 include/elf/ChangeLog

--
2.7.0