diff options
Diffstat (limited to 'meta/recipes-devtools/gdb')
-rw-r--r-- | meta/recipes-devtools/gdb/gdb-8.2.inc | 1 | ||||
-rw-r--r-- | meta/recipes-devtools/gdb/gdb/gdbserver-ctrl-c-handling.patch | 26 |
2 files changed, 27 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gdb/gdb-8.2.inc b/meta/recipes-devtools/gdb/gdb-8.2.inc index 999fdde031..dfb0059123 100644 --- a/meta/recipes-devtools/gdb/gdb-8.2.inc +++ b/meta/recipes-devtools/gdb/gdb-8.2.inc @@ -16,6 +16,7 @@ SRC_URI = "http://ftp.gnu.org/gnu/gdb/gdb-${PV}.tar.xz \ file://0009-Change-order-of-CFLAGS.patch \ file://0010-resolve-restrict-keyword-conflict.patch \ file://0011-Fix-invalid-sigprocmask-call.patch \ + file://gdbserver-ctrl-c-handling.patch \ " SRC_URI[md5sum] = "b5a49dbff00d9a87fbe114d14b3101c0" SRC_URI[sha256sum] = "c3a441a29c7c89720b734e5a9c6289c0a06be7e0c76ef538f7bbcef389347c39" diff --git a/meta/recipes-devtools/gdb/gdb/gdbserver-ctrl-c-handling.patch b/meta/recipes-devtools/gdb/gdb/gdbserver-ctrl-c-handling.patch new file mode 100644 index 0000000000..dffb0dd81f --- /dev/null +++ b/meta/recipes-devtools/gdb/gdb/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 |