From: John Baldwin Date: Wed, 29 Mar 2017 20:05:19 +0000 (-0700) Subject: Teach GDB about SIGPROT. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ae2249908adf3d768290e5516d3de6bece99e32e;p=thirdparty%2Fbinutils-gdb.git Teach GDB about SIGPROT. --- diff --git a/gdb/fbsd-tdep.c b/gdb/fbsd-tdep.c index 744fa6dad72..677f229e52b 100644 --- a/gdb/fbsd-tdep.c +++ b/gdb/fbsd-tdep.c @@ -71,6 +71,7 @@ enum FREEBSD_SIGUSR2 = 31, FREEBSD_SIGTHR = 32, FREEBSD_SIGLIBRT = 33, + FREEBSD_SIGPROT = 34, FREEBSD_SIGRTMIN = 65, FREEBSD_SIGRTMAX = 126, }; @@ -1780,6 +1781,9 @@ fbsd_gdb_signal_from_target (struct gdbarch *gdbarch, int signal) case FREEBSD_SIGLIBRT: return GDB_SIGNAL_LIBRT; + + case FREEBSD_SIGPROT: + return GDB_SIGNAL_PROT; } if (signal >= FREEBSD_SIGRTMIN && signal <= FREEBSD_SIGRTMAX) @@ -1901,6 +1905,9 @@ fbsd_gdb_signal_to_target (struct gdbarch *gdbarch, case GDB_SIGNAL_LIBRT: return FREEBSD_SIGLIBRT; + + case GDB_SIGNAL_PROT: + return FREEBSD_SIGPROT; } if (signal >= GDB_SIGNAL_REALTIME_65 diff --git a/gdbsupport/signals.cc b/gdbsupport/signals.cc index 8bec34a3f66..b818d65efa6 100644 --- a/gdbsupport/signals.cc +++ b/gdbsupport/signals.cc @@ -335,6 +335,10 @@ gdb_signal_from_host (int hostsig) if (hostsig == SIGLIBRT) return GDB_SIGNAL_LIBRT; #endif +#if defined (SIGPROT) + if (hostsig == SIGPROT) + return GDB_SIGNAL_PROT; +#endif #if defined (REALTIME_LO) if (hostsig >= REALTIME_LO && hostsig < REALTIME_HI) @@ -592,6 +596,10 @@ do_gdb_signal_to_host (enum gdb_signal oursig, case GDB_SIGNAL_LIBRT: return SIGLIBRT; #endif +#if defined (SIGPROT) + case GDB_SIGNAL_PROT: + return SIGPROT; +#endif default: #if defined (REALTIME_LO) diff --git a/include/gdb/signals.def b/include/gdb/signals.def index 1635cb31761..aeff7f3da0e 100644 --- a/include/gdb/signals.def +++ b/include/gdb/signals.def @@ -196,7 +196,9 @@ SET (GDB_EXC_BREAKPOINT, 150, "EXC_BREAKPOINT", "Breakpoint") SET (GDB_SIGNAL_LIBRT, 151, "SIGLIBRT", "librt internal signal") +SET (GDB_SIGNAL_PROT, 152, "SIGPROT", "CHERI protection violation") + /* If you are adding a new signal, add it just above this comment. */ /* Last and unused enum value, for sizing arrays, etc. */ -SET (GDB_SIGNAL_LAST, 152, NULL, "GDB_SIGNAL_LAST") +SET (GDB_SIGNAL_LAST, 153, NULL, "GDB_SIGNAL_LAST")