aboutsummaryrefslogtreecommitdiff
path: root/devel/gdb/files/commit-bc7b765
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2016-07-23 13:23:37 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2016-07-23 13:23:37 +0000
commitfc899d47235dd75ba7b19051752e87292f75b37d (patch)
tree34bda6726a04cbf085dc12350828af35a824a518 /devel/gdb/files/commit-bc7b765
parentea3d3f386c1c42ad7a30118b6d8587e877ebad0c (diff)
downloadports-fc899d47235dd75ba7b19051752e87292f75b37d.tar.gz
ports-fc899d47235dd75ba7b19051752e87292f75b37d.zip
Notes
Diffstat (limited to 'devel/gdb/files/commit-bc7b765')
-rw-r--r--devel/gdb/files/commit-bc7b765102
1 files changed, 102 insertions, 0 deletions
diff --git a/devel/gdb/files/commit-bc7b765 b/devel/gdb/files/commit-bc7b765
new file mode 100644
index 000000000000..5791ffeaa694
--- /dev/null
+++ b/devel/gdb/files/commit-bc7b765
@@ -0,0 +1,102 @@
+commit bc7b765ab71f967eb2a9c3da111d7529eec46fbe
+Author: John Baldwin <jhb@FreeBSD.org>
+Date: Sun Jul 3 11:56:21 2016 -0700
+
+ Pass SIGLIBRT directly to child processes.
+
+ FreeBSD's librt uses SIGLIBRT as an internal signal to implement
+ SIGEV_THREAD sigevent notifications. Similar to SIGLWP or SIGCANCEL
+ this signal should be passed through to child processes by default.
+
+ include/ChangeLog:
+
+ * signals.def: Add GDB_SIGNAL_LIBRT.
+
+ gdb/ChangeLog:
+
+ * common/signals.c (gdb_signal_from_host): Handle SIGLIBRT.
+ (do_gdb_signal_to_host): Likewise.
+ * infrun.c (_initialize_infrun): Pass GDB_SIGNAL_LIBRT through to
+ programs.
+ * proc-events.c (signal_table): Add entry for SIGLIBRT.
+
+diff --git gdb/common/signals.c gdb/common/signals.c
+index 45c0c73..f84935d 100644
+--- gdb/common/signals.c
++++ gdb/common/signals.c
+@@ -331,6 +331,10 @@ gdb_signal_from_host (int hostsig)
+ if (hostsig == SIGINFO)
+ return GDB_SIGNAL_INFO;
+ #endif
++#if defined (SIGLIBRT)
++ if (hostsig == SIGLIBRT)
++ return GDB_SIGNAL_LIBRT;
++#endif
+
+ #if defined (REALTIME_LO)
+ if (hostsig >= REALTIME_LO && hostsig < REALTIME_HI)
+@@ -584,6 +588,10 @@ do_gdb_signal_to_host (enum gdb_signal oursig,
+ case GDB_SIGNAL_INFO:
+ return SIGINFO;
+ #endif
++#if defined (SIGLIBRT)
++ case GDB_SIGNAL_LIBRT:
++ return SIGLIBRT;
++#endif
+
+ default:
+ #if defined (REALTIME_LO)
+diff --git gdb/infrun.c gdb/infrun.c
+index 70a0790..257ac8a 100644
+--- gdb/infrun.c
++++ gdb/infrun.c
+@@ -9409,6 +9409,8 @@ leave it stopped or free to run as needed."),
+ signal_print[GDB_SIGNAL_WAITING] = 0;
+ signal_stop[GDB_SIGNAL_CANCEL] = 0;
+ signal_print[GDB_SIGNAL_CANCEL] = 0;
++ signal_stop[GDB_SIGNAL_LIBRT] = 0;
++ signal_print[GDB_SIGNAL_LIBRT] = 0;
+
+ /* Update cached state. */
+ signal_cache_update (-1);
+diff --git gdb/proc-events.c gdb/proc-events.c
+index b291d31..daa6f58 100644
+--- gdb/proc-events.c
++++ gdb/proc-events.c
+@@ -1536,6 +1536,9 @@ static struct trans signal_table[] =
+ #ifdef SIGAIO
+ { SIGAIO, "SIGAIO", "Asynchronous I/O signal" },
+ #endif
++#ifdef SIGLIBRT
++ { SIGLIBRT, "SIGLIBRT", "Used by librt" },
++#endif
+
+ /* FIXME: add real-time signals. */
+ };
+diff --git include/gdb/ChangeLog include/gdb/ChangeLog
+index f05ba4b..05f127e 100644
+--- include/gdb/ChangeLog
++++ include/gdb/ChangeLog
+@@ -1,3 +1,7 @@
++2016-07-15 John Baldwin <jhb@FreeBSD.org>
++
++ * signals.def: Add GDB_SIGNAL_LIBRT.
++
+ 2016-01-06 Mike Frysinger <vapier@gentoo.org>
+
+ * remote-sim.h (sim_open): Mark argv const.
+diff --git include/gdb/signals.def include/gdb/signals.def
+index 61cc88c..2b30e71 100644
+--- include/gdb/signals.def
++++ include/gdb/signals.def
+@@ -194,7 +194,9 @@ SET (GDB_EXC_EMULATION, 148, "EXC_EMULATION", "Emulation instruction")
+ SET (GDB_EXC_SOFTWARE, 149, "EXC_SOFTWARE", "Software generated exception")
+ SET (GDB_EXC_BREAKPOINT, 150, "EXC_BREAKPOINT", "Breakpoint")
+
++SET (GDB_SIGNAL_LIBRT, 151, "SIGLIBRT", "librt internal signal")
++
+ /* 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, 151, NULL, "GDB_SIGNAL_LAST")
++SET (GDB_SIGNAL_LAST, 152, NULL, "GDB_SIGNAL_LAST")