From 79b100707b5ddd14414ea5909f5d8a4788d1d31b Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Sat, 3 Feb 2018 12:05:29 -0800 Subject: Bring in GDB 8.1 and glibc 2.27. Signed-off-by: Alexey Neyman diff --git a/packages/gdb/8.1/0000-musl_fix.patch b/packages/gdb/8.1/0000-musl_fix.patch new file mode 100644 index 0000000..6829780 --- /dev/null +++ b/packages/gdb/8.1/0000-musl_fix.patch @@ -0,0 +1,33 @@ +--- + 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" +@@ -71,6 +72,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/packages/gdb/8.1/0001-uclibc-no-gettimeofday-clobber.patch b/packages/gdb/8.1/0001-uclibc-no-gettimeofday-clobber.patch new file mode 100644 index 0000000..c8b4a5e --- /dev/null +++ b/packages/gdb/8.1/0001-uclibc-no-gettimeofday-clobber.patch @@ -0,0 +1,33 @@ +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 + +--- + gdb/gnulib/configure | 1 + + gdb/gnulib/import/m4/gettimeofday.m4 | 1 + + 2 files changed, 2 insertions(+) + +--- a/gdb/gnulib/configure ++++ b/gdb/gnulib/configure +@@ -16790,6 +16790,7 @@ + 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 +--- a/gdb/gnulib/import/m4/gettimeofday.m4 ++++ b/gdb/gnulib/import/m4/gettimeofday.m4 +@@ -111,6 +111,7 @@ + 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/packages/gdb/8.1/0002-xtensa-make-sure-ar_base-is-initialized.patch b/packages/gdb/8.1/0002-xtensa-make-sure-ar_base-is-initialized.patch new file mode 100644 index 0000000..4a046fd --- /dev/null +++ b/packages/gdb/8.1/0002-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 +@@ -3157,6 +3157,9 @@ + 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; + diff --git a/packages/gdb/8.1/0003-WIP-end-of-prologue-detection-hack.patch b/packages/gdb/8.1/0003-WIP-end-of-prologue-detection-hack.patch new file mode 100644 index 0000000..90cfc51 --- /dev/null +++ b/packages/gdb/8.1/0003-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 +@@ -2401,7 +2401,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 assumtion for the end of the prologue. */ diff --git a/packages/gdb/8.1/0004-allow-android.patch b/packages/gdb/8.1/0004-allow-android.patch new file mode 100644 index 0000000..cd47494 --- /dev/null +++ b/packages/gdb/8.1/0004-allow-android.patch @@ -0,0 +1,45 @@ +--- + gdb/gdbserver/configure | 11 ----------- + gdb/gdbserver/configure.ac | 11 ----------- + 2 files changed, 22 deletions(-) + +--- a/gdb/gdbserver/configure ++++ b/gdb/gdbserver/configure +@@ -7565,17 +7565,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/gdb/gdbserver/configure.ac ++++ b/gdb/gdbserver/configure.ac +@@ -195,17 +195,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/8.1/chksum b/packages/gdb/8.1/chksum new file mode 100644 index 0000000..c75924e --- /dev/null +++ b/packages/gdb/8.1/chksum @@ -0,0 +1,8 @@ +md5 gdb-8.1.tar.xz f46487561f9a16916a8102316f7fd105 +sha1 gdb-8.1.tar.xz 641861f7d3f22b6a23bc3e801f0ff29a78375490 +sha256 gdb-8.1.tar.xz af61a0263858e69c5dce51eab26662ff3d2ad9aa68da9583e8143b5426be4b34 +sha512 gdb-8.1.tar.xz ffd82f415d7652d62dad1716c307836f594217a363429609beb7d70239e8bf06b73b393345b0e000796228e56681ed7656ac3c8be05e91d6d652ab0d5b1dc357 +md5 gdb-8.1.tar.gz 0c85ecbb43569ec43b1c9230622e84ab +sha1 gdb-8.1.tar.gz b28d9349ccd45c0aa208cda3a1ecf7e17eca0552 +sha256 gdb-8.1.tar.gz e54a2322da050e4b00785370a282b9b8f0b25861ec7cfbbce0115e253eea910e +sha512 gdb-8.1.tar.gz 4a51e491061f97708ec1cebf9973ea451f9b9499ee2b898fa1631dbe78ffecec9c09e8a95f04c888dee4664957583b1982efd468088878b203a125bbcf9ee516 diff --git a/packages/gdb/8.1/version.desc b/packages/gdb/8.1/version.desc new file mode 100644 index 0000000..e69de29 diff --git a/packages/glibc/2.27/0000-typedef-caddr.patch b/packages/glibc/2.27/0000-typedef-caddr.patch new file mode 100644 index 0000000..980939b --- /dev/null +++ b/packages/glibc/2.27/0000-typedef-caddr.patch @@ -0,0 +1,17 @@ +--- + posix/sys/types.h | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/posix/sys/types.h ++++ b/posix/sys/types.h +@@ -113,7 +113,10 @@ + #ifdef __USE_MISC + # ifndef __daddr_t_defined + typedef __daddr_t daddr_t; ++# if ! defined(caddr_t) && ! defined(__caddr_t_defined) + typedef __caddr_t caddr_t; ++# define __caddr_t_defined ++# endif + # define __daddr_t_defined + # endif + #endif diff --git a/packages/glibc/2.27/chksum b/packages/glibc/2.27/chksum new file mode 100644 index 0000000..5e7165b --- /dev/null +++ b/packages/glibc/2.27/chksum @@ -0,0 +1,12 @@ +md5 glibc-2.27.tar.xz 898cd5656519ffbc3a03fe811dd89e82 +sha1 glibc-2.27.tar.xz 1f7a9c43026484943ef7cf6885f2176a2bc1e093 +sha256 glibc-2.27.tar.xz 5172de54318ec0b7f2735e5a91d908afe1c9ca291fec16b5374d9faadfc1fc72 +sha512 glibc-2.27.tar.xz 7c5581154487d38d173ce1feb944e60207139cca148bccf066eaae322c0c2d219423bdcfa15c7f9be1b5e45dfc43c641cc5d80d3c3c65837d08a83cdb4e2a147 +md5 glibc-2.27.tar.bz2 274e794c999b4ebbccdf72bfb4c49a68 +sha1 glibc-2.27.tar.bz2 fc9fe8adcbbab359b286ca22f793796b4c9c395f +sha256 glibc-2.27.tar.bz2 e49c919c83579984f7c2442243861d04227e8dc831a08d7bf60cdacfdcd08797 +sha512 glibc-2.27.tar.bz2 05cbb749d9ae2a742b50ef42e4d88fc501cbadadfd105d7c21e07293403dc509ec3476b784e4cd613c34df166d7c12f7a3a5373d4d1cbdbd7c98e091caa75ce4 +md5 glibc-2.27.tar.gz 527bc6270e37ab97314a3af0b7b83db8 +sha1 glibc-2.27.tar.gz 405a3523316b441d1812eafe0013eb78512d5eb5 +sha256 glibc-2.27.tar.gz 881ca905e6b5eec724de7948f14d66a07d97bdee8013e1b2a7d021ff5d540522 +sha512 glibc-2.27.tar.gz a42cf88bd9965c1ad95579672f32809d5555d8f035305f25f76240c5735ea15029d7c818501139d6a2faf834bf75f57cbe6d28a42083d6a3cb2a1d8e8117b4ad diff --git a/packages/glibc/2.27/version.desc b/packages/glibc/2.27/version.desc new file mode 100644 index 0000000..e69de29 -- cgit v0.10.2-6-g49f6