summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gdb/gdb/0001-gdbserver-ctrl-c-handling.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/gdb/gdb/0001-gdbserver-ctrl-c-handling.patch')
-rw-r--r--meta/recipes-devtools/gdb/gdb/0001-gdbserver-ctrl-c-handling.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gdb/gdb/0001-gdbserver-ctrl-c-handling.patch b/meta/recipes-devtools/gdb/gdb/0001-gdbserver-ctrl-c-handling.patch
new file mode 100644
index 0000000000..71fe7f83b6
--- /dev/null
+++ b/meta/recipes-devtools/gdb/gdb/0001-gdbserver-ctrl-c-handling.patch
@@ -0,0 +1,26 @@
+This problem was created by the upstream commit 78708b7c8c
+After applying the commit, it will send SIGINT to the process group(-signal_pid).
+But if we use gdbserver send SIGINT, and the attached process is not a process
+group leader, then the "kill (-signal_pid, SIGINT)" returns error and fails to
+interrupt the attached process.
+
+Upstream-Status: Submitted [https://sourceware.org/bugzilla/show_bug.cgi?id=18945]
+
+Author: Josh Gao
+Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
+
+Index: gdb-8.2/gdb/gdbserver/linux-low.c
+===================================================================
+--- gdb-8.2.orig/gdb/gdbserver/linux-low.c
++++ gdb-8.2/gdb/gdbserver/linux-low.c
+@@ -5940,9 +5940,7 @@ linux_look_up_symbols (void)
+ static void
+ linux_request_interrupt (void)
+ {
+- /* Send a SIGINT to the process group. This acts just like the user
+- typed a ^C on the controlling terminal. */
+- kill (-signal_pid, SIGINT);
++ kill (signal_pid, SIGINT);
+ }
+
+ /* Copy LEN bytes from inferior's auxiliary vector starting at OFFSET