From d7b313774e0881090d14dbd23339f67e8f0109d0 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Fri, 13 Jan 2017 15:53:58 -0800 Subject: Add gdb 7.12. Same patches apply; changed 101-uclibc-no-gettimeofday-clobber.patch - modify configure.ac and regenerate configure (rather than modifying the latter directly). Signed-off-by: Alexey Neyman diff --git a/config/debug/gdb.in b/config/debug/gdb.in index 0b39327..dd8239f 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_12 + bool + prompt "7.12" + select GDB_7_2_or_later + config GDB_V_7_11 bool prompt "7.11" @@ -244,6 +249,7 @@ config GDB_VERSION string # Don't remove next line # CT_INSERT_VERSION_STRING_BELOW + default "7.12" if GDB_V_7_12 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 diff --git a/patches/gdb/7.12/100-musl_fix.patch b/patches/gdb/7.12/100-musl_fix.patch new file mode 100644 index 0000000..c0c1e0a --- /dev/null +++ b/patches/gdb/7.12/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.12/101-uclibc-no-gettimeofday-clobber.patch b/patches/gdb/7.12/101-uclibc-no-gettimeofday-clobber.patch new file mode 100644 index 0000000..cd7a4c6 --- /dev/null +++ b/patches/gdb/7.12/101-uclibc-no-gettimeofday-clobber.patch @@ -0,0 +1,30 @@ +Improve gnulib in gdb's guess work, gettimeofday() works in uClibcm promise. + +This patch helps building x86_64-unknown-linux-uclibc toolchains, the final +gdb-native step otherwise fails when linking the libinproctrace.so + +Signed-off-by: Joachim Nilsson +Signed-off-by: Alexey Neyman + +diff -urpN gdb-7.12.orig/gdb/gnulib/configure gdb-7.12/gdb/gnulib/configure +--- gdb-7.12.orig/gdb/gnulib/configure 2017-01-13 13:42:11.773027566 -0800 ++++ gdb-7.12/gdb/gnulib/configure 2017-01-13 13:44:32.518082618 -0800 +@@ -13522,6 +13522,7 @@ else + case "$host_os" in + # Guess all is fine on glibc systems. + *-gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;; ++ *-uclibc*) gl_cv_func_gettimeofday_clobber="guessing no" ;; + # If we don't know, assume the worst. + *) gl_cv_func_gettimeofday_clobber="guessing yes" ;; + esac +diff -urpN gdb-7.12.orig/gdb/gnulib/import/m4/gettimeofday.m4 gdb-7.12/gdb/gnulib/import/m4/gettimeofday.m4 +--- gdb-7.12.orig/gdb/gnulib/import/m4/gettimeofday.m4 2017-01-13 13:42:11.777027595 -0800 ++++ gdb-7.12/gdb/gnulib/import/m4/gettimeofday.m4 2017-01-13 13:43:55.781797640 -0800 +@@ -111,6 +111,7 @@ AC_DEFUN([gl_FUNC_GETTIMEOFDAY_CLOBBER], + case "$host_os" in + # Guess all is fine on glibc systems. + *-gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;; ++ *-uclibc*) gl_cv_func_gettimeofday_clobber="guessing no" ;; + # If we don't know, assume the worst. + *) gl_cv_func_gettimeofday_clobber="guessing yes" ;; + esac diff --git a/patches/gdb/7.12/111-xtensa-make-sure-ar_base-is-initialized.patch b/patches/gdb/7.12/111-xtensa-make-sure-ar_base-is-initialized.patch new file mode 100644 index 0000000..982bd7f --- /dev/null +++ b/patches/gdb/7.12/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.12/112-WIP-end-of-prologue-detection-hack.patch b/patches/gdb/7.12/112-WIP-end-of-prologue-detection-hack.patch new file mode 100644 index 0000000..506a57c --- /dev/null +++ b/patches/gdb/7.12/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