]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Teach GDB about SIGPROT.
authorJohn Baldwin <jhb@FreeBSD.org>
Wed, 29 Mar 2017 20:05:19 +0000 (13:05 -0700)
committerJohn Baldwin <jhb@FreeBSD.org>
Thu, 1 Sep 2022 23:43:06 +0000 (16:43 -0700)
gdb/fbsd-tdep.c
gdbsupport/signals.cc
include/gdb/signals.def

index 744fa6dad7277461ae6545c9d58f68f5bc808faa..677f229e52bdba9a69e80acbe3cf979525593a0c 100644 (file)
@@ -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
index 8bec34a3f6659a6fdeaa877ad1c2c4c417bb97e7..b818d65efa64445599831d39079ae0403b3416e0 100644 (file)
@@ -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)
index 1635cb31761febe41007b8f1f94c17b4bf946349..aeff7f3da0e3c50da4953df6a0ba519065bf198e 100644 (file)
@@ -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")