From d6eeff01a65439bdf74ac261124caec27e75d17a Mon Sep 17 00:00:00 2001 From: Alexey Brodkin Date: Fri, 10 Sep 2021 10:08:47 -0700 Subject: gdb10: Update existing patches As easy as: ./maintainer/manage-packages.sh --update-patches --select gdb-10.2 Signed-off-by: Alexey Brodkin diff --git a/packages/gdb/10.2/0000-musl_fix.patch b/packages/gdb/10.2/0000-musl_fix.patch deleted file mode 100644 index eaf58c0..0000000 --- a/packages/gdb/10.2/0000-musl_fix.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- - gdb/linux-nat.c | 5 +++++ - gdb/stopcode.h | 4 ++++ - 2 files changed, 9 insertions(+) - ---- 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" -@@ -70,6 +71,10 @@ - #include "gdbsupport/gdb-sigmask.h" - #include "debug.h" - -+#ifndef __SIGRTMIN -+#define __SIGRTMIN SIGRTMIN -+#endif -+ - /* This comment documents high-level logic of this file. - - Waiting for events in sync mode ---- a/gdb/stopcode.h -+++ b/gdb/stopcode.h -@@ -0,0 +1,4 @@ -+#ifndef W_STOPCODE -+#define W_STOPCODE(sig) ((sig) << 8 | 0x7f) -+#endif -+ diff --git a/packages/gdb/10.2/0000-uclibc-no-gettimeofday-clobber.patch b/packages/gdb/10.2/0000-uclibc-no-gettimeofday-clobber.patch new file mode 100644 index 0000000..11cf2fb --- /dev/null +++ b/packages/gdb/10.2/0000-uclibc-no-gettimeofday-clobber.patch @@ -0,0 +1,35 @@ +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 + +--- + gnulib/configure | 2 ++ + gnulib/import/m4/gettimeofday.m4 | 2 ++ + 2 files changed, 4 insertions(+) + +--- a/gnulib/configure ++++ b/gnulib/configure +@@ -20745,6 +20745,8 @@ + case "$host_os" in + # Guess all is fine on glibc systems. + *-gnu* | gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;; ++ # Guess all is fine on uclibc systems. ++ *-uclibc*) gl_cv_func_gettimeofday_clobber="guessing no" ;; + # Guess all is fine on musl systems. + *-musl*) gl_cv_func_gettimeofday_clobber="guessing no" ;; + # Guess no on native Windows. +--- a/gnulib/import/m4/gettimeofday.m4 ++++ b/gnulib/import/m4/gettimeofday.m4 +@@ -105,6 +105,8 @@ + case "$host_os" in + # Guess all is fine on glibc systems. + *-gnu* | gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;; ++ # Guess all is fine on uclibc systems. ++ *-uclibc*) gl_cv_func_gettimeofday_clobber="guessing no" ;; + # Guess all is fine on musl systems. + *-musl*) gl_cv_func_gettimeofday_clobber="guessing no" ;; + # Guess no on native Windows. diff --git a/packages/gdb/10.2/0001-uclibc-no-gettimeofday-clobber.patch b/packages/gdb/10.2/0001-uclibc-no-gettimeofday-clobber.patch deleted file mode 100644 index 11cf2fb..0000000 --- a/packages/gdb/10.2/0001-uclibc-no-gettimeofday-clobber.patch +++ /dev/null @@ -1,35 +0,0 @@ -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 - ---- - gnulib/configure | 2 ++ - gnulib/import/m4/gettimeofday.m4 | 2 ++ - 2 files changed, 4 insertions(+) - ---- a/gnulib/configure -+++ b/gnulib/configure -@@ -20745,6 +20745,8 @@ - case "$host_os" in - # Guess all is fine on glibc systems. - *-gnu* | gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;; -+ # Guess all is fine on uclibc systems. -+ *-uclibc*) gl_cv_func_gettimeofday_clobber="guessing no" ;; - # Guess all is fine on musl systems. - *-musl*) gl_cv_func_gettimeofday_clobber="guessing no" ;; - # Guess no on native Windows. ---- a/gnulib/import/m4/gettimeofday.m4 -+++ b/gnulib/import/m4/gettimeofday.m4 -@@ -105,6 +105,8 @@ - case "$host_os" in - # Guess all is fine on glibc systems. - *-gnu* | gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;; -+ # Guess all is fine on uclibc systems. -+ *-uclibc*) gl_cv_func_gettimeofday_clobber="guessing no" ;; - # Guess all is fine on musl systems. - *-musl*) gl_cv_func_gettimeofday_clobber="guessing no" ;; - # Guess no on native Windows. diff --git a/packages/gdb/10.2/0001-xtensa-make-sure-ar_base-is-initialized.patch b/packages/gdb/10.2/0001-xtensa-make-sure-ar_base-is-initialized.patch new file mode 100644 index 0000000..c0f364c --- /dev/null +++ b/packages/gdb/10.2/0001-xtensa-make-sure-ar_base-is-initialized.patch @@ -0,0 +1,30 @@ +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(+) + +--- a/gdb/xtensa-tdep.c ++++ b/gdb/xtensa-tdep.c +@@ -3137,6 +3137,9 @@ + if (tdep->num_regs == 0) + tdep->num_regs = tdep->num_nopriv_regs; + ++ if (tdep->ar_base == -1) ++ tdep->ar_base = tdep->a0_base; ++ + /* Number of pseudo registers. */ + tdep->num_pseudo_regs = n - tdep->num_regs; + diff --git a/packages/gdb/10.2/0002-WIP-end-of-prologue-detection-hack.patch b/packages/gdb/10.2/0002-WIP-end-of-prologue-detection-hack.patch new file mode 100644 index 0000000..9622ae9 --- /dev/null +++ b/packages/gdb/10.2/0002-WIP-end-of-prologue-detection-hack.patch @@ -0,0 +1,26 @@ +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(-) + +--- a/gdb/xtensa-tdep.c ++++ b/gdb/xtensa-tdep.c +@@ -2385,7 +2385,7 @@ + /* 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 assumption for the end of the prologue. */ diff --git a/packages/gdb/10.2/0002-xtensa-make-sure-ar_base-is-initialized.patch b/packages/gdb/10.2/0002-xtensa-make-sure-ar_base-is-initialized.patch deleted file mode 100644 index c0f364c..0000000 --- a/packages/gdb/10.2/0002-xtensa-make-sure-ar_base-is-initialized.patch +++ /dev/null @@ -1,30 +0,0 @@ -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(+) - ---- a/gdb/xtensa-tdep.c -+++ b/gdb/xtensa-tdep.c -@@ -3137,6 +3137,9 @@ - if (tdep->num_regs == 0) - tdep->num_regs = tdep->num_nopriv_regs; - -+ if (tdep->ar_base == -1) -+ tdep->ar_base = tdep->a0_base; -+ - /* Number of pseudo registers. */ - tdep->num_pseudo_regs = n - tdep->num_regs; - diff --git a/packages/gdb/10.2/0003-WIP-end-of-prologue-detection-hack.patch b/packages/gdb/10.2/0003-WIP-end-of-prologue-detection-hack.patch deleted file mode 100644 index 9622ae9..0000000 --- a/packages/gdb/10.2/0003-WIP-end-of-prologue-detection-hack.patch +++ /dev/null @@ -1,26 +0,0 @@ -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(-) - ---- a/gdb/xtensa-tdep.c -+++ b/gdb/xtensa-tdep.c -@@ -2385,7 +2385,7 @@ - /* 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 assumption for the end of the prologue. */ diff --git a/packages/gdb/10.2/0003-allow-android.patch b/packages/gdb/10.2/0003-allow-android.patch new file mode 100644 index 0000000..1d662fa --- /dev/null +++ b/packages/gdb/10.2/0003-allow-android.patch @@ -0,0 +1,45 @@ +--- + gdbserver/configure | 11 ----------- + gdbserver/configure.ac | 11 ----------- + 2 files changed, 22 deletions(-) + +--- a/gdbserver/configure ++++ b/gdbserver/configure +@@ -10069,17 +10069,6 @@ + + + case "${target}" in +- *-android*) +- # Starting with NDK version 9, actually includes definitions +- # of Elf32_auxv_t and Elf64_auxv_t. But sadly, includes +- # which defines some of the ELF types incorrectly, +- # leading to conflicts with the defintions from . +- # This makes it impossible for us to include both and +- # , which means that, in practice, we do not have +- # access to Elf32_auxv_t and Elf64_auxv_t on this platform. +- # Therefore, do not try to auto-detect availability, as it would +- # get it wrong on this platform. +- ;; + *) + ac_fn_c_check_type "$LINENO" "Elf32_auxv_t" "ac_cv_type_Elf32_auxv_t" "#include + +--- a/gdbserver/configure.ac ++++ b/gdbserver/configure.ac +@@ -155,17 +155,6 @@ + ]) + + case "${target}" in +- *-android*) +- # Starting with NDK version 9, actually includes definitions +- # of Elf32_auxv_t and Elf64_auxv_t. But sadly, includes +- # which defines some of the ELF types incorrectly, +- # leading to conflicts with the defintions from . +- # This makes it impossible for us to include both and +- # , which means that, in practice, we do not have +- # access to Elf32_auxv_t and Elf64_auxv_t on this platform. +- # Therefore, do not try to auto-detect availability, as it would +- # get it wrong on this platform. +- ;; + *) + AC_CHECK_TYPES([Elf32_auxv_t, Elf64_auxv_t], [], [], + #include diff --git a/packages/gdb/10.2/0004-allow-android.patch b/packages/gdb/10.2/0004-allow-android.patch deleted file mode 100644 index 68fdc08..0000000 --- a/packages/gdb/10.2/0004-allow-android.patch +++ /dev/null @@ -1,45 +0,0 @@ ---- - gdb/gdbserver/configure | 11 ----------- - gdb/gdbserver/configure.ac | 11 ----------- - 2 files changed, 22 deletions(-) - ---- a/gdbserver/configure -+++ b/gdbserver/configure -@@ -10069,17 +10069,6 @@ - - - case "${target}" in -- *-android*) -- # Starting with NDK version 9, actually includes definitions -- # of Elf32_auxv_t and Elf64_auxv_t. But sadly, includes -- # which defines some of the ELF types incorrectly, -- # leading to conflicts with the defintions from . -- # This makes it impossible for us to include both and -- # , which means that, in practice, we do not have -- # access to Elf32_auxv_t and Elf64_auxv_t on this platform. -- # Therefore, do not try to auto-detect availability, as it would -- # get it wrong on this platform. -- ;; - *) - ac_fn_c_check_type "$LINENO" "Elf32_auxv_t" "ac_cv_type_Elf32_auxv_t" "#include - ---- a/gdbserver/configure.ac -+++ b/gdbserver/configure.ac -@@ -155,17 +155,6 @@ - ]) - - case "${target}" in -- *-android*) -- # Starting with NDK version 9, actually includes definitions -- # of Elf32_auxv_t and Elf64_auxv_t. But sadly, includes -- # which defines some of the ELF types incorrectly, -- # leading to conflicts with the defintions from . -- # This makes it impossible for us to include both and -- # , which means that, in practice, we do not have -- # access to Elf32_auxv_t and Elf64_auxv_t on this platform. -- # Therefore, do not try to auto-detect availability, as it would -- # get it wrong on this platform. -- ;; - *) - AC_CHECK_TYPES([Elf32_auxv_t, Elf64_auxv_t], [], [], - #include diff --git a/packages/gdb/10.2/0004-xtensa-Fix-compilation-of-gdbserver.patch b/packages/gdb/10.2/0004-xtensa-Fix-compilation-of-gdbserver.patch new file mode 100644 index 0000000..7ccfa68 --- /dev/null +++ b/packages/gdb/10.2/0004-xtensa-Fix-compilation-of-gdbserver.patch @@ -0,0 +1,30 @@ +From 6f110500ed04148e3734f5b6a4fc573477c8398a Mon Sep 17 00:00:00 2001 +From: Alexey Brodkin +Date: Tue, 24 Aug 2021 12:29:18 -0700 +Subject: [PATCH] xtensa: Fix compilation of gdbserver + +Otherwise a lot of errors like the following happen: +--------------------------->8--------------------------------- +Error: .../gdb/xtensa-linux-nat.c:66:17: error: 'gdbarch_pc_regnum' was not declared in this scope +Error: .../gdb/xtensa-linux-nat.c:68:17: error: 'gdbarch_ps_regnum' was not declared in this scope +Error: .../gdb/xtensa-linux-nat.c:71:38: error: no matching function for call to 'gdbarch_tdep::gdbarch_tdep(gdbarch*&)' +... +--------------------------->8--------------------------------- + +Initially caught by https://github.com/crosstool-ng/crosstool-ng/pull/1573/checks?check_run_id=3361561567 + +Signed-off-by: Alexey Brodkin +--- + gdb/xtensa-linux-nat.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/gdb/xtensa-linux-nat.c ++++ b/gdb/xtensa-linux-nat.c +@@ -34,6 +34,7 @@ + #include "nat/gdb_ptrace.h" + #include + ++#include "gdbarch.h" + #include "gregset.h" + #include "xtensa-tdep.h" + diff --git a/packages/gdb/10.2/0005-xtensa-Fix-compilation-of-gdbserver.patch b/packages/gdb/10.2/0005-xtensa-Fix-compilation-of-gdbserver.patch deleted file mode 100644 index 9dee7a1..0000000 --- a/packages/gdb/10.2/0005-xtensa-Fix-compilation-of-gdbserver.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 6f110500ed04148e3734f5b6a4fc573477c8398a Mon Sep 17 00:00:00 2001 -From: Alexey Brodkin -Date: Tue, 24 Aug 2021 12:29:18 -0700 -Subject: [PATCH] xtensa: Fix compilation of gdbserver - -Otherwise a lot of errors like the following happen: ---------------------------->8--------------------------------- -Error: .../gdb/xtensa-linux-nat.c:66:17: error: 'gdbarch_pc_regnum' was not declared in this scope -Error: .../gdb/xtensa-linux-nat.c:68:17: error: 'gdbarch_ps_regnum' was not declared in this scope -Error: .../gdb/xtensa-linux-nat.c:71:38: error: no matching function for call to 'gdbarch_tdep::gdbarch_tdep(gdbarch*&)' -... ---------------------------->8--------------------------------- - -Initially caught by https://github.com/crosstool-ng/crosstool-ng/pull/1573/checks?check_run_id=3361561567 - -Signed-off-by: Alexey Brodkin ---- - gdb/xtensa-linux-nat.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/gdb/xtensa-linux-nat.c b/gdb/xtensa-linux-nat.c -index b2b3db182bc..03f3ba7b50a 100644 ---- a/gdb/xtensa-linux-nat.c -+++ b/gdb/xtensa-linux-nat.c -@@ -34,6 +34,7 @@ - #include "nat/gdb_ptrace.h" - #include - -+#include "gdbarch.h" - #include "gregset.h" - #include "xtensa-tdep.h" - --- -2.16.2 - -- cgit v0.10.2-6-g49f6