This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH v4 0/7] Support kernel-backed user threads on FreeBSD
- From: John Baldwin <jhb at FreeBSD dot org>
- To: gdb-patches at sourceware dot org
- Date: Mon, 18 Jan 2016 10:37:27 -0800
- Subject: [PATCH v4 0/7] Support kernel-backed user threads on FreeBSD
- Authentication-results: sourceware.org; auth=none
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.
I've dropped binutils@ since the binutils patches have already been
ok'd and they haven't changed.
Relative to the previous version, this adds a new 'core_thread_name'
gdbarch method and moves the logic to fetch thread names for cores out of
fbsd_core_pid_to_str to a new fbsd_core_thread_name function.
John Baldwin (7):
Add support to readelf for reading FreeBSD ELF core notes.
Add a psuedosection for the NT_FREEBSD_THRMISC note.
Add support for extracting thread names from cores.
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 | 82 ++++++++++
gdb/NEWS | 6 +
gdb/amd64bsd-nat.c | 24 +--
gdb/config.in | 3 +
gdb/configure | 16 ++
gdb/configure.ac | 7 +
gdb/corelow.c | 10 ++
gdb/doc/ChangeLog | 4 +
gdb/doc/gdb.texinfo | 5 +
gdb/fbsd-nat.c | 423 +++++++++++++++++++++++++++++++++++++++++++++++----
gdb/fbsd-tdep.c | 210 +++++++++++++++++++++----
gdb/gdbarch.c | 32 ++++
gdb/gdbarch.h | 9 ++
gdb/gdbarch.sh | 4 +
gdb/i386bsd-nat.c | 30 ++--
gdb/inf-ptrace.c | 2 +-
gdb/inf-ptrace.h | 5 +
gdb/ppcfbsd-nat.c | 12 +-
include/ChangeLog | 13 ++
include/elf/common.h | 14 ++
24 files changed, 870 insertions(+), 92 deletions(-)
--
2.7.0