From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 130960 invoked by alias); 18 Jan 2016 18:38:30 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 130933 invoked by uid 89); 18 Jan 2016 18:38:29 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=1.5 required=5.0 tests=AWL,BAYES_50,SPF_HELO_PASS,SPF_SOFTFAIL autolearn=no version=3.3.2 spammy=270, 2.7.0, amd64bsd-nat.c, amd64bsdnatc X-HELO: bigwig.baldwin.cx Received: from bigwig.baldwin.cx (HELO bigwig.baldwin.cx) (96.47.65.170) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (CAMELLIA256-SHA encrypted) ESMTPS; Mon, 18 Jan 2016 18:38:27 +0000 Received: from ralph.com (c-73-231-226-104.hsd1.ca.comcast.net [73.231.226.104]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id EFEFDB946 for ; Mon, 18 Jan 2016 13:38:24 -0500 (EST) From: John Baldwin To: gdb-patches@sourceware.org Subject: [PATCH v4 0/7] Support kernel-backed user threads on FreeBSD Date: Mon, 18 Jan 2016 18:38:00 -0000 Message-Id: <1453142254-20266-1-git-send-email-jhb@FreeBSD.org> X-IsSubscribed: yes X-SW-Source: 2016-01/txt/msg00394.txt.bz2 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