public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [PATCH v2 0/4] Initial support for FreeBSD/riscv
@ 2018-09-24 20:51 John Baldwin
  2018-09-24 20:52 ` [PATCH v2 2/4] Use the existing instruction to determine the RISC-V breakpoint kind John Baldwin
                   ` (3 more replies)
  0 siblings, 4 replies; 19+ messages in thread
From: John Baldwin @ 2018-09-24 20:51 UTC (permalink / raw)
  To: gdb-patches; +Cc: andrew.burgess, jimw

Relative to the first version, this series drops patch to return a
default value for MISA and replaces it with a partly-reviewed patch to
rework riscv breakpoints to not require a valid MISA.

Patch 1 still needs review.  I've included my comments from the first
cover letter about patch 1 below:

Patch 1 tries to make it easier to write handlers for signal frame by
allowing the register map structures used with register caches to be
used with trad-frame to supply a block of registers at a starting
address.  It gets somewhat squishy when thinking about how to handle
registers whose size doesn't match the "slot" size in a register map.
I've attempted to make the trad-frame handling match the semantics
that regcache uses.  However, these semantics aren't documented
anywhere and we should perhaps document them.  Also, in this patch I
used 'void *' for the map only because it matches what the regcache
functions do.  I'm happy to make the map argument type-safe instead if
others prefer that.  Also, the comments for regcache_map_entry should
perhaps be made more generic to say it isn't specific to regcache but
is used to describe the layout of a register block.  Arguably the type
should even be renamed to something less regcache-specific
(register_map_entry?).  If we do adopt this patch I will probably make
use of it in some other FreeBSD architectures (aarch64 and arm at
least, possibly x86).



John Baldwin (4):
  Add helper functions to trad_frame to support register cache maps.
  Use the existing instruction to determine the RISC-V breakpoint kind.
  Add FreeBSD/riscv architecture.
  Add native target for FreeBSD/riscv.

 gdb/ChangeLog          |  38 ++++++++
 gdb/Makefile.in        |   4 +
 gdb/NEWS               |   2 +
 gdb/configure.host     |   1 +
 gdb/configure.nat      |   4 +
 gdb/configure.tgt      |   5 +
 gdb/disasm-selftests.c |   7 +-
 gdb/doc/ChangeLog      |   5 +
 gdb/doc/gdb.texinfo    |   6 ++
 gdb/riscv-fbsd-nat.c   | 135 +++++++++++++++++++++++++++
 gdb/riscv-fbsd-tdep.c  | 206 +++++++++++++++++++++++++++++++++++++++++
 gdb/riscv-fbsd-tdep.h  |  33 +++++++
 gdb/riscv-tdep.c       |  50 ++++++----
 gdb/trad-frame.c       |  69 ++++++++++++++
 gdb/trad-frame.h       |   8 ++
 15 files changed, 554 insertions(+), 19 deletions(-)
 create mode 100644 gdb/riscv-fbsd-nat.c
 create mode 100644 gdb/riscv-fbsd-tdep.c
 create mode 100644 gdb/riscv-fbsd-tdep.h

-- 
2.18.0

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2018-10-05 20:18 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-24 20:51 [PATCH v2 0/4] Initial support for FreeBSD/riscv John Baldwin
2018-09-24 20:52 ` [PATCH v2 2/4] Use the existing instruction to determine the RISC-V breakpoint kind John Baldwin
2018-09-27 19:48   ` Simon Marchi
2018-09-28 10:23   ` Andrew Burgess
2018-09-28 21:16     ` John Baldwin
2018-09-24 20:52 ` [PATCH v2 3/4] Add FreeBSD/riscv architecture John Baldwin
2018-09-24 21:16   ` Eli Zaretskii
2018-09-27 19:59   ` Simon Marchi
2018-09-28 10:35   ` Andrew Burgess
2018-09-24 20:52 ` [PATCH v2 1/4] Add helper functions to trad_frame to support register cache maps John Baldwin
2018-09-27 19:31   ` Simon Marchi
2018-09-28 21:44     ` John Baldwin
2018-10-05 20:18       ` Simon Marchi
2018-09-24 21:00 ` [PATCH v2 4/4] Add native target for FreeBSD/riscv John Baldwin
2018-09-24 21:17   ` Eli Zaretskii
2018-09-27 20:04   ` Simon Marchi
2018-09-27 20:22     ` Jim Wilson
2018-09-28 16:18     ` John Baldwin
2018-09-28 10:58   ` Andrew Burgess

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).