From 77d7a0f9272eeae4af2fff340f90f531c791726a Mon Sep 17 00:00:00 2001 From: Joachim Nilsson Date: Wed, 24 Feb 2016 23:00:23 +0100 Subject: gdb: Add support for v7.11, port patches from v7.10.1 that apply Signed-off-by: Joachim Nilsson diff --git a/config/debug/gdb.in b/config/debug/gdb.in index 77c362b..2b33d33 100644 --- a/config/debug/gdb.in +++ b/config/debug/gdb.in @@ -68,6 +68,11 @@ choice # Don't remove next line # CT_INSERT_VERSION_BELOW +config GDB_V_7_11 + bool + prompt "7.11" + select GDB_7_2_or_later + config GDB_V_7_10_1 bool prompt "7.10.1" @@ -233,6 +238,7 @@ config GDB_VERSION string # Don't remove next line # CT_INSERT_VERSION_STRING_BELOW + default "7.11" if GDB_V_7_11 default "7.10.1" if GDB_V_7_10_1 default "7.10" if GDB_V_7_10 default "7.9.1" if GDB_V_7_9_1 diff --git a/patches/gdb/7.11/100-musl_fix.patch b/patches/gdb/7.11/100-musl_fix.patch new file mode 100644 index 0000000..c0c1e0a --- /dev/null +++ b/patches/gdb/7.11/100-musl_fix.patch @@ -0,0 +1,28 @@ +--- a/gdb/linux-nat.c ++++ b/gdb/linux-nat.c +@@ -17,6 +17,7 @@ + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + ++#include "stopcode.h" + #include "defs.h" + #include "inferior.h" + #include "infrun.h" +@@ -73,6 +74,10 @@ + #define SPUFS_MAGIC 0x23c9b64e + #endif + ++#ifndef __SIGRTMIN ++#define __SIGRTMIN SIGRTMIN ++#endif ++ + /* This comment documents high-level logic of this file. + + Waiting for events in sync mode +--- /dev/null ++++ b/gdb/stopcode.h +@@ -0,0 +1,4 @@ ++#ifndef W_STOPCODE ++#define W_STOPCODE(sig) ((sig) << 8 | 0x7f) ++#endif ++ diff --git a/patches/gdb/7.11/111-xtensa-make-sure-ar_base-is-initialized.patch b/patches/gdb/7.11/111-xtensa-make-sure-ar_base-is-initialized.patch new file mode 100644 index 0000000..982bd7f --- /dev/null +++ b/patches/gdb/7.11/111-xtensa-make-sure-ar_base-is-initialized.patch @@ -0,0 +1,35 @@ +From 208ea73d38c9c16cf983b6419f58050dbadcb6a9 Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Sun, 7 Jun 2015 22:43:49 +0300 +Subject: [PATCH 2/2] xtensa: make sure ar_base is initialized + +ar_base is uninitialized for cores w/o windowed registers as their +regmap doesn't have register 0x0100. +Check that ar_base is initialized and if not initialize it with a0_base. + +gdb/ + * xtensa-tdep.c (xtensa_derive_tdep): Make sure ar_base is + initialized. + +Signed-off-by: Max Filippov +--- + gdb/xtensa-tdep.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/gdb/xtensa-tdep.c b/gdb/xtensa-tdep.c +index 55e7d98..41f5ec1 100644 +--- a/gdb/xtensa-tdep.c ++++ b/gdb/xtensa-tdep.c +@@ -3175,6 +3175,9 @@ xtensa_derive_tdep (struct gdbarch_tdep *tdep) + tdep->num_regs = n; + } + ++ if (tdep->ar_base == -1) ++ tdep->ar_base = tdep->a0_base; ++ + /* Number of pseudo registers. */ + tdep->num_pseudo_regs = n - tdep->num_regs; + +-- +1.8.1.4 + diff --git a/patches/gdb/7.11/112-WIP-end-of-prologue-detection-hack.patch b/patches/gdb/7.11/112-WIP-end-of-prologue-detection-hack.patch new file mode 100644 index 0000000..506a57c --- /dev/null +++ b/patches/gdb/7.11/112-WIP-end-of-prologue-detection-hack.patch @@ -0,0 +1,31 @@ +From 7f8eacbb468575fb67db7fd1155a3aedaa91911b Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Sun, 7 Jun 2015 23:15:39 +0300 +Subject: [PATCH] WIP: *end of prologue* detection hack + +see + http://www.esp8266.com/viewtopic.php?p=18461#p18461 + http://www.esp8266.com/viewtopic.php?p=19026#p19026 + http://www.esp8266.com/viewtopic.php?p=19683#p19683 + +Signed-off-by: Max Filippov +--- + gdb/xtensa-tdep.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gdb/xtensa-tdep.c b/gdb/xtensa-tdep.c +index 41f5ec1..6a7dba7 100644 +--- a/gdb/xtensa-tdep.c ++++ b/gdb/xtensa-tdep.c +@@ -2410,7 +2410,7 @@ call0_analyze_prologue (struct gdbarch *gdbarch, + /* Find out, if we have an information about the prologue from DWARF. */ + prologue_sal = find_pc_line (start, 0); + if (prologue_sal.line != 0) /* Found debug info. */ +- body_pc = prologue_sal.end; ++ body_pc = prologue_sal.end + 40; + + /* If we are going to analyze the prologue in general without knowing about + the current PC, make the best assumtion for the end of the prologue. */ +-- +1.8.1.4 + -- cgit v0.10.2-6-g49f6