about summary refs log tree commit diff
path: root/pkgs/development/tools/misc/gdb/edit-signals.patch
diff options
context:
space:
mode:
authorLluís Batlle i Rossell <viric@viric.name>2014-03-20 11:09:39 +0100
committerLluís Batlle i Rossell <viric@viric.name>2014-03-20 11:09:39 +0100
commitae3a1519e4dd94155b80660a899c63f310b5996e (patch)
tree4f8c6de331948166657da5332ab61249068d019a /pkgs/development/tools/misc/gdb/edit-signals.patch
parentd4bf329dde908cb64b8840e12ba5418599b6c933 (diff)
downloadnixlib-ae3a1519e4dd94155b80660a899c63f310b5996e.tar
nixlib-ae3a1519e4dd94155b80660a899c63f310b5996e.tar.gz
nixlib-ae3a1519e4dd94155b80660a899c63f310b5996e.tar.bz2
nixlib-ae3a1519e4dd94155b80660a899c63f310b5996e.tar.lz
nixlib-ae3a1519e4dd94155b80660a899c63f310b5996e.tar.xz
nixlib-ae3a1519e4dd94155b80660a899c63f310b5996e.tar.zst
nixlib-ae3a1519e4dd94155b80660a899c63f310b5996e.zip
gdb: adding a patch to handle well the edit cmd + SIGWINCH.
It's reported to upstream since two years ago, through
their patches mailing list.
Diffstat (limited to 'pkgs/development/tools/misc/gdb/edit-signals.patch')
-rw-r--r--pkgs/development/tools/misc/gdb/edit-signals.patch25
1 files changed, 25 insertions, 0 deletions
diff --git a/pkgs/development/tools/misc/gdb/edit-signals.patch b/pkgs/development/tools/misc/gdb/edit-signals.patch
new file mode 100644
index 000000000000..e9da8035ef5b
--- /dev/null
+++ b/pkgs/development/tools/misc/gdb/edit-signals.patch
@@ -0,0 +1,25 @@
+Patch adapted from
+https://www.sourceware.org/ml/gdb-patches/2012-08/msg00439.html
+
+Without it, spawning a terminal 'vim' from gdb 'edit' cmd, makes
+all gdb grazy.
+
+diff --git a/gdb/tui/tui-win.c b/gdb/tui/tui-win.c
+index 7ea0fec..be5455c 100644
+--- a/gdb/tui/tui-win.c
++++ b/gdb/tui/tui-win.c
+@@ -831,11 +831,12 @@ void
+ tui_initialize_win (void)
+ {
+ #ifdef SIGWINCH
+-#ifdef HAVE_SIGACTION
++#if defined (HAVE_SIGACTION) && defined (SA_RESTART)
+   struct sigaction old_winch;
+ 
+-  memset (&old_winch, 0, sizeof (old_winch));
++  sigemptyset (&old_winch.sa_mask);
+   old_winch.sa_handler = &tui_sigwinch_handler;
++  old_winch.sa_flags = SA_RESTART;
+   sigaction (SIGWINCH, &old_winch, NULL);
+ #else
+   signal (SIGWINCH, &tui_sigwinch_handler);