gdb: fix debugging of MIPS(el) applications
authorFlorian Fainelli <florian@openwrt.org>
Mon, 19 Nov 2012 14:38:02 +0000 (14:38 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Mon, 19 Nov 2012 14:38:02 +0000 (14:38 +0000)
GDB previously failed with the following:

root@OpenWrt:/# gdb busybox
[snip]
(gdb) r
Starting program: /bin/busybox
GDB bug: target.c (gdb_signal_from_host): unrecognized real-time signal

Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 34258

package/devel/gdb/patches/001-gdb-pr14523-mips-signal-number.patch [new file with mode: 0644]

diff --git a/package/devel/gdb/patches/001-gdb-pr14523-mips-signal-number.patch b/package/devel/gdb/patches/001-gdb-pr14523-mips-signal-number.patch
new file mode 100644 (file)
index 0000000..c462399
--- /dev/null
@@ -0,0 +1,16 @@
+See http://sourceware.org/bugzilla/show_bug.cgi?id=14523
+---
+--- gdb-7.5.org/gdb/common/signals.c   2012-05-24 18:51:37.000000000 +0200
++++ gdb-7.5.org/gdb/common/signals.c   2012-08-29 22:32:07.000000000 +0200
+@@ -346,6 +346,11 @@ 
+       else if (64 <= hostsig && hostsig <= 127)
+       return (enum gdb_signal)
+         (hostsig - 64 + (int) GDB_SIGNAL_REALTIME_64);
++      else if (hostsig == 128)
++      /* Some platforms, such as Linux MIPS, have NSIG == 128, in which case
++         signal 128 is the highest realtime signal. There is no constant for
++         that though. */
++      return GDB_SIGNAL_UNKNOWN;
+       else
+       error (_("GDB bug: target.c (gdb_signal_from_host): "
+              "unrecognized real-time signal"));