diff options
author | Alexey Neyman <stilor@att.net> | 2019-03-11 00:33:22 -0700 |
---|---|---|
committer | Alexey Neyman <stilor@att.net> | 2019-03-11 00:33:22 -0700 |
commit | de36f78f898940e7611b177e9ccd97516f131caf (patch) | |
tree | 468264dc671077e05270674518d3cbcea083dc58 /packages/gdb | |
parent | 5332f480e44d2eed46faf3290b385d141ccc2df8 (diff) | |
download | crosstool-ng-de36f78f898940e7611b177e9ccd97516f131caf.tar.gz crosstool-ng-de36f78f898940e7611b177e9ccd97516f131caf.tar.bz2 crosstool-ng-de36f78f898940e7611b177e9ccd97516f131caf.zip |
Allow older GDB to build against newer glibc
Also, fix the subdir used when only gdbserver is built (without native
GDB).
Signed-off-by: Alexey Neyman <stilor@att.net>
Diffstat (limited to 'packages/gdb')
-rw-r--r-- | packages/gdb/7.11.1/0005-include-gregset.h.patch | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/packages/gdb/7.11.1/0005-include-gregset.h.patch b/packages/gdb/7.11.1/0005-include-gregset.h.patch new file mode 100644 index 00000000..9a588ba1 --- /dev/null +++ b/packages/gdb/7.11.1/0005-include-gregset.h.patch @@ -0,0 +1,73 @@ +commit 31925464a80970e37c06192a0c49f8948a2f5da0 +Author: Matthew Wahab <matthew.wahab@arm.com> +Date: Mon Aug 15 13:09:04 2016 +0100 + + [GDB] Fix builds broken by proc-service changes. + + GLIBC BZ#20311 introduced a change to install proc_service.h so that gdb + didn't have to use the version it embeds in gdb_proc_service.h. The + embedded version is guarded by HAVE_PROC_SERVICE_H and + gdb_proc_service.h has a number other of includes and definitions, all + of which are uncondional except for an include for gregset.h. This is + only included if HAVE_PROC_SERIVCE_H is not defined. + + This causes a build failure when cross compiling gdb with the latest + glibc because type definitions in gregset are used independently of + HAVE_PROC_SERIVCE_H. In particular, they are used in gdb_proc_service.h + when PRFPREGSET_T_BROKEN is set. + + The error messages on the failure are + ---- + binutils-gdb/gdb/gdb_proc_service.h:173:9: error: ‘gdb_fpregset_t’ does + not name a type; did you mean ‘elf_fpregset_t’? + typedef gdb_fpregset_t gdb_prfpregset_t; + ^~~~~~~~~~~~~~ + elf_fpregset_t + + binutils-gdb/gdb/gdb_proc_service.h:173:9: error: ‘gdb_fpregset_t’ does + not name a type; did you mean ‘elf_fpregset_t’? + typedef gdb_fpregset_t gdb_prfpregset_t; + ^~~~~~~~~~~~~~ + elf_fpregset_t + + binutils-gdb/gdb/proc-service.c:218:15: error: ‘gdb_prfpregset_t’ does + not name a type; did you mean ‘gdb_fpregset_t’? + const gdb_prfpregset_t *fpregset) + ^~~~~~~~~~~~~~~~ + gdb_fpregset_t + ---- + + This patch moves the include for gregset.h to before the code guarded by + HAVE_PROC_SERIVCE_H, so that it is always included. This is enough to + fix the build. + + 2016-08-15 Matthew Wahab <matthew.wahab@arm.com> + + PR gdb/20457 + * gdb_proc_service.h: Add an include of gregset.h + [!HAVE_PROC_SERVICE_H]: Remove the include of gregset.h. + +--- + gdb/gdb_proc_service.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/gdb/gdb_proc_service.h ++++ b/gdb/gdb_proc_service.h +@@ -21,6 +21,8 @@ + + #include <sys/types.h> + ++#include "gregset.h" ++ + #ifdef HAVE_PROC_SERVICE_H + + /* glibc's proc_service.h doesn't wrap itself with extern "C". Need +@@ -60,8 +62,6 @@ + #include <sys/procfs.h> + #endif + +-#include "gregset.h" +- + EXTERN_C_PUSH + + /* Functions in this interface return one of these status codes. */ |