From: John Baldwin <jhb@FreeBSD.org>
To: gdb-patches@sourceware.org, binutils@sourceware.org
Subject: [PATCH 0/8] Add support for $_siginfo on FreeBSD
Date: Thu, 29 Jun 2017 23:33:00 -0000 [thread overview]
Message-ID: <20170629233226.20155-1-jhb@FreeBSD.org> (raw)
This series adds support for $_siginfo for both live processes and
process cores. siginfo_t for threads is only stored in a per-thread
ELF core note on FreeBSD 12.0 and later.
The existing code in corelow.c for siginfo_t assumed the Linux-specific
NT_SIGINFO ELF core note, but FreeBSD stores siginfo as one member of a
larger ELF core note. To accomodate this, I added a new gdbarch method
that is used to fetch the signal information from a core dump. I moved
the body of the existing core_get_siginfo function into an implementation
of the new gdbarch method in linux-tdep.c.
Tested on FreeBSD/amd64 (64-bit and 32-bit binaries), FreeBSD/i386,
and Centos/x86-64 (no regressions in test suite for this last).
John Baldwin (8):
Implement the "get_siginfo_type" gdbarch method for FreeBSD
architectures.
Fetch signal information for native FreeBSD processes.
Move the thread_section_name class to gdbcore.h.
Add a new gdbarch method to fetch signal information from core files.
Use the thread_section_name helper class in fbsd_core_thread_name.
Recognize the recently-added FreeBSD core dump note for LWP info.
Create psuedo sections for FreeBSD NT_PTLWPINFO core notes.
Read signal information from FreeBSD core dumps.
bfd/ChangeLog | 4 ++
bfd/elf.c | 4 ++
binutils/ChangeLog | 4 ++
binutils/readelf.c | 2 +
gdb/ChangeLog | 43 +++++++++++
gdb/corelow.c | 82 ++++-----------------
gdb/fbsd-nat.c | 155 ++++++++++++++++++++++++++++++++++++++++
gdb/fbsd-tdep.c | 197 +++++++++++++++++++++++++++++++++++++++++++++++++--
gdb/gdbarch.c | 32 +++++++++
gdb/gdbarch.h | 10 +++
gdb/gdbarch.sh | 5 ++
gdb/gdbcore.h | 45 ++++++++++++
gdb/linux-tdep.c | 21 ++++++
include/ChangeLog | 4 ++
include/elf/common.h | 1 +
15 files changed, 536 insertions(+), 73 deletions(-)
--
2.11.0
next reply other threads:[~2017-06-29 23:33 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-29 23:33 John Baldwin [this message]
2017-06-29 23:33 ` [PATCH 2/8] Fetch signal information for native FreeBSD processes John Baldwin
2017-06-29 23:33 ` [PATCH 8/8] Read signal information from FreeBSD core dumps John Baldwin
2017-06-29 23:33 ` [PATCH 6/8] Recognize the recently-added FreeBSD core dump note for LWP info John Baldwin
2017-06-30 3:19 ` Alan Modra
2017-06-29 23:33 ` [PATCH 7/8] Create psuedo sections for FreeBSD NT_PTLWPINFO core notes John Baldwin
2017-06-30 3:20 ` Alan Modra
2017-06-29 23:33 ` [PATCH 3/8] Move the thread_section_name class to gdbcore.h John Baldwin
2017-06-29 23:33 ` [PATCH 1/8] Implement the "get_siginfo_type" gdbarch method for FreeBSD architectures John Baldwin
2017-06-29 23:41 ` [PATCH 4/8] Add a new gdbarch method to fetch signal information from core files John Baldwin
2017-06-29 23:41 ` [PATCH 5/8] Use the thread_section_name helper class in fbsd_core_thread_name John Baldwin
2017-07-06 11:17 ` [PATCH 0/8] Add support for $_siginfo on FreeBSD John Baldwin
2017-07-06 13:29 ` Pedro Alves
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170629233226.20155-1-jhb@FreeBSD.org \
--to=jhb@freebsd.org \
--cc=binutils@sourceware.org \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox