diff options
author | Alexey Neyman <stilor@att.net> | 2017-05-19 21:58:46 -0700 |
---|---|---|
committer | Alexey Neyman <stilor@att.net> | 2017-07-08 10:57:56 -0700 |
commit | e7deac3aad394325f9e6fc6fda41d34ec94a59e0 (patch) | |
tree | 6ad88362f0bfa8385a91eb494009a4646aeb74b6 /packages/gdb | |
parent | b9af225f58e45c7fae7eb9d3689fe939243e7578 (diff) | |
download | crosstool-ng-e7deac3aad394325f9e6fc6fda41d34ec94a59e0.tar.gz crosstool-ng-e7deac3aad394325f9e6fc6fda41d34ec94a59e0.tar.bz2 crosstool-ng-e7deac3aad394325f9e6fc6fda41d34ec94a59e0.zip |
Switch comp.libs/tools and debug to new framework.
Signed-off-by: Alexey Neyman <stilor@att.net>
Diffstat (limited to 'packages/gdb')
57 files changed, 2038 insertions, 0 deletions
diff --git a/packages/gdb/6.8a/100-dwarf-stack-overflow.patch b/packages/gdb/6.8a/100-dwarf-stack-overflow.patch new file mode 100644 index 00000000..344d5a3c --- /dev/null +++ b/packages/gdb/6.8a/100-dwarf-stack-overflow.patch @@ -0,0 +1,52 @@ +Original patch from gentoo: gentoo/src/patchsets/gdb/6.8/80_all_gdb-6.5-dwarf-stack-overflow.patch +-= BEGIN original header =- +http://bugs.gentoo.org/144833 + +for gdb/ChangeLog: +2006-08-22 Will Drewry <wad@google.com> + Tavis Ormandy <taviso@google.com> + + * dwarf2read.c (decode_locdesc): Enforce location description stack + boundaries. + * dwarfread.c (locval): Likewise. + +-= END original header =- +diff -durN gdb-6.8.orig/gdb/dwarf2read.c gdb-6.8/gdb/dwarf2read.c +--- gdb-6.8.orig/gdb/dwarf2read.c 2008-03-10 15:18:10.000000000 +0100 ++++ gdb-6.8/gdb/dwarf2read.c 2008-06-17 16:07:31.000000000 +0200 +@@ -9124,8 +9124,7 @@ + callers will only want a very basic result and this can become a + complaint. + +- Note that stack[0] is unused except as a default error return. +- Note that stack overflow is not yet handled. */ ++ Note that stack[0] is unused except as a default error return. */ + + static CORE_ADDR + decode_locdesc (struct dwarf_block *blk, struct dwarf2_cu *cu) +@@ -9142,7 +9141,7 @@ + + i = 0; + stacki = 0; +- stack[stacki] = 0; ++ stack[++stacki] = 0; + + while (i < size) + { +@@ -9324,6 +9323,16 @@ + dwarf_stack_op_name (op)); + return (stack[stacki]); + } ++ /* Enforce maximum stack depth of size-1 to avoid ++stacki writing ++ outside of the allocated space. Also enforce minimum > 0. ++ -- wad@google.com 14 Aug 2006 */ ++ if (stacki >= sizeof (stack) / sizeof (*stack) - 1) ++ internal_error (__FILE__, __LINE__, ++ _("location description stack too deep: %d"), ++ stacki); ++ if (stacki <= 0) ++ internal_error (__FILE__, __LINE__, ++ _("location description stack too shallow")); + } + return (stack[stacki]); + } diff --git a/packages/gdb/6.8a/110-security-errata-20050610.patch b/packages/gdb/6.8a/110-security-errata-20050610.patch new file mode 100644 index 00000000..27e8174a --- /dev/null +++ b/packages/gdb/6.8a/110-security-errata-20050610.patch @@ -0,0 +1,205 @@ +Original patch from gentoo: gentoo/src/patchsets/gdb/6.8/35_all_gdb-6.3-security-errata-20050610.patch +-= BEGIN original header =- +2005-06-09 Jeff Johnston <jjohnstn@redhat.com> + + * gdb.base/gdbinit.exp: New testcase. + * gdb.base/gdbinit.sample: Sample .gdbinit for gdbinit.exp. + +2005-06-08 Daniel Jacobowitz <dan@codesourcery.com> + Jeff Johnston <jjohnstn@redhat.com> + + * Makefile.in (cli-cmds.o): Update. + * configure.in: Add check for getuid. + * configure: Regenerated. + * config.in: Ditto. + * main.c (captured_main): Pass -1 to source_command when loading + gdbinit files. + * cli/cli-cmds.c: Include "gdb_stat.h" and <fcntl.h>. + (source_command): Update documentation. Check permissions if + FROM_TTY is -1. + +-= END original header =- +diff -durN gdb-6.8.orig/gdb/Makefile.in gdb-6.8/gdb/Makefile.in +--- gdb-6.8.orig/gdb/Makefile.in 2008-03-17 13:15:08.000000000 +0100 ++++ gdb-6.8/gdb/Makefile.in 2008-06-17 16:07:33.000000000 +0200 +@@ -3004,7 +3004,7 @@ + $(expression_h) $(frame_h) $(value_h) $(language_h) $(filenames_h) \ + $(objfiles_h) $(source_h) $(disasm_h) $(ui_out_h) $(top_h) \ + $(cli_decode_h) $(cli_script_h) $(cli_setshow_h) $(cli_cmds_h) \ +- $(tui_h) ++ $(tui_h) $(gdb_stat_h) + $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/cli/cli-cmds.c + cli-decode.o: $(srcdir)/cli/cli-decode.c $(defs_h) $(symtab_h) \ + $(gdb_regex_h) $(gdb_string_h) $(completer_h) $(ui_out_h) \ +diff -durN gdb-6.8.orig/gdb/cli/cli-cmds.c gdb-6.8/gdb/cli/cli-cmds.c +--- gdb-6.8.orig/gdb/cli/cli-cmds.c 2008-01-01 23:53:14.000000000 +0100 ++++ gdb-6.8/gdb/cli/cli-cmds.c 2008-06-17 16:07:33.000000000 +0200 +@@ -36,6 +36,7 @@ + #include "objfiles.h" + #include "source.h" + #include "disasm.h" ++#include "gdb_stat.h" + + #include "ui-out.h" + +@@ -459,12 +460,31 @@ + + if (fd == -1) + { +- if (from_tty) ++ if (from_tty > 0) + perror_with_name (file); + else + return; + } + ++#ifdef HAVE_GETUID ++ if (from_tty == -1) ++ { ++ struct stat statbuf; ++ if (fstat (fd, &statbuf) < 0) ++ { ++ perror_with_name (file); ++ close (fd); ++ return; ++ } ++ if (statbuf.st_uid != getuid () || (statbuf.st_mode & S_IWOTH)) ++ { ++ warning (_("not using untrusted file \"%s\""), file); ++ close (fd); ++ return; ++ } ++ } ++#endif ++ + stream = fdopen (fd, FOPEN_RT); + script_from_file (stream, file); + +diff -durN gdb-6.8.orig/gdb/main.c gdb-6.8/gdb/main.c +--- gdb-6.8.orig/gdb/main.c 2008-01-05 17:49:53.000000000 +0100 ++++ gdb-6.8/gdb/main.c 2008-06-17 16:07:33.000000000 +0200 +@@ -690,7 +690,7 @@ + + if (!inhibit_gdbinit) + { +- catch_command_errors (source_script, homeinit, 0, RETURN_MASK_ALL); ++ catch_command_errors (source_script, homeinit, -1, RETURN_MASK_ALL); + } + + /* Do stats; no need to do them elsewhere since we'll only +@@ -778,7 +778,7 @@ + || memcmp ((char *) &homebuf, (char *) &cwdbuf, sizeof (struct stat))) + if (!inhibit_gdbinit) + { +- catch_command_errors (source_script, gdbinit, 0, RETURN_MASK_ALL); ++ catch_command_errors (source_script, gdbinit, -1, RETURN_MASK_ALL); + } + + for (i = 0; i < ncmd; i++) +diff -durN gdb-6.8.orig/gdb/testsuite/gdb.base/gdbinit.exp gdb-6.8/gdb/testsuite/gdb.base/gdbinit.exp +--- gdb-6.8.orig/gdb/testsuite/gdb.base/gdbinit.exp 1970-01-01 01:00:00.000000000 +0100 ++++ gdb-6.8/gdb/testsuite/gdb.base/gdbinit.exp 2008-06-17 16:07:33.000000000 +0200 +@@ -0,0 +1,98 @@ ++# Copyright 2005 ++# Free Software Foundation, Inc. ++ ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ++ ++# Please email any bugs, comments, and/or additions to this file to: ++# bug-gdb@prep.ai.mit.edu ++ ++# This file was written by Jeff Johnston <jjohnstn@redhat.com>. ++ ++if $tracelevel then { ++ strace $tracelevel ++} ++ ++set prms_id 0 ++set bug_id 0 ++ ++# are we on a target board ++if [is_remote target] { ++ return ++} ++ ++ ++global verbose ++global GDB ++global GDBFLAGS ++global gdb_prompt ++global timeout ++global gdb_spawn_id; ++ ++gdb_stop_suppressing_tests; ++ ++verbose "Spawning $GDB -nw" ++ ++if [info exists gdb_spawn_id] { ++ return 0; ++} ++ ++if ![is_remote host] { ++ if { [which $GDB] == 0 } then { ++ perror "$GDB does not exist." ++ exit 1 ++ } ++} ++ ++set env(HOME) [pwd] ++remote_exec build "rm .gdbinit" ++remote_exec build "cp ${srcdir}/${subdir}/gdbinit.sample .gdbinit" ++remote_exec build "chmod 646 .gdbinit" ++ ++set res [remote_spawn host "$GDB -nw [host_info gdb_opts]"]; ++if { $res < 0 || $res == "" } { ++ perror "Spawning $GDB failed." ++ return 1; ++} ++gdb_expect 360 { ++ -re "warning: not using untrusted file.*\.gdbinit.*\[\r\n\]$gdb_prompt $" { ++ pass "untrusted .gdbinit caught." ++ } ++ -re "$gdb_prompt $" { ++ fail "untrusted .gdbinit caught." ++ } ++ timeout { ++ fail "(timeout) untrusted .gdbinit caught." ++ } ++} ++ ++remote_exec build "chmod 644 .gdbinit" ++set res [remote_spawn host "$GDB -nw [host_info gdb_opts]"]; ++if { $res < 0 || $res == "" } { ++ perror "Spawning $GDB failed." ++ return 1; ++} ++gdb_expect 360 { ++ -re "warning: not using untrusted file.*\.gdbinit.*\[\r\n\]$gdb_prompt $" { ++ fail "trusted .gdbinit allowed." ++ } ++ -re "in gdbinit.*$gdb_prompt $" { ++ pass "trusted .gdbinit allowed." ++ } ++ timeout { ++ fail "(timeout) trusted .gdbinit allowed." ++ } ++} ++ ++remote_exec build "rm .gdbinit" +diff -durN gdb-6.8.orig/gdb/testsuite/gdb.base/gdbinit.sample gdb-6.8/gdb/testsuite/gdb.base/gdbinit.sample +--- gdb-6.8.orig/gdb/testsuite/gdb.base/gdbinit.sample 1970-01-01 01:00:00.000000000 +0100 ++++ gdb-6.8/gdb/testsuite/gdb.base/gdbinit.sample 2008-06-17 16:07:33.000000000 +0200 +@@ -0,0 +1 @@ ++echo "\nin gdbinit" diff --git a/packages/gdb/6.8a/120-tdep-opcode-include-workaround.patch b/packages/gdb/6.8a/120-tdep-opcode-include-workaround.patch new file mode 100644 index 00000000..61fdef48 --- /dev/null +++ b/packages/gdb/6.8a/120-tdep-opcode-include-workaround.patch @@ -0,0 +1,33 @@ +Original patch from gentoo: gentoo/src/patchsets/gdb/6.8/20_all_gdb-tdep-opcode-include-workaround.patch +-= BEGIN original header =- +workaround build failure + +http://bugs.gentoo.org/216368 + +-= END original header =- +diff -durN gdb-6.8.orig/gdb/frv-tdep.c gdb-6.8/gdb/frv-tdep.c +--- gdb-6.8.orig/gdb/frv-tdep.c 2008-01-11 14:19:59.000000000 +0100 ++++ gdb-6.8/gdb/frv-tdep.c 2008-06-17 16:07:34.000000000 +0200 +@@ -32,7 +32,7 @@ + #include "gdb_assert.h" + #include "sim-regno.h" + #include "gdb/sim-frv.h" +-#include "opcodes/frv-desc.h" /* for the H_SPR_... enums */ ++#include "../opcodes/frv-desc.h" /* for the H_SPR_... enums */ + #include "symtab.h" + #include "elf-bfd.h" + #include "elf/frv.h" +diff -durN gdb-6.8.orig/gdb/mep-tdep.c gdb-6.8/gdb/mep-tdep.c +--- gdb-6.8.orig/gdb/mep-tdep.c 2008-01-11 14:20:02.000000000 +0100 ++++ gdb-6.8/gdb/mep-tdep.c 2008-06-17 16:07:34.000000000 +0200 +@@ -53,8 +53,8 @@ + + /* Get the user's customized MeP coprocessor register names from + libopcodes. */ +-#include "opcodes/mep-desc.h" +-#include "opcodes/mep-opc.h" ++#include "../opcodes/mep-desc.h" ++#include "../opcodes/mep-opc.h" + + + /* The gdbarch_tdep structure. */ diff --git a/packages/gdb/6.8a/130-reg-no-longer-active.patch b/packages/gdb/6.8a/130-reg-no-longer-active.patch new file mode 100644 index 00000000..1c7e7e00 --- /dev/null +++ b/packages/gdb/6.8a/130-reg-no-longer-active.patch @@ -0,0 +1,30 @@ +Fix bug reported by Thomas Petazzoni <thomas.petazzoni@free-electrons.com>: +See: http://sourceware.org/ml/crossgcc/2009-05/msg00055.html + https://bugzilla.redhat.com/show_bug.cgi?id=436037 + +Fix from: http://cvs.fedoraproject.org/viewvc/devel/gdb/gdb-6.8-bz436037-reg-no-longer-active.patch?revision=1.1 + +diff -d -urpN src.0/gdb/valops.c src.1/gdb/valops.c +--- src.0/gdb/valops.c 2008-07-27 04:00:03.000000000 +0200 ++++ src.1/gdb/valops.c 2008-07-31 15:17:42.000000000 +0200 +@@ -813,10 +813,18 @@ value_assign (struct value *toval, struc + struct frame_info *frame; + int value_reg; + +- /* Figure out which frame this is in currently. */ +- frame = frame_find_by_id (VALUE_FRAME_ID (toval)); + value_reg = VALUE_REGNUM (toval); + ++ /* Figure out which frame this is in currently. */ ++ frame = frame_find_by_id (VALUE_FRAME_ID (toval)); ++ /* "set $reg+=1" should work on programs with no debug info, ++ but frame_find_by_id returns NULL here (RH bug 436037). ++ Use current frame, it represents CPU state in this case. ++ If frame_find_by_id is changed to do it internally ++ (it is contemplated there), remove this. */ ++ if (!frame) ++ frame = get_current_frame (); ++ /* Probably never happens. */ + if (!frame) + error (_("Value being assigned to is no longer active.")); + diff --git a/packages/gdb/6.8a/140-sim-ppc-have-config-h.patch b/packages/gdb/6.8a/140-sim-ppc-have-config-h.patch new file mode 100644 index 00000000..f3723b57 --- /dev/null +++ b/packages/gdb/6.8a/140-sim-ppc-have-config-h.patch @@ -0,0 +1,183 @@ +Fix for canadian cross build of sim/ppc + +Orignal patch info see: http://sources.redhat.com/bugzilla/show_bug.cgi?id=9638 + +diff -urN gdb-6.8-pl1/sim/ppc/Makefile.in gdb-6.8-pl2/sim/ppc/Makefile.in +--- gdb-6.8-pl1/sim/ppc/Makefile.in 2006-05-31 17:14:45.000000000 +0200 ++++ gdb-6.8-pl2/sim/ppc/Makefile.in 2008-09-30 15:56:33.000000000 +0200 +@@ -61,7 +61,7 @@ + AR = @AR@ + AR_FLAGS = rc + CC = @CC@ +-CFLAGS = @CFLAGS@ ++CFLAGS = @CFLAGS@ -DHAVE_CONFIG_H + CC_FOR_BUILD = @CC_FOR_BUILD@ + CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ + BISON = bison +@@ -115,8 +115,8 @@ + $(DEVZERO_CFLAGS) + SIM_FPU_CFLAGS = @sim_fpu_cflags@ + +-STD_CFLAGS = $(CFLAGS) $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(WARNING_CFLAGS) $(SIM_CFLAGS) $(HDEFINES) $(TDEFINES) $(INCLUDES) $(INTL_CFLAGS) $(SIM_FPU_CFLAGS) +-NOWARN_CFLAGS = $(CFLAGS) $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(SIM_CFLAGS) $(HDEFINES) $(TDEFINES) $(INCLUDES) $(SIM_FPU_CFLAGS) ++STD_CFLAGS = $(CFLAGS) -DHAVE_CONFIG_H $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(WARNING_CFLAGS) $(SIM_CFLAGS) $(HDEFINES) $(TDEFINES) $(INCLUDES) $(INTL_CFLAGS) $(SIM_FPU_CFLAGS) ++NOWARN_CFLAGS = $(CFLAGS) -DHAVE_CONFIG_H $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(SIM_CFLAGS) $(HDEFINES) $(TDEFINES) $(INCLUDES) $(SIM_FPU_CFLAGS) + BUILD_CFLAGS = $(CFLAGS_FOR_BUILD) $(INCLUDES) $(WARNING_CFLAGS) + + BUILD_LDFLAGS = +diff -urN gdb-6.8-orig/sim/ppc/basics.h gdb-6.8-pl1/sim/ppc/basics.h +--- gdb-6.8-orig/sim/ppc/basics.h 1999-04-16 03:35:08.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/basics.h 2008-09-30 15:12:32.000000000 +0200 +@@ -86,7 +86,9 @@ + + /* Basic configuration */ + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "ppc-config.h" + #include "inline.h" + +diff -urN gdb-6.8-orig/sim/ppc/debug.c gdb-6.8-pl1/sim/ppc/debug.c +--- gdb-6.8-orig/sim/ppc/debug.c 1999-04-16 03:35:08.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/debug.c 2008-09-30 15:12:27.000000000 +0200 +@@ -22,7 +22,9 @@ + #ifndef _DEBUG_C_ + #define _DEBUG_C_ + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "basics.h" + + #ifdef HAVE_STDLIB_H +diff -urN gdb-6.8-orig/sim/ppc/dgen.c gdb-6.8-pl1/sim/ppc/dgen.c +--- gdb-6.8-orig/sim/ppc/dgen.c 1999-04-16 03:35:08.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/dgen.c 2008-09-30 15:12:22.000000000 +0200 +@@ -27,7 +27,9 @@ + #include <ctype.h> + #include <stdarg.h> + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "misc.h" + #include "lf.h" + #include "table.h" +diff -urN gdb-6.8-orig/sim/ppc/filter.c gdb-6.8-pl1/sim/ppc/filter.c +--- gdb-6.8-orig/sim/ppc/filter.c 1999-04-16 03:35:09.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/filter.c 2008-09-30 15:12:15.000000000 +0200 +@@ -21,7 +21,9 @@ + + #include <stdio.h> + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + + #ifdef HAVE_STRING_H + #include <string.h> +diff -urN gdb-6.8-orig/sim/ppc/filter_filename.c gdb-6.8-pl1/sim/ppc/filter_filename.c +--- gdb-6.8-orig/sim/ppc/filter_filename.c 1999-04-16 03:35:08.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/filter_filename.c 2008-09-30 15:12:11.000000000 +0200 +@@ -18,7 +18,9 @@ + + */ + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "ppc-config.h" + #include "filter_filename.h" + +diff -urN gdb-6.8-orig/sim/ppc/igen.c gdb-6.8-pl1/sim/ppc/igen.c +--- gdb-6.8-orig/sim/ppc/igen.c 2003-06-20 05:59:33.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/igen.c 2008-09-30 15:12:06.000000000 +0200 +@@ -25,7 +25,9 @@ + #include "misc.h" + #include "lf.h" + #include "table.h" ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + + #include "filter.h" + +diff -urN gdb-6.8-orig/sim/ppc/inline.c gdb-6.8-pl1/sim/ppc/inline.c +--- gdb-6.8-orig/sim/ppc/inline.c 1999-04-16 03:35:10.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/inline.c 2008-09-30 15:11:58.000000000 +0200 +@@ -22,7 +22,9 @@ + #ifndef _INLINE_C_ + #define _INLINE_C_ + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "ppc-config.h" + + #include "inline.h" +diff -urN gdb-6.8-orig/sim/ppc/lf.c gdb-6.8-pl1/sim/ppc/lf.c +--- gdb-6.8-orig/sim/ppc/lf.c 2002-05-30 17:07:06.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/lf.c 2008-09-30 15:33:35.000000000 +0200 +@@ -23,7 +23,9 @@ + #include <stdarg.h> + #include <ctype.h> + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "misc.h" + #include "lf.h" + +diff -urN gdb-6.8-orig/sim/ppc/misc.c gdb-6.8-pl1/sim/ppc/misc.c +--- gdb-6.8-orig/sim/ppc/misc.c 1999-04-16 03:35:11.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/misc.c 2008-09-30 15:11:54.000000000 +0200 +@@ -23,7 +23,9 @@ + #include <stdarg.h> + #include <ctype.h> + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "misc.h" + + #ifdef HAVE_STDLIB_H +diff -urN gdb-6.8-orig/sim/ppc/misc.h gdb-6.8-pl1/sim/ppc/misc.h +--- gdb-6.8-orig/sim/ppc/misc.h 2002-01-12 11:21:12.000000000 +0100 ++++ gdb-6.8-pl1/sim/ppc/misc.h 2008-09-30 15:11:49.000000000 +0200 +@@ -21,7 +21,9 @@ + + /* Frustrating header junk */ + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + + #include <stdio.h> + #include <ctype.h> +diff -urN gdb-6.8-orig/sim/ppc/sim-endian.c gdb-6.8-pl1/sim/ppc/sim-endian.c +--- gdb-6.8-orig/sim/ppc/sim-endian.c 1999-04-16 03:35:11.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/sim-endian.c 2008-09-30 15:11:44.000000000 +0200 +@@ -22,7 +22,9 @@ + #ifndef _SIM_ENDIAN_C_ + #define _SIM_ENDIAN_C_ + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "basics.h" + + +diff -urN gdb-6.8-orig/sim/ppc/table.c gdb-6.8-pl1/sim/ppc/table.c +--- gdb-6.8-orig/sim/ppc/table.c 2002-01-12 11:21:12.000000000 +0100 ++++ gdb-6.8-pl1/sim/ppc/table.c 2008-09-30 15:11:38.000000000 +0200 +@@ -25,7 +25,9 @@ + #include <fcntl.h> + #include <ctype.h> + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "misc.h" + #include "lf.h" + #include "table.h" diff --git a/packages/gdb/6.8a/150-handle-stpcpy-define.patch b/packages/gdb/6.8a/150-handle-stpcpy-define.patch new file mode 100644 index 00000000..88d703ff --- /dev/null +++ b/packages/gdb/6.8a/150-handle-stpcpy-define.patch @@ -0,0 +1,12 @@ +diff -ru gdb-6.8.orig/bfd/sysdep.h gdb-6.8/bfd/sysdep.h +--- gdb-6.8.orig/bfd/sysdep.h 2007-07-03 16:26:42.000000000 +0200 ++++ gdb-6.8/bfd/sysdep.h 2011-08-21 13:33:47.000000000 +0200 +@@ -131,7 +131,7 @@ + extern PTR realloc (); + #endif + +-#if !HAVE_DECL_STPCPY ++#if !HAVE_DECL_STPCPY && !defined(stpcpy) + extern char *stpcpy (char *__dest, const char *__src); + #endif + diff --git a/packages/gdb/6.8a/version.desc b/packages/gdb/6.8a/version.desc new file mode 100644 index 00000000..026d275e --- /dev/null +++ b/packages/gdb/6.8a/version.desc @@ -0,0 +1 @@ +obsolete="yes" diff --git a/packages/gdb/7.0.1a/100-sim-ppc-have-config-h.patch b/packages/gdb/7.0.1a/100-sim-ppc-have-config-h.patch new file mode 100644 index 00000000..f3723b57 --- /dev/null +++ b/packages/gdb/7.0.1a/100-sim-ppc-have-config-h.patch @@ -0,0 +1,183 @@ +Fix for canadian cross build of sim/ppc + +Orignal patch info see: http://sources.redhat.com/bugzilla/show_bug.cgi?id=9638 + +diff -urN gdb-6.8-pl1/sim/ppc/Makefile.in gdb-6.8-pl2/sim/ppc/Makefile.in +--- gdb-6.8-pl1/sim/ppc/Makefile.in 2006-05-31 17:14:45.000000000 +0200 ++++ gdb-6.8-pl2/sim/ppc/Makefile.in 2008-09-30 15:56:33.000000000 +0200 +@@ -61,7 +61,7 @@ + AR = @AR@ + AR_FLAGS = rc + CC = @CC@ +-CFLAGS = @CFLAGS@ ++CFLAGS = @CFLAGS@ -DHAVE_CONFIG_H + CC_FOR_BUILD = @CC_FOR_BUILD@ + CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ + BISON = bison +@@ -115,8 +115,8 @@ + $(DEVZERO_CFLAGS) + SIM_FPU_CFLAGS = @sim_fpu_cflags@ + +-STD_CFLAGS = $(CFLAGS) $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(WARNING_CFLAGS) $(SIM_CFLAGS) $(HDEFINES) $(TDEFINES) $(INCLUDES) $(INTL_CFLAGS) $(SIM_FPU_CFLAGS) +-NOWARN_CFLAGS = $(CFLAGS) $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(SIM_CFLAGS) $(HDEFINES) $(TDEFINES) $(INCLUDES) $(SIM_FPU_CFLAGS) ++STD_CFLAGS = $(CFLAGS) -DHAVE_CONFIG_H $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(WARNING_CFLAGS) $(SIM_CFLAGS) $(HDEFINES) $(TDEFINES) $(INCLUDES) $(INTL_CFLAGS) $(SIM_FPU_CFLAGS) ++NOWARN_CFLAGS = $(CFLAGS) -DHAVE_CONFIG_H $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(SIM_CFLAGS) $(HDEFINES) $(TDEFINES) $(INCLUDES) $(SIM_FPU_CFLAGS) + BUILD_CFLAGS = $(CFLAGS_FOR_BUILD) $(INCLUDES) $(WARNING_CFLAGS) + + BUILD_LDFLAGS = +diff -urN gdb-6.8-orig/sim/ppc/basics.h gdb-6.8-pl1/sim/ppc/basics.h +--- gdb-6.8-orig/sim/ppc/basics.h 1999-04-16 03:35:08.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/basics.h 2008-09-30 15:12:32.000000000 +0200 +@@ -86,7 +86,9 @@ + + /* Basic configuration */ + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "ppc-config.h" + #include "inline.h" + +diff -urN gdb-6.8-orig/sim/ppc/debug.c gdb-6.8-pl1/sim/ppc/debug.c +--- gdb-6.8-orig/sim/ppc/debug.c 1999-04-16 03:35:08.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/debug.c 2008-09-30 15:12:27.000000000 +0200 +@@ -22,7 +22,9 @@ + #ifndef _DEBUG_C_ + #define _DEBUG_C_ + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "basics.h" + + #ifdef HAVE_STDLIB_H +diff -urN gdb-6.8-orig/sim/ppc/dgen.c gdb-6.8-pl1/sim/ppc/dgen.c +--- gdb-6.8-orig/sim/ppc/dgen.c 1999-04-16 03:35:08.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/dgen.c 2008-09-30 15:12:22.000000000 +0200 +@@ -27,7 +27,9 @@ + #include <ctype.h> + #include <stdarg.h> + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "misc.h" + #include "lf.h" + #include "table.h" +diff -urN gdb-6.8-orig/sim/ppc/filter.c gdb-6.8-pl1/sim/ppc/filter.c +--- gdb-6.8-orig/sim/ppc/filter.c 1999-04-16 03:35:09.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/filter.c 2008-09-30 15:12:15.000000000 +0200 +@@ -21,7 +21,9 @@ + + #include <stdio.h> + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + + #ifdef HAVE_STRING_H + #include <string.h> +diff -urN gdb-6.8-orig/sim/ppc/filter_filename.c gdb-6.8-pl1/sim/ppc/filter_filename.c +--- gdb-6.8-orig/sim/ppc/filter_filename.c 1999-04-16 03:35:08.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/filter_filename.c 2008-09-30 15:12:11.000000000 +0200 +@@ -18,7 +18,9 @@ + + */ + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "ppc-config.h" + #include "filter_filename.h" + +diff -urN gdb-6.8-orig/sim/ppc/igen.c gdb-6.8-pl1/sim/ppc/igen.c +--- gdb-6.8-orig/sim/ppc/igen.c 2003-06-20 05:59:33.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/igen.c 2008-09-30 15:12:06.000000000 +0200 +@@ -25,7 +25,9 @@ + #include "misc.h" + #include "lf.h" + #include "table.h" ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + + #include "filter.h" + +diff -urN gdb-6.8-orig/sim/ppc/inline.c gdb-6.8-pl1/sim/ppc/inline.c +--- gdb-6.8-orig/sim/ppc/inline.c 1999-04-16 03:35:10.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/inline.c 2008-09-30 15:11:58.000000000 +0200 +@@ -22,7 +22,9 @@ + #ifndef _INLINE_C_ + #define _INLINE_C_ + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "ppc-config.h" + + #include "inline.h" +diff -urN gdb-6.8-orig/sim/ppc/lf.c gdb-6.8-pl1/sim/ppc/lf.c +--- gdb-6.8-orig/sim/ppc/lf.c 2002-05-30 17:07:06.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/lf.c 2008-09-30 15:33:35.000000000 +0200 +@@ -23,7 +23,9 @@ + #include <stdarg.h> + #include <ctype.h> + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "misc.h" + #include "lf.h" + +diff -urN gdb-6.8-orig/sim/ppc/misc.c gdb-6.8-pl1/sim/ppc/misc.c +--- gdb-6.8-orig/sim/ppc/misc.c 1999-04-16 03:35:11.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/misc.c 2008-09-30 15:11:54.000000000 +0200 +@@ -23,7 +23,9 @@ + #include <stdarg.h> + #include <ctype.h> + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "misc.h" + + #ifdef HAVE_STDLIB_H +diff -urN gdb-6.8-orig/sim/ppc/misc.h gdb-6.8-pl1/sim/ppc/misc.h +--- gdb-6.8-orig/sim/ppc/misc.h 2002-01-12 11:21:12.000000000 +0100 ++++ gdb-6.8-pl1/sim/ppc/misc.h 2008-09-30 15:11:49.000000000 +0200 +@@ -21,7 +21,9 @@ + + /* Frustrating header junk */ + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + + #include <stdio.h> + #include <ctype.h> +diff -urN gdb-6.8-orig/sim/ppc/sim-endian.c gdb-6.8-pl1/sim/ppc/sim-endian.c +--- gdb-6.8-orig/sim/ppc/sim-endian.c 1999-04-16 03:35:11.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/sim-endian.c 2008-09-30 15:11:44.000000000 +0200 +@@ -22,7 +22,9 @@ + #ifndef _SIM_ENDIAN_C_ + #define _SIM_ENDIAN_C_ + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "basics.h" + + +diff -urN gdb-6.8-orig/sim/ppc/table.c gdb-6.8-pl1/sim/ppc/table.c +--- gdb-6.8-orig/sim/ppc/table.c 2002-01-12 11:21:12.000000000 +0100 ++++ gdb-6.8-pl1/sim/ppc/table.c 2008-09-30 15:11:38.000000000 +0200 +@@ -25,7 +25,9 @@ + #include <fcntl.h> + #include <ctype.h> + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "misc.h" + #include "lf.h" + #include "table.h" diff --git a/packages/gdb/7.0.1a/version.desc b/packages/gdb/7.0.1a/version.desc new file mode 100644 index 00000000..026d275e --- /dev/null +++ b/packages/gdb/7.0.1a/version.desc @@ -0,0 +1 @@ +obsolete="yes" diff --git a/packages/gdb/7.0a/100-sim-ppc-have-config-h.patch b/packages/gdb/7.0a/100-sim-ppc-have-config-h.patch new file mode 100644 index 00000000..f3723b57 --- /dev/null +++ b/packages/gdb/7.0a/100-sim-ppc-have-config-h.patch @@ -0,0 +1,183 @@ +Fix for canadian cross build of sim/ppc + +Orignal patch info see: http://sources.redhat.com/bugzilla/show_bug.cgi?id=9638 + +diff -urN gdb-6.8-pl1/sim/ppc/Makefile.in gdb-6.8-pl2/sim/ppc/Makefile.in +--- gdb-6.8-pl1/sim/ppc/Makefile.in 2006-05-31 17:14:45.000000000 +0200 ++++ gdb-6.8-pl2/sim/ppc/Makefile.in 2008-09-30 15:56:33.000000000 +0200 +@@ -61,7 +61,7 @@ + AR = @AR@ + AR_FLAGS = rc + CC = @CC@ +-CFLAGS = @CFLAGS@ ++CFLAGS = @CFLAGS@ -DHAVE_CONFIG_H + CC_FOR_BUILD = @CC_FOR_BUILD@ + CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ + BISON = bison +@@ -115,8 +115,8 @@ + $(DEVZERO_CFLAGS) + SIM_FPU_CFLAGS = @sim_fpu_cflags@ + +-STD_CFLAGS = $(CFLAGS) $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(WARNING_CFLAGS) $(SIM_CFLAGS) $(HDEFINES) $(TDEFINES) $(INCLUDES) $(INTL_CFLAGS) $(SIM_FPU_CFLAGS) +-NOWARN_CFLAGS = $(CFLAGS) $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(SIM_CFLAGS) $(HDEFINES) $(TDEFINES) $(INCLUDES) $(SIM_FPU_CFLAGS) ++STD_CFLAGS = $(CFLAGS) -DHAVE_CONFIG_H $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(WARNING_CFLAGS) $(SIM_CFLAGS) $(HDEFINES) $(TDEFINES) $(INCLUDES) $(INTL_CFLAGS) $(SIM_FPU_CFLAGS) ++NOWARN_CFLAGS = $(CFLAGS) -DHAVE_CONFIG_H $(INLINE_CFLAGS) $(CONFIG_CFLAGS) $(SIM_CFLAGS) $(HDEFINES) $(TDEFINES) $(INCLUDES) $(SIM_FPU_CFLAGS) + BUILD_CFLAGS = $(CFLAGS_FOR_BUILD) $(INCLUDES) $(WARNING_CFLAGS) + + BUILD_LDFLAGS = +diff -urN gdb-6.8-orig/sim/ppc/basics.h gdb-6.8-pl1/sim/ppc/basics.h +--- gdb-6.8-orig/sim/ppc/basics.h 1999-04-16 03:35:08.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/basics.h 2008-09-30 15:12:32.000000000 +0200 +@@ -86,7 +86,9 @@ + + /* Basic configuration */ + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "ppc-config.h" + #include "inline.h" + +diff -urN gdb-6.8-orig/sim/ppc/debug.c gdb-6.8-pl1/sim/ppc/debug.c +--- gdb-6.8-orig/sim/ppc/debug.c 1999-04-16 03:35:08.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/debug.c 2008-09-30 15:12:27.000000000 +0200 +@@ -22,7 +22,9 @@ + #ifndef _DEBUG_C_ + #define _DEBUG_C_ + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "basics.h" + + #ifdef HAVE_STDLIB_H +diff -urN gdb-6.8-orig/sim/ppc/dgen.c gdb-6.8-pl1/sim/ppc/dgen.c +--- gdb-6.8-orig/sim/ppc/dgen.c 1999-04-16 03:35:08.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/dgen.c 2008-09-30 15:12:22.000000000 +0200 +@@ -27,7 +27,9 @@ + #include <ctype.h> + #include <stdarg.h> + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "misc.h" + #include "lf.h" + #include "table.h" +diff -urN gdb-6.8-orig/sim/ppc/filter.c gdb-6.8-pl1/sim/ppc/filter.c +--- gdb-6.8-orig/sim/ppc/filter.c 1999-04-16 03:35:09.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/filter.c 2008-09-30 15:12:15.000000000 +0200 +@@ -21,7 +21,9 @@ + + #include <stdio.h> + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + + #ifdef HAVE_STRING_H + #include <string.h> +diff -urN gdb-6.8-orig/sim/ppc/filter_filename.c gdb-6.8-pl1/sim/ppc/filter_filename.c +--- gdb-6.8-orig/sim/ppc/filter_filename.c 1999-04-16 03:35:08.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/filter_filename.c 2008-09-30 15:12:11.000000000 +0200 +@@ -18,7 +18,9 @@ + + */ + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "ppc-config.h" + #include "filter_filename.h" + +diff -urN gdb-6.8-orig/sim/ppc/igen.c gdb-6.8-pl1/sim/ppc/igen.c +--- gdb-6.8-orig/sim/ppc/igen.c 2003-06-20 05:59:33.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/igen.c 2008-09-30 15:12:06.000000000 +0200 +@@ -25,7 +25,9 @@ + #include "misc.h" + #include "lf.h" + #include "table.h" ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + + #include "filter.h" + +diff -urN gdb-6.8-orig/sim/ppc/inline.c gdb-6.8-pl1/sim/ppc/inline.c +--- gdb-6.8-orig/sim/ppc/inline.c 1999-04-16 03:35:10.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/inline.c 2008-09-30 15:11:58.000000000 +0200 +@@ -22,7 +22,9 @@ + #ifndef _INLINE_C_ + #define _INLINE_C_ + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "ppc-config.h" + + #include "inline.h" +diff -urN gdb-6.8-orig/sim/ppc/lf.c gdb-6.8-pl1/sim/ppc/lf.c +--- gdb-6.8-orig/sim/ppc/lf.c 2002-05-30 17:07:06.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/lf.c 2008-09-30 15:33:35.000000000 +0200 +@@ -23,7 +23,9 @@ + #include <stdarg.h> + #include <ctype.h> + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "misc.h" + #include "lf.h" + +diff -urN gdb-6.8-orig/sim/ppc/misc.c gdb-6.8-pl1/sim/ppc/misc.c +--- gdb-6.8-orig/sim/ppc/misc.c 1999-04-16 03:35:11.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/misc.c 2008-09-30 15:11:54.000000000 +0200 +@@ -23,7 +23,9 @@ + #include <stdarg.h> + #include <ctype.h> + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "misc.h" + + #ifdef HAVE_STDLIB_H +diff -urN gdb-6.8-orig/sim/ppc/misc.h gdb-6.8-pl1/sim/ppc/misc.h +--- gdb-6.8-orig/sim/ppc/misc.h 2002-01-12 11:21:12.000000000 +0100 ++++ gdb-6.8-pl1/sim/ppc/misc.h 2008-09-30 15:11:49.000000000 +0200 +@@ -21,7 +21,9 @@ + + /* Frustrating header junk */ + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + + #include <stdio.h> + #include <ctype.h> +diff -urN gdb-6.8-orig/sim/ppc/sim-endian.c gdb-6.8-pl1/sim/ppc/sim-endian.c +--- gdb-6.8-orig/sim/ppc/sim-endian.c 1999-04-16 03:35:11.000000000 +0200 ++++ gdb-6.8-pl1/sim/ppc/sim-endian.c 2008-09-30 15:11:44.000000000 +0200 +@@ -22,7 +22,9 @@ + #ifndef _SIM_ENDIAN_C_ + #define _SIM_ENDIAN_C_ + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "basics.h" + + +diff -urN gdb-6.8-orig/sim/ppc/table.c gdb-6.8-pl1/sim/ppc/table.c +--- gdb-6.8-orig/sim/ppc/table.c 2002-01-12 11:21:12.000000000 +0100 ++++ gdb-6.8-pl1/sim/ppc/table.c 2008-09-30 15:11:38.000000000 +0200 +@@ -25,7 +25,9 @@ + #include <fcntl.h> + #include <ctype.h> + ++#ifdef HAVE_CONFIG_H + #include "config.h" ++#endif + #include "misc.h" + #include "lf.h" + #include "table.h" diff --git a/packages/gdb/7.0a/version.desc b/packages/gdb/7.0a/version.desc new file mode 100644 index 00000000..026d275e --- /dev/null +++ b/packages/gdb/7.0a/version.desc @@ -0,0 +1 @@ +obsolete="yes" diff --git a/packages/gdb/7.10.1/100-musl_fix.patch b/packages/gdb/7.10.1/100-musl_fix.patch new file mode 100644 index 00000000..c0c1e0ae --- /dev/null +++ b/packages/gdb/7.10.1/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 <http://www.gnu.org/licenses/>. */ + ++#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/packages/gdb/7.10.1/110-xtensa-initialize-call_abi-in-xtensa_tdep.patch b/packages/gdb/7.10.1/110-xtensa-initialize-call_abi-in-xtensa_tdep.patch new file mode 100644 index 00000000..1182a455 --- /dev/null +++ b/packages/gdb/7.10.1/110-xtensa-initialize-call_abi-in-xtensa_tdep.patch @@ -0,0 +1,39 @@ +From 7f8c0d8984bf5754807d3bb543cbc3ffc634e9e4 Mon Sep 17 00:00:00 2001 +From: Max Filippov <jcmvbkbc@gmail.com> +Date: Sat, 30 May 2015 13:00:32 +0300 +Subject: [PATCH] xtensa: initialize call_abi in xtensa_tdep + +Use XSHAL_ABI value provided by xtensa-config.h to correctly initialize +xtensa_tdep.call_abi +This fixes calls to functions from GDB that otherwise fail with the +following assertion in call0 configuration: + + gdb/regcache.c:602: internal-error: regcache_raw_read: Assertion + `regnum >= 0 && regnum < regcache->descr->nr_raw_registers' failed. + +gdb/ + * xtensa-tdep.h (XTENSA_GDBARCH_TDEP_INSTANTIATE): Initialize + call_abi using XSHAL_ABI macro. + +Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> +--- + gdb/xtensa-tdep.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/gdb/xtensa-tdep.h b/gdb/xtensa-tdep.h +index adacaf8..3b6ea66 100644 +--- a/gdb/xtensa-tdep.h ++++ b/gdb/xtensa-tdep.h +@@ -246,7 +246,8 @@ struct gdbarch_tdep + .spill_location = -1, \ + .spill_size = (spillsz), \ + .unused = 0, \ +- .call_abi = 0, \ ++ .call_abi = (XSHAL_ABI == XTHAL_ABI_CALL0) ? \ ++ CallAbiCall0Only : CallAbiDefault, \ + .debug_interrupt_level = XCHAL_DEBUGLEVEL, \ + .icache_line_bytes = XCHAL_ICACHE_LINESIZE, \ + .dcache_line_bytes = XCHAL_DCACHE_LINESIZE, \ +-- +1.8.1.4 + diff --git a/packages/gdb/7.10.1/111-xtensa-make-sure-ar_base-is-initialized.patch b/packages/gdb/7.10.1/111-xtensa-make-sure-ar_base-is-initialized.patch new file mode 100644 index 00000000..982bd7f7 --- /dev/null +++ b/packages/gdb/7.10.1/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 <jcmvbkbc@gmail.com> +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 <jcmvbkbc@gmail.com> +--- + 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/packages/gdb/7.10.1/112-WIP-end-of-prologue-detection-hack.patch b/packages/gdb/7.10.1/112-WIP-end-of-prologue-detection-hack.patch new file mode 100644 index 00000000..506a57c3 --- /dev/null +++ b/packages/gdb/7.10.1/112-WIP-end-of-prologue-detection-hack.patch @@ -0,0 +1,31 @@ +From 7f8eacbb468575fb67db7fd1155a3aedaa91911b Mon Sep 17 00:00:00 2001 +From: Max Filippov <jcmvbkbc@gmail.com> +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 <jcmvbkbc@gmail.com> +--- + 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 + diff --git a/packages/gdb/7.10.1/version.desc b/packages/gdb/7.10.1/version.desc new file mode 100644 index 00000000..026d275e --- /dev/null +++ b/packages/gdb/7.10.1/version.desc @@ -0,0 +1 @@ +obsolete="yes" diff --git a/packages/gdb/7.10/10-setns-handling.patch b/packages/gdb/7.10/10-setns-handling.patch new file mode 100644 index 00000000..e2647ad9 --- /dev/null +++ b/packages/gdb/7.10/10-setns-handling.patch @@ -0,0 +1,52 @@ +From 99fe86f7999afd2743b08c550b10f083ae4bd9bd Mon Sep 17 00:00:00 2001 +From: Peter Bergner <bergner@vnet.ibm.com> +Date: Tue, 14 Jul 2015 10:46:16 -0500 +Subject: [PATCH] Fix build issue with nat/linux-namespaces.c. + + * nat/linux-namespaces.c (setns): Rename from this ... + (do_setns): ... to this. Support calling setns if it exists. + (mnsh_handle_setns): Call do_setns. +--- + gdb/ChangeLog | 6 ++++++ + gdb/nat/linux-namespaces.c | 12 ++++++------ + 2 files changed, 12 insertions(+), 6 deletions(-) + +diff --git a/gdb/nat/linux-namespaces.c b/gdb/nat/linux-namespaces.c +index a7a3e4d..fd0d4b0 100644 +--- a/gdb/nat/linux-namespaces.c ++++ b/gdb/nat/linux-namespaces.c +@@ -34,18 +34,18 @@ int debug_linux_namespaces; + + /* Handle systems without setns. */ + +-#ifndef HAVE_SETNS +-static int +-setns (int fd, int nstype) ++static inline int ++do_setns (int fd, int nstype) + { +-#ifdef __NR_setns ++#ifdef HAVE_SETNS ++ return setns (fd, nstype); ++#elif defined __NR_setns + return syscall (__NR_setns, fd, nstype); + #else + errno = ENOSYS; + return -1; + #endif + } +-#endif + + /* Handle systems without MSG_CMSG_CLOEXEC. */ + +@@ -495,7 +495,7 @@ mnsh_recv_message (int sock, enum mnsh_msg_type *type, + static ssize_t + mnsh_handle_setns (int sock, int fd, int nstype) + { +- int result = setns (fd, nstype); ++ int result = do_setns (fd, nstype); + + return mnsh_return_int (sock, result, errno); + } +-- +1.9.4 diff --git a/packages/gdb/7.10/100-musl_fix.patch b/packages/gdb/7.10/100-musl_fix.patch new file mode 100644 index 00000000..c0c1e0ae --- /dev/null +++ b/packages/gdb/7.10/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 <http://www.gnu.org/licenses/>. */ + ++#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/packages/gdb/7.10/110-xtensa-initialize-call_abi-in-xtensa_tdep.patch b/packages/gdb/7.10/110-xtensa-initialize-call_abi-in-xtensa_tdep.patch new file mode 100644 index 00000000..1182a455 --- /dev/null +++ b/packages/gdb/7.10/110-xtensa-initialize-call_abi-in-xtensa_tdep.patch @@ -0,0 +1,39 @@ +From 7f8c0d8984bf5754807d3bb543cbc3ffc634e9e4 Mon Sep 17 00:00:00 2001 +From: Max Filippov <jcmvbkbc@gmail.com> +Date: Sat, 30 May 2015 13:00:32 +0300 +Subject: [PATCH] xtensa: initialize call_abi in xtensa_tdep + +Use XSHAL_ABI value provided by xtensa-config.h to correctly initialize +xtensa_tdep.call_abi +This fixes calls to functions from GDB that otherwise fail with the +following assertion in call0 configuration: + + gdb/regcache.c:602: internal-error: regcache_raw_read: Assertion + `regnum >= 0 && regnum < regcache->descr->nr_raw_registers' failed. + +gdb/ + * xtensa-tdep.h (XTENSA_GDBARCH_TDEP_INSTANTIATE): Initialize + call_abi using XSHAL_ABI macro. + +Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> +--- + gdb/xtensa-tdep.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/gdb/xtensa-tdep.h b/gdb/xtensa-tdep.h +index adacaf8..3b6ea66 100644 +--- a/gdb/xtensa-tdep.h ++++ b/gdb/xtensa-tdep.h +@@ -246,7 +246,8 @@ struct gdbarch_tdep + .spill_location = -1, \ + .spill_size = (spillsz), \ + .unused = 0, \ +- .call_abi = 0, \ ++ .call_abi = (XSHAL_ABI == XTHAL_ABI_CALL0) ? \ ++ CallAbiCall0Only : CallAbiDefault, \ + .debug_interrupt_level = XCHAL_DEBUGLEVEL, \ + .icache_line_bytes = XCHAL_ICACHE_LINESIZE, \ + .dcache_line_bytes = XCHAL_DCACHE_LINESIZE, \ +-- +1.8.1.4 + diff --git a/packages/gdb/7.10/111-xtensa-make-sure-ar_base-is-initialized.patch b/packages/gdb/7.10/111-xtensa-make-sure-ar_base-is-initialized.patch new file mode 100644 index 00000000..982bd7f7 --- /dev/null +++ b/packages/gdb/7.10/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 <jcmvbkbc@gmail.com> +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 <jcmvbkbc@gmail.com> +--- + 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/packages/gdb/7.10/112-WIP-end-of-prologue-detection-hack.patch b/packages/gdb/7.10/112-WIP-end-of-prologue-detection-hack.patch new file mode 100644 index 00000000..506a57c3 --- /dev/null +++ b/packages/gdb/7.10/112-WIP-end-of-prologue-detection-hack.patch @@ -0,0 +1,31 @@ +From 7f8eacbb468575fb67db7fd1155a3aedaa91911b Mon Sep 17 00:00:00 2001 +From: Max Filippov <jcmvbkbc@gmail.com> +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 <jcmvbkbc@gmail.com> +--- + 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 + diff --git a/packages/gdb/7.10/version.desc b/packages/gdb/7.10/version.desc new file mode 100644 index 00000000..026d275e --- /dev/null +++ b/packages/gdb/7.10/version.desc @@ -0,0 +1 @@ +obsolete="yes" diff --git a/packages/gdb/7.11.1/100-musl_fix.patch b/packages/gdb/7.11.1/100-musl_fix.patch new file mode 100644 index 00000000..c0c1e0ae --- /dev/null +++ b/packages/gdb/7.11.1/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 <http://www.gnu.org/licenses/>. */ + ++#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/packages/gdb/7.11.1/101-uclibc-no-gettimeofday-clobber.patch b/packages/gdb/7.11.1/101-uclibc-no-gettimeofday-clobber.patch new file mode 100644 index 00000000..ff59907e --- /dev/null +++ b/packages/gdb/7.11.1/101-uclibc-no-gettimeofday-clobber.patch @@ -0,0 +1,20 @@ +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 <troglobit@gmail.com> + +--- a/gdb/gnulib/configure 2016-02-25 18:17:04.145903807 +0100 ++++ b/gdb/gnulib/configure 2016-02-25 18:17:28.545903821 +0100 +@@ -13520,8 +13520,9 @@ + if test "$cross_compiling" = yes; then : + # When cross-compiling: + case "$host_os" in +- # Guess all is fine on glibc systems. ++ # Guess all is fine on glibc/uclibc 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/7.11.1/111-xtensa-make-sure-ar_base-is-initialized.patch b/packages/gdb/7.11.1/111-xtensa-make-sure-ar_base-is-initialized.patch new file mode 100644 index 00000000..982bd7f7 --- /dev/null +++ b/packages/gdb/7.11.1/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 <jcmvbkbc@gmail.com> +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 <jcmvbkbc@gmail.com> +--- + 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/packages/gdb/7.11.1/112-WIP-end-of-prologue-detection-hack.patch b/packages/gdb/7.11.1/112-WIP-end-of-prologue-detection-hack.patch new file mode 100644 index 00000000..506a57c3 --- /dev/null +++ b/packages/gdb/7.11.1/112-WIP-end-of-prologue-detection-hack.patch @@ -0,0 +1,31 @@ +From 7f8eacbb468575fb67db7fd1155a3aedaa91911b Mon Sep 17 00:00:00 2001 +From: Max Filippov <jcmvbkbc@gmail.com> +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 <jcmvbkbc@gmail.com> +--- + 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 + diff --git a/packages/gdb/7.11.1/version.desc b/packages/gdb/7.11.1/version.desc new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/packages/gdb/7.11.1/version.desc diff --git a/packages/gdb/7.12.1/100-musl_fix.patch b/packages/gdb/7.12.1/100-musl_fix.patch new file mode 100644 index 00000000..c0c1e0ae --- /dev/null +++ b/packages/gdb/7.12.1/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 <http://www.gnu.org/licenses/>. */ + ++#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/packages/gdb/7.12.1/101-uclibc-no-gettimeofday-clobber.patch b/packages/gdb/7.12.1/101-uclibc-no-gettimeofday-clobber.patch new file mode 100644 index 00000000..cd7a4c67 --- /dev/null +++ b/packages/gdb/7.12.1/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 <troglobit@gmail.com> +Signed-off-by: Alexey Neyman <stilor@att.net> + +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/packages/gdb/7.12.1/111-xtensa-make-sure-ar_base-is-initialized.patch b/packages/gdb/7.12.1/111-xtensa-make-sure-ar_base-is-initialized.patch new file mode 100644 index 00000000..982bd7f7 --- /dev/null +++ b/packages/gdb/7.12.1/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 <jcmvbkbc@gmail.com> +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 <jcmvbkbc@gmail.com> +--- + 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/packages/gdb/7.12.1/112-WIP-end-of-prologue-detection-hack.patch b/packages/gdb/7.12.1/112-WIP-end-of-prologue-detection-hack.patch new file mode 100644 index 00000000..506a57c3 --- /dev/null +++ b/packages/gdb/7.12.1/112-WIP-end-of-prologue-detection-hack.patch @@ -0,0 +1,31 @@ +From 7f8eacbb468575fb67db7fd1155a3aedaa91911b Mon Sep 17 00:00:00 2001 +From: Max Filippov <jcmvbkbc@gmail.com> +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 <jcmvbkbc@gmail.com> +--- + 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 + diff --git a/packages/gdb/7.12.1/200-allow-android.patch b/packages/gdb/7.12.1/200-allow-android.patch new file mode 100644 index 00000000..7954477c --- /dev/null +++ b/packages/gdb/7.12.1/200-allow-android.patch @@ -0,0 +1,42 @@ +diff -urpN gdb-7.12.1.orig/gdb/gdbserver/configure gdb-7.12.1/gdb/gdbserver/configure +--- gdb-7.12.1.orig/gdb/gdbserver/configure 2017-05-14 17:02:46.742711695 -0700 ++++ gdb-7.12.1/gdb/gdbserver/configure 2017-05-14 17:03:22.147058607 -0700 +@@ -6671,17 +6671,6 @@ fi + + + case "${target}" in +- *-android*) +- # Starting with NDK version 9, <elf.h> actually includes definitions +- # of Elf32_auxv_t and Elf64_auxv_t. But sadly, <elf.h> includes +- # <sys/exec_elf.h> which defines some of the ELF types incorrectly, +- # leading to conflicts with the defintions from <linux/elf.h>. +- # This makes it impossible for us to include both <elf.h> and +- # <linux/elf.h>, 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 <elf.h> + +diff -urpN gdb-7.12.1.orig/gdb/gdbserver/configure.ac gdb-7.12.1/gdb/gdbserver/configure.ac +--- gdb-7.12.1.orig/gdb/gdbserver/configure.ac 2017-05-14 17:02:46.742711695 -0700 ++++ gdb-7.12.1/gdb/gdbserver/configure.ac 2017-05-14 17:03:53.219361720 -0700 +@@ -179,17 +179,6 @@ AC_CHECK_TYPES(socklen_t, [], [], + ]) + + case "${target}" in +- *-android*) +- # Starting with NDK version 9, <elf.h> actually includes definitions +- # of Elf32_auxv_t and Elf64_auxv_t. But sadly, <elf.h> includes +- # <sys/exec_elf.h> which defines some of the ELF types incorrectly, +- # leading to conflicts with the defintions from <linux/elf.h>. +- # This makes it impossible for us to include both <elf.h> and +- # <linux/elf.h>, 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 <elf.h> diff --git a/packages/gdb/7.12.1/version.desc b/packages/gdb/7.12.1/version.desc new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/packages/gdb/7.12.1/version.desc diff --git a/packages/gdb/7.1a/version.desc b/packages/gdb/7.1a/version.desc new file mode 100644 index 00000000..026d275e --- /dev/null +++ b/packages/gdb/7.1a/version.desc @@ -0,0 +1 @@ +obsolete="yes" diff --git a/packages/gdb/7.2a/100-sim-ppc-lz-fix.patch b/packages/gdb/7.2a/100-sim-ppc-lz-fix.patch new file mode 100644 index 00000000..6f08ef82 --- /dev/null +++ b/packages/gdb/7.2a/100-sim-ppc-lz-fix.patch @@ -0,0 +1,15 @@ +Fix for psim build failure due to -lz + +See http://sourceware.org/bugzilla/show_bug.cgi?id=12202 + +--- gdb-7.2.orig/sim/ppc/Makefile.in ++++ gdb-7.2/sim/ppc/Makefile.in +@@ -551,7 +551,7 @@ + PACKAGE_OBJ = @sim_pk_obj@ + + +-psim: $(TARGETLIB) main.o $(LIBIBERTY_LIB) $(BFD_LIB) $(LIBS) $(LIBINTL_DEP) ++psim: $(TARGETLIB) main.o $(LIBIBERTY_LIB) $(BFD_LIB) $(LIBINTL_DEP) + $(CC) $(CFLAGS) $(SIM_CFLAGS) $(LDFLAGS) -o psim$(EXEEXT) main.o $(TARGETLIB) $(BFD_LIB) $(LIBINTL) $(LIBIBERTY_LIB) $(LIBS) + + run: psim diff --git a/packages/gdb/7.2a/version.desc b/packages/gdb/7.2a/version.desc new file mode 100644 index 00000000..026d275e --- /dev/null +++ b/packages/gdb/7.2a/version.desc @@ -0,0 +1 @@ +obsolete="yes" diff --git a/packages/gdb/7.3.1/version.desc b/packages/gdb/7.3.1/version.desc new file mode 100644 index 00000000..026d275e --- /dev/null +++ b/packages/gdb/7.3.1/version.desc @@ -0,0 +1 @@ +obsolete="yes" diff --git a/packages/gdb/7.3a/version.desc b/packages/gdb/7.3a/version.desc new file mode 100644 index 00000000..026d275e --- /dev/null +++ b/packages/gdb/7.3a/version.desc @@ -0,0 +1 @@ +obsolete="yes" diff --git a/packages/gdb/7.4.1/00_all_ptrace_setsiginfo.patch b/packages/gdb/7.4.1/00_all_ptrace_setsiginfo.patch new file mode 100644 index 00000000..81a92db9 --- /dev/null +++ b/packages/gdb/7.4.1/00_all_ptrace_setsiginfo.patch @@ -0,0 +1,314 @@ +fix from upstream for building with newer kernel headers + +From a7f9ca9cb797d653dc7919538e1dfa0c26010331 Mon Sep 17 00:00:00 2001 +From: tschwinge <tschwinge> +Date: Wed, 21 Mar 2012 13:43:50 +0000 +Subject: [PATCH] struct siginfo vs. siginfo_t + +gdb/ + * amd64-linux-nat.c (amd64_linux_siginfo_fixup): Use siginfo_t instead + of struct siginfo. + * arm-linux-nat.c (arm_linux_stopped_data_address): Likewise. + * ia64-linux-nat.c (ia64_linux_stopped_data_address): Likewise. + * linux-nat.c (linux_nat_siginfo_fixup, siginfo_fixup) + (linux_xfer_siginfo, linux_nat_set_siginfo_fixup) + (linux_nat_get_siginfo): Likewise. + * linux-nat.h (struct lwp_info, linux_nat_set_siginfo_fixup) + (linux_nat_get_siginfo): Likewise. + * linux-tdep.c (linux_get_siginfo_type): Likewise. + * ppc-linux-nat.c (ppc_linux_stopped_data_address): Likewise. + * procfs.c (gdb_siginfo_t): Likewise. + +gdbserver/ + * linux-arm-low.c (arm_stopped_by_watchpoint): Use siginfo_t instead of + struct siginfo. + * linux-low.c (siginfo_fixup, linux_xfer_siginfo): Likewise. + * linux-x86-low.c (x86_siginfo_fixup): Likewise. + * linux-low.h: Include <signal.h>. + (struct siginfo): Remove forward declaration. + (struct linux_target_ops) <siginfo_fixup>: Use siginfo_t instead of + struct siginfo. +--- + gdb/ChangeLog | 15 +++++++++++++++ + gdb/amd64-linux-nat.c | 4 ++-- + gdb/arm-linux-nat.c | 2 +- + gdb/gdbserver/ChangeLog | 11 +++++++++++ + gdb/gdbserver/linux-arm-low.c | 2 +- + gdb/gdbserver/linux-low.c | 10 +++++----- + gdb/gdbserver/linux-low.h | 5 ++--- + gdb/gdbserver/linux-x86-low.c | 4 ++-- + gdb/ia64-linux-nat.c | 2 +- + gdb/linux-nat.c | 16 ++++++++-------- + gdb/linux-nat.h | 6 +++--- + gdb/ppc-linux-nat.c | 2 +- + gdb/procfs.c | 2 +- + 13 files changed, 53 insertions(+), 28 deletions(-) + +diff --git a/gdb/amd64-linux-nat.c b/gdb/amd64-linux-nat.c +index f954483..5ebba3a 100644 +--- a/gdb/amd64-linux-nat.c ++++ b/gdb/amd64-linux-nat.c +@@ -731,13 +731,13 @@ siginfo_from_compat_siginfo (siginfo_t *to, compat_siginfo_t *from) + INF. */ + + static int +-amd64_linux_siginfo_fixup (struct siginfo *native, gdb_byte *inf, int direction) ++amd64_linux_siginfo_fixup (siginfo_t *native, gdb_byte *inf, int direction) + { + /* Is the inferior 32-bit? If so, then do fixup the siginfo + object. */ + if (gdbarch_addr_bit (get_frame_arch (get_current_frame ())) == 32) + { +- gdb_assert (sizeof (struct siginfo) == sizeof (compat_siginfo_t)); ++ gdb_assert (sizeof (siginfo_t) == sizeof (compat_siginfo_t)); + + if (direction == 0) + compat_siginfo_from_siginfo ((struct compat_siginfo *) inf, native); +diff --git a/gdb/arm-linux-nat.c b/gdb/arm-linux-nat.c +index c5ce21c..f9f6ba5 100644 +--- a/gdb/arm-linux-nat.c ++++ b/gdb/arm-linux-nat.c +@@ -1137,7 +1137,7 @@ arm_linux_remove_watchpoint (CORE_ADDR addr, int len, int rw, + static int + arm_linux_stopped_data_address (struct target_ops *target, CORE_ADDR *addr_p) + { +- struct siginfo *siginfo_p = linux_nat_get_siginfo (inferior_ptid); ++ siginfo_t *siginfo_p = linux_nat_get_siginfo (inferior_ptid); + int slot = siginfo_p->si_errno; + + /* This must be a hardware breakpoint. */ +diff --git a/gdb/gdbserver/linux-arm-low.c b/gdb/gdbserver/linux-arm-low.c +index ff2437d..01208ef 100644 +--- a/gdb/gdbserver/linux-arm-low.c ++++ b/gdb/gdbserver/linux-arm-low.c +@@ -631,7 +631,7 @@ static int + arm_stopped_by_watchpoint (void) + { + struct lwp_info *lwp = get_thread_lwp (current_inferior); +- struct siginfo siginfo; ++ siginfo_t siginfo; + + /* We must be able to set hardware watchpoints. */ + if (arm_linux_get_hw_watchpoint_count () == 0) +diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c +index d2d4c1d..4734f15 100644 +--- a/gdb/gdbserver/linux-low.c ++++ b/gdb/gdbserver/linux-low.c +@@ -4779,7 +4779,7 @@ linux_qxfer_osdata (const char *annex, + layout of the inferiors' architecture. */ + + static void +-siginfo_fixup (struct siginfo *siginfo, void *inf_siginfo, int direction) ++siginfo_fixup (siginfo_t *siginfo, void *inf_siginfo, int direction) + { + int done = 0; + +@@ -4791,9 +4791,9 @@ siginfo_fixup (struct siginfo *siginfo, void *inf_siginfo, int direction) + if (!done) + { + if (direction == 1) +- memcpy (siginfo, inf_siginfo, sizeof (struct siginfo)); ++ memcpy (siginfo, inf_siginfo, sizeof (siginfo_t)); + else +- memcpy (inf_siginfo, siginfo, sizeof (struct siginfo)); ++ memcpy (inf_siginfo, siginfo, sizeof (siginfo_t)); + } + } + +@@ -4802,8 +4802,8 @@ linux_xfer_siginfo (const char *annex, unsigned char *readbuf, + unsigned const char *writebuf, CORE_ADDR offset, int len) + { + int pid; +- struct siginfo siginfo; +- char inf_siginfo[sizeof (struct siginfo)]; ++ siginfo_t siginfo; ++ char inf_siginfo[sizeof (siginfo_t)]; + + if (current_inferior == NULL) + return -1; +diff --git a/gdb/gdbserver/linux-low.h b/gdb/gdbserver/linux-low.h +index 677d261..3aeae70 100644 +--- a/gdb/gdbserver/linux-low.h ++++ b/gdb/gdbserver/linux-low.h +@@ -20,6 +20,7 @@ + #ifdef HAVE_THREAD_DB_H + #include <thread_db.h> + #endif ++#include <signal.h> + + #include "gdb_proc_service.h" + +@@ -46,8 +47,6 @@ struct regset_info + extern struct regset_info target_regsets[]; + #endif + +-struct siginfo; +- + struct process_info_private + { + /* Arch-specific additions. */ +@@ -109,7 +108,7 @@ struct linux_target_ops + Returns true if any conversion was done; false otherwise. + If DIRECTION is 1, then copy from INF to NATIVE. + If DIRECTION is 0, copy from NATIVE to INF. */ +- int (*siginfo_fixup) (struct siginfo *native, void *inf, int direction); ++ int (*siginfo_fixup) (siginfo_t *native, void *inf, int direction); + + /* Hook to call when a new process is created or attached to. + If extra per-process architecture-specific data is needed, +diff --git a/gdb/gdbserver/linux-x86-low.c b/gdb/gdbserver/linux-x86-low.c +index ed1f8a8..b466b5d 100644 +--- a/gdb/gdbserver/linux-x86-low.c ++++ b/gdb/gdbserver/linux-x86-low.c +@@ -918,13 +918,13 @@ siginfo_from_compat_siginfo (siginfo_t *to, compat_siginfo_t *from) + INF. */ + + static int +-x86_siginfo_fixup (struct siginfo *native, void *inf, int direction) ++x86_siginfo_fixup (siginfo_t *native, void *inf, int direction) + { + #ifdef __x86_64__ + /* Is the inferior 32-bit? If so, then fixup the siginfo object. */ + if (register_size (0) == 4) + { +- if (sizeof (struct siginfo) != sizeof (compat_siginfo_t)) ++ if (sizeof (siginfo_t) != sizeof (compat_siginfo_t)) + fatal ("unexpected difference in siginfo"); + + if (direction == 0) +diff --git a/gdb/ia64-linux-nat.c b/gdb/ia64-linux-nat.c +index 8773195..19b827f 100644 +--- a/gdb/ia64-linux-nat.c ++++ b/gdb/ia64-linux-nat.c +@@ -637,7 +637,7 @@ static int + ia64_linux_stopped_data_address (struct target_ops *ops, CORE_ADDR *addr_p) + { + CORE_ADDR psr; +- struct siginfo *siginfo_p; ++ siginfo_t *siginfo_p; + struct regcache *regcache = get_current_regcache (); + + siginfo_p = linux_nat_get_siginfo (inferior_ptid); +diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c +index f80c0c1..d81d55e 100644 +--- a/gdb/linux-nat.c ++++ b/gdb/linux-nat.c +@@ -188,7 +188,7 @@ static void (*linux_nat_prepare_to_resume) (struct lwp_info *); + /* The method to call, if any, when the siginfo object needs to be + converted between the layout returned by ptrace, and the layout in + the architecture of the inferior. */ +-static int (*linux_nat_siginfo_fixup) (struct siginfo *, ++static int (*linux_nat_siginfo_fixup) (siginfo_t *, + gdb_byte *, + int); + +@@ -4232,7 +4232,7 @@ linux_nat_mourn_inferior (struct target_ops *ops) + layout of the inferiors' architecture. */ + + static void +-siginfo_fixup (struct siginfo *siginfo, gdb_byte *inf_siginfo, int direction) ++siginfo_fixup (siginfo_t *siginfo, gdb_byte *inf_siginfo, int direction) + { + int done = 0; + +@@ -4244,9 +4244,9 @@ siginfo_fixup (struct siginfo *siginfo, gdb_byte *inf_siginfo, int direction) + if (!done) + { + if (direction == 1) +- memcpy (siginfo, inf_siginfo, sizeof (struct siginfo)); ++ memcpy (siginfo, inf_siginfo, sizeof (siginfo_t)); + else +- memcpy (inf_siginfo, siginfo, sizeof (struct siginfo)); ++ memcpy (inf_siginfo, siginfo, sizeof (siginfo_t)); + } + } + +@@ -4256,8 +4256,8 @@ linux_xfer_siginfo (struct target_ops *ops, enum target_object object, + const gdb_byte *writebuf, ULONGEST offset, LONGEST len) + { + int pid; +- struct siginfo siginfo; +- gdb_byte inf_siginfo[sizeof (struct siginfo)]; ++ siginfo_t siginfo; ++ gdb_byte inf_siginfo[sizeof (siginfo_t)]; + + gdb_assert (object == TARGET_OBJECT_SIGNAL_INFO); + gdb_assert (readbuf || writebuf); +@@ -5266,7 +5266,7 @@ linux_nat_set_new_thread (struct target_ops *t, + inferior. */ + void + linux_nat_set_siginfo_fixup (struct target_ops *t, +- int (*siginfo_fixup) (struct siginfo *, ++ int (*siginfo_fixup) (siginfo_t *, + gdb_byte *, + int)) + { +@@ -5285,7 +5285,7 @@ linux_nat_set_prepare_to_resume (struct target_ops *t, + } + + /* Return the saved siginfo associated with PTID. */ +-struct siginfo * ++siginfo_t * + linux_nat_get_siginfo (ptid_t ptid) + { + struct lwp_info *lp = find_lwp_pid (ptid); +diff --git a/gdb/linux-nat.h b/gdb/linux-nat.h +index c9878d9..d87f0cf 100644 +--- a/gdb/linux-nat.h ++++ b/gdb/linux-nat.h +@@ -78,7 +78,7 @@ struct lwp_info + + /* Non-zero si_signo if this LWP stopped with a trap. si_addr may + be the address of a hardware watchpoint. */ +- struct siginfo siginfo; ++ siginfo_t siginfo; + + /* STOPPED_BY_WATCHPOINT is non-zero if this LWP stopped with a data + watchpoint trap. */ +@@ -184,7 +184,7 @@ void linux_nat_set_new_thread (struct target_ops *, void (*) (struct lwp_info *) + that ptrace returns, and the layout in the architecture of the + inferior. */ + void linux_nat_set_siginfo_fixup (struct target_ops *, +- int (*) (struct siginfo *, ++ int (*) (siginfo_t *, + gdb_byte *, + int)); + +@@ -198,7 +198,7 @@ void linux_nat_set_prepare_to_resume (struct target_ops *, + void linux_nat_switch_fork (ptid_t new_ptid); + + /* Return the saved siginfo associated with PTID. */ +-struct siginfo *linux_nat_get_siginfo (ptid_t ptid); ++siginfo_t *linux_nat_get_siginfo (ptid_t ptid); + + /* Compute and return the processor core of a given thread. */ + int linux_nat_core_of_thread_1 (ptid_t ptid); +diff --git a/gdb/ppc-linux-nat.c b/gdb/ppc-linux-nat.c +index 1bd157b..9bd11fd 100644 +--- a/gdb/ppc-linux-nat.c ++++ b/gdb/ppc-linux-nat.c +@@ -2218,7 +2218,7 @@ ppc_linux_thread_exit (struct thread_info *tp, int silent) + static int + ppc_linux_stopped_data_address (struct target_ops *target, CORE_ADDR *addr_p) + { +- struct siginfo *siginfo_p; ++ siginfo_t *siginfo_p; + + siginfo_p = linux_nat_get_siginfo (inferior_ptid); + +diff --git a/gdb/procfs.c b/gdb/procfs.c +index 903621d..cb4bc7c 100644 +--- a/gdb/procfs.c ++++ b/gdb/procfs.c +@@ -266,7 +266,7 @@ typedef struct sigaction gdb_sigaction_t; + #ifdef HAVE_PR_SIGINFO64_T + typedef pr_siginfo64_t gdb_siginfo_t; + #else +-typedef struct siginfo gdb_siginfo_t; ++typedef siginfo_t gdb_siginfo_t; + #endif + + /* On mips-irix, praddset and prdelset are defined in such a way that +-- +1.7.9.7 + diff --git a/packages/gdb/7.4.1/05_all_readline-headers.patch b/packages/gdb/7.4.1/05_all_readline-headers.patch new file mode 100644 index 00000000..e65adf6e --- /dev/null +++ b/packages/gdb/7.4.1/05_all_readline-headers.patch @@ -0,0 +1,42 @@ +--- a/readline/complete.c ++++ b/readline/complete.c +@@ -25,6 +25,11 @@ + # include <config.h> + #endif + ++#ifdef HAVE_WCHAR_H /* wcwidth() */ ++# define _GNU_SOURCE ++# include <wchar.h> ++#endif ++ + #include <sys/types.h> + #include <fcntl.h> + #if defined (HAVE_SYS_FILE_H) +--- a/readline/display.c ++++ b/readline/display.c +@@ -25,6 +25,11 @@ + # include <config.h> + #endif + ++#ifdef HAVE_WCHAR_H /* wcwidth() */ ++# define _GNU_SOURCE ++# include <wchar.h> ++#endif ++ + #include <sys/types.h> + + #if defined (HAVE_UNISTD_H) +--- a/readline/mbutil.c ++++ b/readline/mbutil.c +@@ -25,6 +25,11 @@ + # include <config.h> + #endif + ++#ifdef HAVE_WCHAR_H /* wcwidth() */ ++# define _GNU_SOURCE ++# include <wchar.h> ++#endif ++ + #include <sys/types.h> + #include <fcntl.h> + #include "posixjmp.h" diff --git a/packages/gdb/7.4.1/version.desc b/packages/gdb/7.4.1/version.desc new file mode 100644 index 00000000..026d275e --- /dev/null +++ b/packages/gdb/7.4.1/version.desc @@ -0,0 +1 @@ +obsolete="yes" diff --git a/packages/gdb/7.4/version.desc b/packages/gdb/7.4/version.desc new file mode 100644 index 00000000..026d275e --- /dev/null +++ b/packages/gdb/7.4/version.desc @@ -0,0 +1 @@ +obsolete="yes" diff --git a/packages/gdb/7.5.1/version.desc b/packages/gdb/7.5.1/version.desc new file mode 100644 index 00000000..026d275e --- /dev/null +++ b/packages/gdb/7.5.1/version.desc @@ -0,0 +1 @@ +obsolete="yes" diff --git a/packages/gdb/7.6.1/version.desc b/packages/gdb/7.6.1/version.desc new file mode 100644 index 00000000..026d275e --- /dev/null +++ b/packages/gdb/7.6.1/version.desc @@ -0,0 +1 @@ +obsolete="yes" diff --git a/packages/gdb/7.7.1/version.desc b/packages/gdb/7.7.1/version.desc new file mode 100644 index 00000000..026d275e --- /dev/null +++ b/packages/gdb/7.7.1/version.desc @@ -0,0 +1 @@ +obsolete="yes" diff --git a/packages/gdb/7.7/version.desc b/packages/gdb/7.7/version.desc new file mode 100644 index 00000000..026d275e --- /dev/null +++ b/packages/gdb/7.7/version.desc @@ -0,0 +1 @@ +obsolete="yes" diff --git a/packages/gdb/7.8.1/version.desc b/packages/gdb/7.8.1/version.desc new file mode 100644 index 00000000..026d275e --- /dev/null +++ b/packages/gdb/7.8.1/version.desc @@ -0,0 +1 @@ +obsolete="yes" diff --git a/packages/gdb/7.8/version.desc b/packages/gdb/7.8/version.desc new file mode 100644 index 00000000..026d275e --- /dev/null +++ b/packages/gdb/7.8/version.desc @@ -0,0 +1 @@ +obsolete="yes" diff --git a/packages/gdb/7.9.1/version.desc b/packages/gdb/7.9.1/version.desc new file mode 100644 index 00000000..026d275e --- /dev/null +++ b/packages/gdb/7.9.1/version.desc @@ -0,0 +1 @@ +obsolete="yes" diff --git a/packages/gdb/7.9/version.desc b/packages/gdb/7.9/version.desc new file mode 100644 index 00000000..026d275e --- /dev/null +++ b/packages/gdb/7.9/version.desc @@ -0,0 +1 @@ +obsolete="yes" diff --git a/packages/gdb/8.0/100-musl_fix.patch b/packages/gdb/8.0/100-musl_fix.patch new file mode 100644 index 00000000..c0c1e0ae --- /dev/null +++ b/packages/gdb/8.0/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 <http://www.gnu.org/licenses/>. */ + ++#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/packages/gdb/8.0/101-uclibc-no-gettimeofday-clobber.patch b/packages/gdb/8.0/101-uclibc-no-gettimeofday-clobber.patch new file mode 100644 index 00000000..cd7a4c67 --- /dev/null +++ b/packages/gdb/8.0/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 <troglobit@gmail.com> +Signed-off-by: Alexey Neyman <stilor@att.net> + +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/packages/gdb/8.0/111-xtensa-make-sure-ar_base-is-initialized.patch b/packages/gdb/8.0/111-xtensa-make-sure-ar_base-is-initialized.patch new file mode 100644 index 00000000..982bd7f7 --- /dev/null +++ b/packages/gdb/8.0/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 <jcmvbkbc@gmail.com> +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 <jcmvbkbc@gmail.com> +--- + 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/packages/gdb/8.0/112-WIP-end-of-prologue-detection-hack.patch b/packages/gdb/8.0/112-WIP-end-of-prologue-detection-hack.patch new file mode 100644 index 00000000..506a57c3 --- /dev/null +++ b/packages/gdb/8.0/112-WIP-end-of-prologue-detection-hack.patch @@ -0,0 +1,31 @@ +From 7f8eacbb468575fb67db7fd1155a3aedaa91911b Mon Sep 17 00:00:00 2001 +From: Max Filippov <jcmvbkbc@gmail.com> +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 <jcmvbkbc@gmail.com> +--- + 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 + diff --git a/packages/gdb/8.0/200-allow-android.patch b/packages/gdb/8.0/200-allow-android.patch new file mode 100644 index 00000000..7954477c --- /dev/null +++ b/packages/gdb/8.0/200-allow-android.patch @@ -0,0 +1,42 @@ +diff -urpN gdb-7.12.1.orig/gdb/gdbserver/configure gdb-7.12.1/gdb/gdbserver/configure +--- gdb-7.12.1.orig/gdb/gdbserver/configure 2017-05-14 17:02:46.742711695 -0700 ++++ gdb-7.12.1/gdb/gdbserver/configure 2017-05-14 17:03:22.147058607 -0700 +@@ -6671,17 +6671,6 @@ fi + + + case "${target}" in +- *-android*) +- # Starting with NDK version 9, <elf.h> actually includes definitions +- # of Elf32_auxv_t and Elf64_auxv_t. But sadly, <elf.h> includes +- # <sys/exec_elf.h> which defines some of the ELF types incorrectly, +- # leading to conflicts with the defintions from <linux/elf.h>. +- # This makes it impossible for us to include both <elf.h> and +- # <linux/elf.h>, 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 <elf.h> + +diff -urpN gdb-7.12.1.orig/gdb/gdbserver/configure.ac gdb-7.12.1/gdb/gdbserver/configure.ac +--- gdb-7.12.1.orig/gdb/gdbserver/configure.ac 2017-05-14 17:02:46.742711695 -0700 ++++ gdb-7.12.1/gdb/gdbserver/configure.ac 2017-05-14 17:03:53.219361720 -0700 +@@ -179,17 +179,6 @@ AC_CHECK_TYPES(socklen_t, [], [], + ]) + + case "${target}" in +- *-android*) +- # Starting with NDK version 9, <elf.h> actually includes definitions +- # of Elf32_auxv_t and Elf64_auxv_t. But sadly, <elf.h> includes +- # <sys/exec_elf.h> which defines some of the ELF types incorrectly, +- # leading to conflicts with the defintions from <linux/elf.h>. +- # This makes it impossible for us to include both <elf.h> and +- # <linux/elf.h>, 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 <elf.h> diff --git a/packages/gdb/8.0/version.desc b/packages/gdb/8.0/version.desc new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/packages/gdb/8.0/version.desc diff --git a/packages/gdb/package.desc b/packages/gdb/package.desc new file mode 100644 index 00000000..4753dc11 --- /dev/null +++ b/packages/gdb/package.desc @@ -0,0 +1,3 @@ +origin="GNU" +repository="git ssh://sourceware.org/git/binutils-gdb.git" +milestones="7.0 7.2" |