diff options
Diffstat (limited to 'toolchain')
31 files changed, 0 insertions, 4311 deletions
| diff --git a/toolchain/gdb/6.2.1/100-uclibc-conf.patch b/toolchain/gdb/6.2.1/100-uclibc-conf.patch deleted file mode 100644 index d3645bfea..000000000 --- a/toolchain/gdb/6.2.1/100-uclibc-conf.patch +++ /dev/null @@ -1,290 +0,0 @@ -diff -urN gdb-6.2-dist/bfd/config.bfd gdb-6.2/bfd/config.bfd ---- gdb-6.2-dist/bfd/config.bfd	2004-07-09 07:32:35.000000000 -0500 -+++ gdb-6.2/bfd/config.bfd	2004-08-08 04:23:19.000000000 -0500 -@@ -129,7 +129,7 @@ -     targ_defvec=ecoffalpha_little_vec -     targ_selvecs=bfd_elf64_alpha_vec -     ;; --  alpha*-*-linux-gnu* | alpha*-*-elf*) -+  alpha*-*-linux-gnu* | alpha*-*-linux-uclibc* | alpha*-*-elf*) -     targ_defvec=bfd_elf64_alpha_vec -     targ_selvecs=ecoffalpha_little_vec -     ;; -@@ -139,7 +139,7 @@ -   alpha*-*-*) -     targ_defvec=ecoffalpha_little_vec -     ;; --  ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu) -+  ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu | ia64*-*-linux-uclibc*) -     targ_defvec=bfd_elf64_ia64_little_vec -     targ_selvecs="bfd_elf64_ia64_big_vec bfd_efi_app_ia64_vec" -     ;; -@@ -216,7 +216,7 @@ -     targ_defvec=bfd_elf32_littlearm_vec -     targ_selvecs=bfd_elf32_bigarm_vec -     ;; --  armeb-*-elf | arm*b-*-linux-gnu*) -+  armeb-*-elf | arm*b-*-linux-gnu* | arm*b-*-linux-uclibc*) -     targ_defvec=bfd_elf32_bigarm_vec -     targ_selvecs=bfd_elf32_littlearm_vec -     ;; -@@ -224,7 +224,7 @@ -     targ_defvec=bfd_elf32_littlearm_vec -     targ_selvecs=bfd_elf32_bigarm_vec -     ;; --  arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-conix* | \ -+  arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-linux-uclibc* | arm*-*-conix* | \ -   arm*-*-uclinux* | arm-*-kfreebsd*-gnu | arm-*-vxworks) -     targ_defvec=bfd_elf32_littlearm_vec -     targ_selvecs=bfd_elf32_bigarm_vec -@@ -373,7 +373,7 @@ -     ;; -  - #ifdef BFD64 --  hppa*64*-*-linux-gnu*) -+  hppa*64*-*-linux-gnu* | hppa*64*-*-linux-uclibc*) -     targ_defvec=bfd_elf64_hppa_linux_vec -     targ_selvecs=bfd_elf64_hppa_vec -     ;; -@@ -384,7 +384,7 @@ -     ;; - #endif -  --  hppa*-*-linux-gnu* | hppa*-*-netbsd*) -+  hppa*-*-linux-gnu* | hppa*-*-netbsd* | hppa*-*-linux-uclibc*) -     targ_defvec=bfd_elf32_hppa_linux_vec -     targ_selvecs=bfd_elf32_hppa_vec -     ;; -@@ -507,7 +507,7 @@ -     targ_selvecs=bfd_elf32_i386_vec -     targ_underscore=yes -     ;; --  i[3-7]86-*-linux-gnu*) -+  i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*) -     targ_defvec=bfd_elf32_i386_vec -     targ_selvecs="i386linux_vec bfd_efi_app_ia32_vec" -     targ64_selvecs=bfd_elf64_x86_64_vec -@@ -521,7 +521,7 @@ -     targ_defvec=bfd_elf64_x86_64_vec -     targ_selvecs="bfd_elf32_i386_vec i386netbsd_vec i386coff_vec bfd_efi_app_ia32_vec" -     ;; --  x86_64-*-linux-gnu*) -+  x86_64-*-linux-gnu* | x86_64-*-linux-uclibc*) -     targ_defvec=bfd_elf64_x86_64_vec -     targ_selvecs="bfd_elf32_i386_vec i386linux_vec bfd_efi_app_ia32_vec" -     ;; -@@ -691,7 +691,7 @@ -     targ_defvec=hp300hpux_vec -     targ_underscore=yes -     ;; --  m68*-*-linux*aout*) -+  m68*-*-linux*aout* | m68*-*-linux-uclibc*) -     targ_defvec=m68klinux_vec -     targ_selvecs=bfd_elf32_m68k_vec -     targ_underscore=yes -@@ -972,8 +972,8 @@ -     ;; - #endif -   powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \ --  powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-rtems* | \ --  powerpc-*-chorus* | powerpc-*-vxworks* | powerpc-*-windiss*) -+  powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-linux-uclibc* | powerpc-*-rtems* | \ -+  powerpc-*-chorus* | powerpc-*-vxworks* | powerpc-*-windiss* ) -     targ_defvec=bfd_elf32_powerpc_vec -     targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec" -     targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec" -@@ -1009,8 +1009,8 @@ -     targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec" -     ;; -   powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \ --  powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-vxworks* |\ --  powerpcle-*-rtems*) -+  powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-linux-uclibc* | \ -+  powerpcle-*-vxworks* | powerpcle-*-rtems*) -     targ_defvec=bfd_elf32_powerpcle_vec -     targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec" -     targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec" -@@ -1177,7 +1177,7 @@ -     targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec" -     targ_underscore=yes -     ;; --  sparc-*-linux-gnu*) -+  sparc-*-linux-gnu* | sparc-*-linux-uclibc*) -     targ_defvec=bfd_elf32_sparc_vec -     targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec" -     ;; -@@ -1224,7 +1224,7 @@ -     targ_defvec=sunos_big_vec -     targ_underscore=yes -     ;; --  sparc64-*-linux-gnu*) -+  sparc64-*-linux-gnu* | sparc64-*-linux-uclibc*) -     targ_defvec=bfd_elf64_sparc_vec -     targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec" -     ;; -@@ -1293,7 +1293,7 @@ -     targ_underscore=yes -     ;; -  --  vax-*-linux-gnu*) -+  vax-*-linux-gnu* | vax-*-linux-uclibc*) -     targ_defvec=bfd_elf32_vax_vec -     ;; -  -diff -urN gdb-6.2-dist/bfd/configure gdb-6.2/bfd/configure ---- gdb-6.2-dist/bfd/configure	2004-07-07 12:28:45.000000000 -0500 -+++ gdb-6.2/bfd/configure	2004-08-08 04:27:01.000000000 -0500 -@@ -1698,6 +1698,11 @@ -   lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` -   ;; -  -+linux-uclibc*) -+  lt_cv_deplibs_check_method=pass_all -+  lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so` -+  ;; -+ - netbsd*) -   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then -     lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$' -@@ -5264,7 +5269,7 @@ -   alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu) - 	COREFILE='' - 	;; --  alpha*-*-linux-gnu*) -+  alpha*-*-linux-gnu* | alpha*-*-linux-uclibc*) - 	COREFILE=trad-core.lo - 	TRAD_HEADER='"hosts/alphalinux.h"' - 	;; -@@ -5328,7 +5333,7 @@ - 	COREFILE=trad-core.lo - 	TRAD_HEADER='"hosts/i386mach3.h"' - 	;; --  i[3-7]86-*-linux-gnu*) -+  i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*) - 	COREFILE=trad-core.lo - 	TRAD_HEADER='"hosts/i386linux.h"' - 	;; -@@ -5366,7 +5371,7 @@ - 	COREFILE=trad-core.lo - 	TRAD_HEADER='"hosts/hp300bsd.h"' - 	;; --  m68*-*-linux-gnu*) -+  m68*-*-linux-gnu* | m68*-*-linux-uclibc) - 	COREFILE=trad-core.lo - 	TRAD_HEADER='"hosts/m68klinux.h"' - 	;; -@@ -5470,7 +5475,7 @@ - 	COREFILE=trad-core.lo - 	TRAD_HEADER='"hosts/vaxult2.h"' - 	;; --  vax-*-linux-gnu*) -+  vax-*-linux-gnu* | vax-*-linux-uclibc*) - 	COREFILE=trad-core.lo - 	TRAD_HEADER='"hosts/vaxlinux.h"' - 	;; -diff -urN gdb-6.2-dist/bfd/configure.in gdb-6.2/bfd/configure.in ---- gdb-6.2-dist/bfd/configure.in	2004-07-07 12:28:45.000000000 -0500 -+++ gdb-6.2/bfd/configure.in	2004-08-08 04:28:07.000000000 -0500 -@@ -164,7 +164,7 @@ -   alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu) - 	COREFILE='' - 	;; --  alpha*-*-linux-gnu*) -+  alpha*-*-linux-gnu* | alpha*-*-linux-uclibc*) - 	COREFILE=trad-core.lo - 	TRAD_HEADER='"hosts/alphalinux.h"' - 	;; -@@ -249,7 +249,7 @@ - 	TRAD_HEADER='"hosts/i386mach3.h"' - 	;; - changequote(,)dnl --  i[3-7]86-*-linux-gnu*) -+  i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*) - changequote([,])dnl - 	COREFILE=trad-core.lo - 	TRAD_HEADER='"hosts/i386linux.h"' -@@ -290,7 +290,7 @@ - 	COREFILE=trad-core.lo - 	TRAD_HEADER='"hosts/hp300bsd.h"' - 	;; --  m68*-*-linux-gnu*) -+  m68*-*-linux-gnu* | m68*-*-linux-uclibc*) - 	COREFILE=trad-core.lo - 	TRAD_HEADER='"hosts/m68klinux.h"' - 	;; -@@ -378,7 +378,7 @@ - 	COREFILE=trad-core.lo - 	TRAD_HEADER='"hosts/vaxult2.h"' - 	;; --  vax-*-linux-gnu*) -+  vax-*-linux-gnu* | vax-*-linux-uclibc*) - 	COREFILE=trad-core.lo - 	TRAD_HEADER='"hosts/vaxlinux.h"' - 	;; -diff -urN gdb-6.2-dist/libtool.m4 gdb-6.2/libtool.m4 ---- gdb-6.2-dist/libtool.m4	2003-04-10 22:58:39.000000000 -0500 -+++ gdb-6.2/libtool.m4	2004-08-08 03:48:33.000000000 -0500 -@@ -645,6 +645,11 @@ -   lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` -   ;; -  -+linux-uclibc*) -+  lt_cv_deplibs_check_method=pass_all -+  lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so` -+  ;; -+ - netbsd*) -   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then -     [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'] -diff -urN gdb-6.2-dist/ltconfig gdb-6.2/ltconfig ---- gdb-6.2-dist/ltconfig	2003-10-03 23:54:47.000000000 -0500 -+++ gdb-6.2/ltconfig	2004-08-08 03:48:33.000000000 -0500 -@@ -602,7 +602,7 @@ -  - # Transform linux* to *-*-linux-gnu*, to support old configure scripts. - case $host_os in --linux-gnu*) ;; -+linux-gnu*|linux-uclibc*) ;; - linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` - esac -  -@@ -1259,6 +1259,24 @@ -   dynamic_linker='GNU/Linux ld.so' -   ;; -  -+linux-uclibc*) -+  version_type=linux -+  need_lib_prefix=no -+  need_version=no -+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' -+  soname_spec='${libname}${release}.so$major' -+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' -+  shlibpath_var=LD_LIBRARY_PATH -+  shlibpath_overrides_runpath=no -+  # This implies no fast_install, which is unacceptable. -+  # Some rework will be needed to allow for fast_install -+  # before this can be enabled. -+  # Note: copied from linux-gnu, and may not be appropriate. -+  hardcode_into_libs=yes -+  # Assume using the uClibc dynamic linker. -+  dynamic_linker="uClibc ld.so" -+  ;; -+ - netbsd*) -   need_lib_prefix=no -   need_version=no -diff -urN gdb-6.2-dist/opcodes/configure gdb-6.2/opcodes/configure ---- gdb-6.2-dist/opcodes/configure	2004-07-07 12:28:53.000000000 -0500 -+++ gdb-6.2/opcodes/configure	2004-08-08 04:53:55.000000000 -0500 -@@ -1701,6 +1701,11 @@ -   lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` -   ;; -  -+linux-uclibc*) -+  lt_cv_deplibs_check_method=pass_all -+  lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so` -+  ;; -+ - netbsd*) -   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then -     lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$' diff --git a/toolchain/gdb/6.2.1/200-uclibc-readline-conf.patch b/toolchain/gdb/6.2.1/200-uclibc-readline-conf.patch deleted file mode 100644 index ffe792dd0..000000000 --- a/toolchain/gdb/6.2.1/200-uclibc-readline-conf.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- gdb-6.1.1-dist/readline/configure	2003-05-27 18:29:47.000000000 -0500 -+++ gdb-6.1.1/readline/configure	2004-08-09 14:20:23.000000000 -0500 -@@ -6249,7 +6249,12 @@ -  -  - echo "$as_me:$LINENO: checking for mbstate_t" >&5 -+echo $ECHO_N "bash_cv_have_mbstate_t=$bash_cv_have_mbstate_t" >&6 - echo $ECHO_N "checking for mbstate_t... $ECHO_C" >&6 -+if test "${bash_cv_have_mbstate_t+set}" != set; then -+  bash_cv_have_mbstate_t=yes -+  echo $ECHO_N "WARNING!! forcing to yes!!! $ECHO_C" >&6 -+fi - if test "${bash_cv_have_mbstate_t+set}" = set; then -   echo $ECHO_N "(cached) $ECHO_C" >&6 - else diff --git a/toolchain/gdb/6.2.1/400-mips-coredump.patch-2.4.23-29 b/toolchain/gdb/6.2.1/400-mips-coredump.patch-2.4.23-29 deleted file mode 100644 index 4e17ba7be..000000000 --- a/toolchain/gdb/6.2.1/400-mips-coredump.patch-2.4.23-29 +++ /dev/null @@ -1,28 +0,0 @@ -Sometime around 2.4.22-23, the mips pt_regs.h fields were reordered, breaking -coredump handling by gdb for current kernels.  Update the hardcoded constants -to reflect the change. ---- gdb-6.2.1/gdb/mips-linux-tdep.c-orig	2004-10-29 14:23:55.000000000 -0500 -+++ gdb-6.2.1/gdb/mips-linux-tdep.c	2004-10-29 14:26:44.000000000 -0500 -@@ -53,12 +53,22 @@ -  - #define EF_REG0			6 - #define EF_REG31		37 -+ -+#if 0 - #define EF_LO			38 - #define EF_HI			39 - #define EF_CP0_EPC		40 - #define EF_CP0_BADVADDR		41 - #define EF_CP0_STATUS		42 - #define EF_CP0_CAUSE		43 -+#else -+#define EF_CP0_STATUS		38 -+#define EF_LO			39 -+#define EF_HI			40 -+#define EF_CP0_BADVADDR		41 -+#define EF_CP0_CAUSE		42 -+#define EF_CP0_EPC		43 -+#endif -  - #define EF_SIZE			180 -  diff --git a/toolchain/gdb/6.2.1/500-thread-timeout.patch b/toolchain/gdb/6.2.1/500-thread-timeout.patch deleted file mode 100644 index 410fb21d5..000000000 --- a/toolchain/gdb/6.2.1/500-thread-timeout.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- gdb-6.3.org/gdb/gdbserver/thread-db.c	2004-10-17 02:42:00.000000000 +0900
 -+++ gdb-6.3/gdb/gdbserver/thread-db.c	2005-01-27 12:19:29.000000000 +0900
 -@@ -21,6 +21,7 @@
 -    Foundation, Inc., 59 Temple Place - Suite 330,
 -    Boston, MA 02111-1307, USA.  */
 - 
 -+#include <unistd.h>
 - #include "server.h"
 - 
 - #include "linux-low.h"
 -@@ -142,6 +143,7 @@
 -   td_event_msg_t msg;
 -   td_err_e err;
 -   struct inferior_linux_data *tdata;
 -+  int timeout;
 - 
 -   if (debug_threads)
 -     fprintf (stderr, "Thread creation event.\n");
 -@@ -152,7 +154,13 @@
 -      In the LinuxThreads implementation, this is safe,
 -      because all events come from the manager thread
 -      (except for its own creation, of course).  */
 --  err = td_ta_event_getmsg (thread_agent, &msg);
 -+  for (timeout = 0; timeout < 50000; timeout++)
 -+    {
 -+      err = td_ta_event_getmsg (thread_agent, &msg);
 -+      if (err != TD_NOMSG)
 -+	break;
 -+      usleep(1000);
 -+    }
 -   if (err != TD_OK)
 -     fprintf (stderr, "thread getmsg err: %s\n",
 - 	     thread_db_err_str (err));
 -
 diff --git a/toolchain/gdb/6.3/100-uclibc-conf.patch b/toolchain/gdb/6.3/100-uclibc-conf.patch deleted file mode 100644 index cc69ff33b..000000000 --- a/toolchain/gdb/6.3/100-uclibc-conf.patch +++ /dev/null @@ -1,280 +0,0 @@ ---- gdb-6.3/bfd/config.bfd.orig	Fri Oct 15 07:47:11 2004 -+++ gdb-6.3/bfd/config.bfd	Mon Feb 28 00:04:43 2005 -@@ -129,7 +129,7 @@ -     targ_defvec=ecoffalpha_little_vec -     targ_selvecs=bfd_elf64_alpha_vec -     ;; --  alpha*-*-linux-gnu* | alpha*-*-elf*) -+  alpha*-*-linux-* | alpha*-*-elf*) -     targ_defvec=bfd_elf64_alpha_vec -     targ_selvecs=ecoffalpha_little_vec -     ;; -@@ -139,7 +139,7 @@ -   alpha*-*-*) -     targ_defvec=ecoffalpha_little_vec -     ;; --  ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu) -+  ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu) -     targ_defvec=bfd_elf64_ia64_little_vec -     targ_selvecs="bfd_elf64_ia64_big_vec bfd_efi_app_ia64_vec" -     ;; -@@ -216,7 +216,7 @@ -     targ_defvec=bfd_elf32_littlearm_vec -     targ_selvecs=bfd_elf32_bigarm_vec -     ;; --  armeb-*-elf | arm*b-*-linux-gnu*) -+  armeb-*-elf | arm*b-*-linux-*) -     targ_defvec=bfd_elf32_bigarm_vec -     targ_selvecs=bfd_elf32_littlearm_vec -     ;; -@@ -224,7 +224,7 @@ -     targ_defvec=bfd_elf32_littlearm_vec -     targ_selvecs=bfd_elf32_bigarm_vec -     ;; --  arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-conix* | \ -+  arm-*-elf | arm-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \ -   arm*-*-uclinux* | arm-*-kfreebsd*-gnu | arm-*-vxworks | \ -   arm*-*-eabi* ) -     targ_defvec=bfd_elf32_littlearm_vec -@@ -378,7 +378,7 @@ -     ;; -  - #ifdef BFD64 --  hppa*64*-*-linux-gnu*) -+  hppa*64*-*-linux-*) -     targ_defvec=bfd_elf64_hppa_linux_vec -     targ_selvecs=bfd_elf64_hppa_vec -     ;; -@@ -389,7 +389,7 @@ -     ;; - #endif -  --  hppa*-*-linux-gnu*) -+  hppa*-*-linux-*) -     targ_defvec=bfd_elf32_hppa_linux_vec -     targ_selvecs=bfd_elf32_hppa_vec -     ;; -@@ -522,7 +522,7 @@ -     targ_selvecs=bfd_elf32_i386_vec -     targ_underscore=yes -     ;; --  i[3-7]86-*-linux-gnu*) -+  i[3-7]86-*-linux-*) -     targ_defvec=bfd_elf32_i386_vec -     targ_selvecs="i386linux_vec bfd_efi_app_ia32_vec" -     targ64_selvecs=bfd_elf64_x86_64_vec -@@ -536,7 +536,7 @@ -     targ_defvec=bfd_elf64_x86_64_vec -     targ_selvecs="bfd_elf32_i386_vec i386netbsd_vec i386coff_vec bfd_efi_app_ia32_vec" -     ;; --  x86_64-*-linux-gnu*) -+  x86_64-*-linux-*) -     targ_defvec=bfd_elf64_x86_64_vec -     targ_selvecs="bfd_elf32_i386_vec i386linux_vec bfd_efi_app_ia32_vec" -     ;; -@@ -706,7 +706,7 @@ -     targ_defvec=hp300hpux_vec -     targ_underscore=yes -     ;; --  m68*-*-linux*aout*) -+  m68*-*-linux*aout* | m68*-*-linux-uclibc*) -     targ_defvec=m68klinux_vec -     targ_selvecs=bfd_elf32_m68k_vec -     targ_underscore=yes -@@ -987,7 +987,7 @@ -     ;; - #endif -   powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \ --  powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-rtems* | \ -+  powerpc-*-solaris2* | powerpc-*-linux-* | powerpc-*-rtems* | \ -   powerpc-*-chorus* | powerpc-*-vxworks* | powerpc-*-windiss*) -     targ_defvec=bfd_elf32_powerpc_vec -     targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec" -@@ -1024,7 +1024,7 @@ -     targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec" -     ;; -   powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \ --  powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-vxworks* |\ -+  powerpcle-*-solaris2* | powerpcle-*-linux-* | powerpcle-*-vxworks* |\ -   powerpcle-*-rtems*) -     targ_defvec=bfd_elf32_powerpcle_vec -     targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec" -@@ -1192,7 +1192,7 @@ -     targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec" -     targ_underscore=yes -     ;; --  sparc-*-linux-gnu*) -+  sparc-*-linux-*) -     targ_defvec=bfd_elf32_sparc_vec -     targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec" -     ;; -@@ -1239,7 +1239,7 @@ -     targ_defvec=sunos_big_vec -     targ_underscore=yes -     ;; --  sparc64-*-linux-gnu*) -+  sparc64-*-linux-*) -     targ_defvec=bfd_elf64_sparc_vec -     targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec" -     ;; -@@ -1308,7 +1308,7 @@ -     targ_underscore=yes -     ;; -  --  vax-*-linux-gnu*) -+  vax-*-linux-*) -     targ_defvec=bfd_elf32_vax_vec -     ;; -  ---- gdb-6.3/bfd/configure.orig	Fri Oct  8 16:53:56 2004 -+++ gdb-6.3/bfd/configure	Sun Feb 27 18:32:58 2005 -@@ -3583,6 +3583,11 @@ -   lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` -   ;; -  -+linux-uclibc*) -+  lt_cv_deplibs_check_method=pass_all -+  lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so` -+  ;; -+ - netbsd* | knetbsd*-gnu) -   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then -     lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$' -@@ -9914,7 +9919,7 @@ -   alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu) - 	COREFILE='' - 	;; --  alpha*-*-linux-gnu*) -+  alpha*-*-linux-*) - 	COREFILE=trad-core.lo - 	TRAD_HEADER='"hosts/alphalinux.h"' - 	;; -@@ -9978,7 +9983,7 @@ - 	COREFILE=trad-core.lo - 	TRAD_HEADER='"hosts/i386mach3.h"' - 	;; --  i[3-7]86-*-linux-gnu*) -+  i[3-7]86-*-linux-*) - 	COREFILE=trad-core.lo - 	TRAD_HEADER='"hosts/i386linux.h"' - 	;; -@@ -10016,7 +10021,7 @@ - 	COREFILE=trad-core.lo - 	TRAD_HEADER='"hosts/hp300bsd.h"' - 	;; --  m68*-*-linux-gnu*) -+  m68*-*-linux-*) - 	COREFILE=trad-core.lo - 	TRAD_HEADER='"hosts/m68klinux.h"' - 	;; -@@ -10150,7 +10155,7 @@ - 	COREFILE=trad-core.lo - 	TRAD_HEADER='"hosts/vaxult2.h"' - 	;; --  vax-*-linux-gnu*) -+  vax-*-linux-*) - 	COREFILE=trad-core.lo - 	TRAD_HEADER='"hosts/vaxlinux.h"' - 	;; ---- gdb-6.3/bfd/configure.in.orig	Fri Oct  8 16:53:59 2004 -+++ gdb-6.3/bfd/configure.in	Sun Feb 27 18:14:41 2005 -@@ -163,7 +163,7 @@ -   alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu) - 	COREFILE='' - 	;; --  alpha*-*-linux-gnu*) -+  alpha*-*-linux-*) - 	COREFILE=trad-core.lo - 	TRAD_HEADER='"hosts/alphalinux.h"' - 	;; -@@ -248,7 +248,7 @@ - 	TRAD_HEADER='"hosts/i386mach3.h"' - 	;; - changequote(,)dnl --  i[3-7]86-*-linux-gnu*) -+  i[3-7]86-*-linux-*) - changequote([,])dnl - 	COREFILE=trad-core.lo - 	TRAD_HEADER='"hosts/i386linux.h"' -@@ -289,7 +289,7 @@ - 	COREFILE=trad-core.lo - 	TRAD_HEADER='"hosts/hp300bsd.h"' - 	;; --  m68*-*-linux-gnu*) -+  m68*-*-linux-*) - 	COREFILE=trad-core.lo - 	TRAD_HEADER='"hosts/m68klinux.h"' - 	;; -@@ -375,7 +375,7 @@ - 	COREFILE=trad-core.lo - 	TRAD_HEADER='"hosts/vaxult2.h"' - 	;; --  vax-*-linux-gnu*) -+  vax-*-linux-*) - 	COREFILE=trad-core.lo - 	TRAD_HEADER='"hosts/vaxlinux.h"' - 	;; ---- gdb-6.3/libtool.m4.orig	Wed Jul 21 21:21:41 2004 -+++ gdb-6.3/libtool.m4	Mon Feb 28 00:08:11 2005 -@@ -653,6 +653,11 @@ -   fi -   ;; -  -+linux-uclibc*) -+  lt_cv_deplibs_check_method=pass_all -+  lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so` -+  ;; -+ - newsos6) -   [lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'] -   lt_cv_file_magic_cmd=/usr/bin/file ---- gdb-6.3/ltconfig.orig	Tue Oct  5 15:34:42 2004 -+++ gdb-6.3/ltconfig	Sun Feb 27 18:14:41 2005 -@@ -602,7 +602,7 @@ -  - # Transform linux* to *-*-linux-gnu*, to support old configure scripts. - case $host_os in --linux-gnu*) ;; -+linux-gnu*|linux-uclibc*) ;; - linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` - esac -  -@@ -1270,6 +1270,24 @@ -   dynamic_linker='GNU/Linux ld.so' -   ;; -  -+linux-uclibc*) -+  version_type=linux -+  need_lib_prefix=no -+  need_version=no -+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' -+  soname_spec='${libname}${release}.so$major' -+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' -+  shlibpath_var=LD_LIBRARY_PATH -+  shlibpath_overrides_runpath=no -+  # This implies no fast_install, which is unacceptable. -+  # Some rework will be needed to allow for fast_install -+  # before this can be enabled. -+  # Note: copied from linux-gnu, and may not be appropriate. -+  hardcode_into_libs=yes -+  # Assume using the uClibc dynamic linker. -+  dynamic_linker="uClibc ld.so" -+  ;; -+ - netbsd*) -   need_lib_prefix=no -   need_version=no ---- gdb-6.3/opcodes/configure.orig	Fri Sep 17 08:13:38 2004 -+++ gdb-6.3/opcodes/configure	Mon Feb 28 00:09:42 2005 -@@ -3595,6 +3595,11 @@ -   fi -   ;; -  -+linux-uclibc*) -+  lt_cv_deplibs_check_method=pass_all -+  lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so` -+  ;; -+ - newsos6) -   lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' -   lt_cv_file_magic_cmd=/usr/bin/file diff --git a/toolchain/gdb/6.3/200-uclibc-readline-conf.patch b/toolchain/gdb/6.3/200-uclibc-readline-conf.patch deleted file mode 100644 index ffe792dd0..000000000 --- a/toolchain/gdb/6.3/200-uclibc-readline-conf.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- gdb-6.1.1-dist/readline/configure	2003-05-27 18:29:47.000000000 -0500 -+++ gdb-6.1.1/readline/configure	2004-08-09 14:20:23.000000000 -0500 -@@ -6249,7 +6249,12 @@ -  -  - echo "$as_me:$LINENO: checking for mbstate_t" >&5 -+echo $ECHO_N "bash_cv_have_mbstate_t=$bash_cv_have_mbstate_t" >&6 - echo $ECHO_N "checking for mbstate_t... $ECHO_C" >&6 -+if test "${bash_cv_have_mbstate_t+set}" != set; then -+  bash_cv_have_mbstate_t=yes -+  echo $ECHO_N "WARNING!! forcing to yes!!! $ECHO_C" >&6 -+fi - if test "${bash_cv_have_mbstate_t+set}" = set; then -   echo $ECHO_N "(cached) $ECHO_C" >&6 - else diff --git a/toolchain/gdb/6.3/400-mips-coredump.patch-2.4.23-29 b/toolchain/gdb/6.3/400-mips-coredump.patch-2.4.23-29 deleted file mode 100644 index 4e17ba7be..000000000 --- a/toolchain/gdb/6.3/400-mips-coredump.patch-2.4.23-29 +++ /dev/null @@ -1,28 +0,0 @@ -Sometime around 2.4.22-23, the mips pt_regs.h fields were reordered, breaking -coredump handling by gdb for current kernels.  Update the hardcoded constants -to reflect the change. ---- gdb-6.2.1/gdb/mips-linux-tdep.c-orig	2004-10-29 14:23:55.000000000 -0500 -+++ gdb-6.2.1/gdb/mips-linux-tdep.c	2004-10-29 14:26:44.000000000 -0500 -@@ -53,12 +53,22 @@ -  - #define EF_REG0			6 - #define EF_REG31		37 -+ -+#if 0 - #define EF_LO			38 - #define EF_HI			39 - #define EF_CP0_EPC		40 - #define EF_CP0_BADVADDR		41 - #define EF_CP0_STATUS		42 - #define EF_CP0_CAUSE		43 -+#else -+#define EF_CP0_STATUS		38 -+#define EF_LO			39 -+#define EF_HI			40 -+#define EF_CP0_BADVADDR		41 -+#define EF_CP0_CAUSE		42 -+#define EF_CP0_EPC		43 -+#endif -  - #define EF_SIZE			180 -  diff --git a/toolchain/gdb/6.3/500-thread-timeout.patch b/toolchain/gdb/6.3/500-thread-timeout.patch deleted file mode 100644 index 6db0a7a47..000000000 --- a/toolchain/gdb/6.3/500-thread-timeout.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- gdb-6.3.org/gdb/gdbserver/thread-db.c	2004-10-17 02:42:00.000000000 +0900 -+++ gdb-6.3/gdb/gdbserver/thread-db.c	2005-01-27 12:19:29.000000000 +0900 -@@ -21,6 +21,7 @@ -    Foundation, Inc., 59 Temple Place - Suite 330, -    Boston, MA 02111-1307, USA.  */ -  -+#include <unistd.h> - #include "server.h" -  - #include "linux-low.h" -@@ -142,6 +143,7 @@ -   td_event_msg_t msg; -   td_err_e err; -   struct inferior_linux_data *tdata; -+  int timeout; -  -   if (debug_threads) -     fprintf (stderr, "Thread creation event.\n"); -@@ -152,7 +154,13 @@ -      In the LinuxThreads implementation, this is safe, -      because all events come from the manager thread -      (except for its own creation, of course).  */ --  err = td_ta_event_getmsg (thread_agent, &msg); -+  for (timeout = 0; timeout < 50000; timeout++) -+    { -+      err = td_ta_event_getmsg (thread_agent, &msg); -+      if (err != TD_NOMSG) -+	break; -+      usleep(1000); -+    } -   if (err != TD_OK) -     fprintf (stderr, "thread getmsg err: %s\n", - 	     thread_db_err_str (err)); - diff --git a/toolchain/gdb/6.3/600-debian_10.selected-frame.patch b/toolchain/gdb/6.3/600-debian_10.selected-frame.patch deleted file mode 100644 index 5970f9ba4..000000000 --- a/toolchain/gdb/6.3/600-debian_10.selected-frame.patch +++ /dev/null @@ -1,552 +0,0 @@ -2004-10-11 - -This patch is not submitted.  Many of these functions should be passing -a frame around rather than calling get_selected_frame, but at least it -is an improvement over deprecated_selected_frame. - -Index: gdb-6.3/gdb/breakpoint.c -=================================================================== ---- gdb-6.3.orig/gdb/breakpoint.c	2004-10-08 13:30:46.000000000 -0400 -+++ gdb-6.3/gdb/breakpoint.c	2004-11-09 22:55:11.231620957 -0500 -@@ -922,7 +922,7 @@ insert_bp_location (struct bp_location * -       /* FIXME drow/2003-09-09: It would be nice if evaluate_expression - 	 took a frame parameter, so that we didn't have to change the - 	 selected frame.  */ --      saved_frame_id = get_frame_id (deprecated_selected_frame); -+      saved_frame_id = get_frame_id (get_selected_frame ()); -  -       /* Determine if the watchpoint is within scope.  */ -       if (bpt->owner->exp_valid_block == NULL) -@@ -5464,14 +5464,9 @@ break_at_finish_at_depth_command_1 (char -  -       if (default_breakpoint_valid) - 	{ --	  if (deprecated_selected_frame) --	    { --	      selected_pc = get_frame_pc (deprecated_selected_frame); --	      if (arg) --		if_arg = 1; --	    } --	  else --	    error ("No selected frame."); -+	  selected_pc = get_frame_pc (get_selected_frame ()); -+	  if (arg) -+	    if_arg = 1; - 	} -       else - 	error ("No default breakpoint address now."); -@@ -5542,15 +5537,10 @@ break_at_finish_command_1 (char *arg, in -     { -       if (default_breakpoint_valid) - 	{ --	  if (deprecated_selected_frame) --	    { --	      addr_string = xstrprintf ("*0x%s", --					paddr_nz (get_frame_pc (deprecated_selected_frame))); --	      if (arg) --		if_arg = 1; --	    } --	  else --	    error ("No selected frame."); -+	  addr_string = xstrprintf ("*0x%s", -+				    paddr_nz (get_frame_pc (get_selected_frame ()))); -+	  if (arg) -+	    if_arg = 1; - 	} -       else - 	error ("No default breakpoint address now."); -@@ -6082,7 +6072,7 @@ until_break_command (char *arg, int from - { -   struct symtabs_and_lines sals; -   struct symtab_and_line sal; --  struct frame_info *prev_frame = get_prev_frame (deprecated_selected_frame); -+  struct frame_info *prev_frame = get_prev_frame (get_selected_frame ()); -   struct breakpoint *breakpoint; -   struct cleanup *old_chain; -   struct continuation_arg *arg1; -@@ -6119,7 +6109,7 @@ until_break_command (char *arg, int from -     /* Otherwise, specify the current frame, because we want to stop only -        at the very same frame.  */ -     breakpoint = set_momentary_breakpoint (sal, --					   get_frame_id (deprecated_selected_frame), -+					   get_frame_id (get_selected_frame ()), - 					   bp_until); -  -   if (!target_can_async_p ()) -Index: gdb-6.3/gdb/cli/cli-cmds.c -=================================================================== ---- gdb-6.3.orig/gdb/cli/cli-cmds.c	2004-09-11 06:24:53.000000000 -0400 -+++ gdb-6.3/gdb/cli/cli-cmds.c	2004-11-09 22:51:07.323246218 -0500 -@@ -845,10 +845,7 @@ disassemble_command (char *arg, int from -   name = NULL; -   if (!arg) -     { --      if (!deprecated_selected_frame) --	error ("No frame selected.\n"); -- --      pc = get_frame_pc (deprecated_selected_frame); -+      pc = get_frame_pc (get_selected_frame ()); -       if (find_pc_partial_function (pc, &name, &low, &high) == 0) - 	error ("No function contains program counter for selected frame.\n"); - #if defined(TUI) -Index: gdb-6.3/gdb/f-valprint.c -=================================================================== ---- gdb-6.3.orig/gdb/f-valprint.c	2003-10-14 02:51:14.000000000 -0400 -+++ gdb-6.3/gdb/f-valprint.c	2004-11-09 22:51:07.326245632 -0500 -@@ -76,7 +76,7 @@ f77_get_dynamic_lowerbound (struct type  -   switch (TYPE_ARRAY_LOWER_BOUND_TYPE (type)) -     { -     case BOUND_BY_VALUE_ON_STACK: --      current_frame_addr = get_frame_base (deprecated_selected_frame); -+      current_frame_addr = get_frame_base (get_selected_frame ()); -       if (current_frame_addr > 0) - 	{ - 	  *lower_bound = -@@ -100,7 +100,7 @@ f77_get_dynamic_lowerbound (struct type  -       break; -  -     case BOUND_BY_REF_ON_STACK: --      current_frame_addr = get_frame_base (deprecated_selected_frame); -+      current_frame_addr = get_frame_base (get_selected_frame ()); -       if (current_frame_addr > 0) - 	{ - 	  ptr_to_lower_bound = -@@ -134,7 +134,7 @@ f77_get_dynamic_upperbound (struct type  -   switch (TYPE_ARRAY_UPPER_BOUND_TYPE (type)) -     { -     case BOUND_BY_VALUE_ON_STACK: --      current_frame_addr = get_frame_base (deprecated_selected_frame); -+      current_frame_addr = get_frame_base (get_selected_frame ()); -       if (current_frame_addr > 0) - 	{ - 	  *upper_bound = -@@ -163,7 +163,7 @@ f77_get_dynamic_upperbound (struct type  -       break; -  -     case BOUND_BY_REF_ON_STACK: --      current_frame_addr = get_frame_base (deprecated_selected_frame); -+      current_frame_addr = get_frame_base (get_selected_frame ()); -       if (current_frame_addr > 0) - 	{ - 	  ptr_to_upper_bound = -@@ -630,10 +630,7 @@ info_common_command (char *comname, int  -      first make sure that it is visible and if so, let  -      us display its contents */ -  --  fi = deprecated_selected_frame; -- --  if (fi == NULL) --    error ("No frame selected"); -+  fi = get_selected_frame (); -  -   /* The following is generally ripped off from stack.c's routine  -      print_frame_info() */ -@@ -722,10 +719,7 @@ there_is_a_visible_common_named (char *c -   if (comname == NULL) -     error ("Cannot deal with NULL common name!"); -  --  fi = deprecated_selected_frame; -- --  if (fi == NULL) --    error ("No frame selected"); -+  fi = get_selected_frame (); -  -   /* The following is generally ripped off from stack.c's routine  -      print_frame_info() */ -Index: gdb-6.3/gdb/infcmd.c -=================================================================== ---- gdb-6.3.orig/gdb/infcmd.c	2004-09-13 14:26:28.000000000 -0400 -+++ gdb-6.3/gdb/infcmd.c	2004-11-09 22:57:37.274099559 -0500 -@@ -1214,10 +1214,8 @@ finish_command (char *arg, int from_tty) -     error ("The \"finish\" command does not take any arguments."); -   if (!target_has_execution) -     error ("The program is not running."); --  if (deprecated_selected_frame == NULL) --    error ("No selected frame."); -  --  frame = get_prev_frame (deprecated_selected_frame); -+  frame = get_prev_frame (get_selected_frame ()); -   if (frame == 0) -     error ("\"finish\" not meaningful in the outermost frame."); -  -@@ -1235,7 +1233,7 @@ finish_command (char *arg, int from_tty) -  -   /* Find the function we will return from.  */ -  --  function = find_pc_function (get_frame_pc (deprecated_selected_frame)); -+  function = find_pc_function (get_frame_pc (get_selected_frame ())); -  -   /* Print info on the selected frame, including level number but not -      source.  */ -@@ -1600,13 +1598,11 @@ registers_info (char *addr_exp, int fpre -  -   if (!target_has_registers) -     error ("The program has no registers now."); --  if (deprecated_selected_frame == NULL) --    error ("No selected frame."); -  -   if (!addr_exp) -     { -       gdbarch_print_registers_info (current_gdbarch, gdb_stdout, --				    deprecated_selected_frame, -1, fpregs); -+				    get_selected_frame (), -1, fpregs); -       return; -     } -  -@@ -1644,7 +1640,7 @@ registers_info (char *addr_exp, int fpre - 	if (regnum >= 0) - 	  { - 	    gdbarch_print_registers_info (current_gdbarch, gdb_stdout, --					  deprecated_selected_frame, regnum, fpregs); -+					  get_selected_frame (), regnum, fpregs); - 	    continue; - 	  } -       } -@@ -1658,7 +1654,7 @@ registers_info (char *addr_exp, int fpre - 	    && regnum < NUM_REGS + NUM_PSEUDO_REGS) - 	  { - 	    gdbarch_print_registers_info (current_gdbarch, gdb_stdout, --					  deprecated_selected_frame, regnum, fpregs); -+					  get_selected_frame (), regnum, fpregs); - 	    continue; - 	  } -       } -@@ -1684,7 +1680,7 @@ registers_info (char *addr_exp, int fpre - 		if (gdbarch_register_reggroup_p (current_gdbarch, regnum, - 						 group)) - 		  gdbarch_print_registers_info (current_gdbarch, --						gdb_stdout, deprecated_selected_frame, -+						gdb_stdout, get_selected_frame (), - 						regnum, fpregs); - 	      } - 	    continue; -@@ -1714,8 +1710,6 @@ print_vector_info (struct gdbarch *gdbar - { -   if (!target_has_registers) -     error ("The program has no registers now."); --  if (deprecated_selected_frame == NULL) --    error ("No selected frame."); -  -   if (gdbarch_print_vector_info_p (gdbarch)) -     gdbarch_print_vector_info (gdbarch, file, frame, args); -@@ -1740,7 +1734,7 @@ print_vector_info (struct gdbarch *gdbar - static void - vector_info (char *args, int from_tty) - { --  print_vector_info (current_gdbarch, gdb_stdout, deprecated_selected_frame, args); -+  print_vector_info (current_gdbarch, gdb_stdout, get_selected_frame (), args); - } -  -  -@@ -1910,8 +1904,6 @@ print_float_info (struct gdbarch *gdbarc - { -   if (!target_has_registers) -     error ("The program has no registers now."); --  if (deprecated_selected_frame == NULL) --    error ("No selected frame."); -  -   if (gdbarch_print_float_info_p (gdbarch)) -     gdbarch_print_float_info (gdbarch, file, frame, args); -@@ -1937,7 +1929,7 @@ No floating-point info available for thi - static void - float_info (char *args, int from_tty) - { --  print_float_info (current_gdbarch, gdb_stdout, deprecated_selected_frame, args); -+  print_float_info (current_gdbarch, gdb_stdout, get_selected_frame (), args); - } -  - static void -Index: gdb-6.3/gdb/inflow.c -=================================================================== ---- gdb-6.3.orig/gdb/inflow.c	2004-08-11 05:00:57.000000000 -0400 -+++ gdb-6.3/gdb/inflow.c	2004-11-09 22:58:37.488338883 -0500 -@@ -591,10 +591,7 @@ kill_command (char *arg, int from_tty) -   if (target_has_stack) -     { -       printf_filtered ("In %s,\n", target_longname); --      if (deprecated_selected_frame == NULL) --	fputs_filtered ("No selected stack frame.\n", gdb_stdout); --      else --	print_stack_frame (get_selected_frame (), 1, SRC_AND_LOC); -+      print_stack_frame (get_selected_frame (), 1, SRC_AND_LOC); -     } -   bfd_cache_close_all (); - } -Index: gdb-6.3/gdb/infrun.c -=================================================================== ---- gdb-6.3.orig/gdb/infrun.c	2004-09-27 13:58:08.000000000 -0400 -+++ gdb-6.3/gdb/infrun.c	2004-11-09 22:51:07.351240752 -0500 -@@ -3485,7 +3485,7 @@ save_inferior_status (int restore_stack_ -  -   inf_status->registers = regcache_dup (current_regcache); -  --  inf_status->selected_frame_id = get_frame_id (deprecated_selected_frame); -+  inf_status->selected_frame_id = get_frame_id (get_selected_frame ()); -   return inf_status; - } -  -Index: gdb-6.3/gdb/mi/mi-main.c -=================================================================== ---- gdb-6.3.orig/gdb/mi/mi-main.c	2004-09-12 11:00:42.000000000 -0400 -+++ gdb-6.3/gdb/mi/mi-main.c	2004-11-09 22:53:29.998389013 -0500 -@@ -388,7 +388,7 @@ register_changed_p (int regnum) - { -   char raw_buffer[MAX_REGISTER_SIZE]; -  --  if (! frame_register_read (deprecated_selected_frame, regnum, raw_buffer)) -+  if (! frame_register_read (get_selected_frame (), regnum, raw_buffer)) -     return -1; -  -   if (memcmp (&old_regs[DEPRECATED_REGISTER_BYTE (regnum)], raw_buffer, -@@ -509,7 +509,7 @@ get_register (int regnum, int format) -   if (format == 'N') -     format = 0; -  --  frame_register (deprecated_selected_frame, regnum, &optim, &lval, &addr, -+  frame_register (get_selected_frame (), regnum, &optim, &lval, &addr, - 		  &realnum, buffer); -  -   if (optim) -Index: gdb-6.3/gdb/mn10300-tdep.c -=================================================================== ---- gdb-6.3.orig/gdb/mn10300-tdep.c	2004-08-02 22:02:22.000000000 -0400 -+++ gdb-6.3/gdb/mn10300-tdep.c	2004-11-09 22:51:07.356239776 -0500 -@@ -1154,7 +1154,7 @@ mn10300_print_register (const char *name -     printf_filtered ("%s: ", name); -  -   /* Get the data */ --  if (!frame_register_read (deprecated_selected_frame, regnum, raw_buffer)) -+  if (!frame_register_read (get_selected_frame (), regnum, raw_buffer)) -     { -       printf_filtered ("[invalid]"); -       return; -Index: gdb-6.3/gdb/stack.c -=================================================================== ---- gdb-6.3.orig/gdb/stack.c	2004-08-02 20:57:26.000000000 -0400 -+++ gdb-6.3/gdb/stack.c	2004-11-09 22:51:07.361238800 -0500 -@@ -758,9 +758,7 @@ parse_frame_specification (char *frame_e -   switch (numargs) -     { -     case 0: --      if (deprecated_selected_frame == NULL) --	error ("No selected frame."); --      return deprecated_selected_frame; -+      return get_selected_frame (); -       /* NOTREACHED */ -     case 1: -       { -@@ -902,10 +900,10 @@ frame_info (char *addr_exp, int from_tty -     } -   calling_frame_info = get_prev_frame (fi); -  --  if (!addr_exp && frame_relative_level (deprecated_selected_frame) >= 0) -+  if (!addr_exp && frame_relative_level (get_selected_frame ()) >= 0) -     { -       printf_filtered ("Stack level %d, frame at ", --		       frame_relative_level (deprecated_selected_frame)); -+		       frame_relative_level (get_selected_frame ())); -       print_address_numeric (get_frame_base (fi), 1, gdb_stdout); -       printf_filtered (":\n"); -     } -@@ -1445,9 +1443,7 @@ print_frame_label_vars (struct frame_inf - void - locals_info (char *args, int from_tty) - { --  if (!deprecated_selected_frame) --    error ("No frame selected."); --  print_frame_local_vars (deprecated_selected_frame, 0, gdb_stdout); -+  print_frame_local_vars (get_selected_frame (), 0, gdb_stdout); - } -  - static void -@@ -1470,7 +1466,7 @@ catch_info (char *ignore, int from_tty) -       if (!deprecated_selected_frame) - 	error ("No frame selected."); -  --      print_frame_label_vars (deprecated_selected_frame, 0, gdb_stdout); -+      print_frame_label_vars (get_selected_frame (), 0, gdb_stdout); -     } - } -  -@@ -1537,9 +1533,7 @@ print_frame_arg_vars (struct frame_info  - void - args_info (char *ignore, int from_tty) - { --  if (!deprecated_selected_frame) --    error ("No frame selected."); --  print_frame_arg_vars (deprecated_selected_frame, gdb_stdout); -+  print_frame_arg_vars (get_selected_frame (), gdb_stdout); - } -  -  -@@ -1724,7 +1718,7 @@ down_silently_base (char *count_exp) -   if (target_has_stack == 0 || deprecated_selected_frame == 0) -     error ("No stack."); -  --  frame = find_relative_frame (deprecated_selected_frame, &count1); -+  frame = find_relative_frame (get_selected_frame (), &count1); -   if (count1 != 0 && count_exp == 0) -     { -  -@@ -1944,7 +1938,7 @@ func_command (char *arg, int from_tty) -  -   if (!found) -     printf_filtered ("'%s' not within current stack frame.\n", arg); --  else if (fp != deprecated_selected_frame) -+  else if (fp != get_selected_frame ()) -     select_and_print_frame (fp); - } -  -@@ -1965,7 +1959,7 @@ get_frame_language (void) -          instruction of another function.  So we rely on -          get_frame_address_in_block(), it provides us with a PC which is -          guaranteed to be inside the frame's code block.  */ --      s = find_pc_symtab (get_frame_address_in_block (deprecated_selected_frame)); -+      s = find_pc_symtab (get_frame_address_in_block (get_selected_frame ())); -       if (s) - 	flang = s->language; -       else -Index: gdb-6.3/gdb/tui/tui-disasm.c -=================================================================== ---- gdb-6.3.orig/gdb/tui/tui-disasm.c	2004-02-24 20:10:01.000000000 -0500 -+++ gdb-6.3/gdb/tui/tui-disasm.c	2004-11-09 22:51:07.370237044 -0500 -@@ -382,7 +382,7 @@ tui_vertical_disassem_scroll (enum tui_s -  -       content = (tui_win_content) TUI_DISASM_WIN->generic.content; -       if (cursal.symtab == (struct symtab *) NULL) --	s = find_pc_symtab (get_frame_pc (deprecated_selected_frame)); -+	s = find_pc_symtab (get_frame_pc (get_selected_frame ())); -       else - 	s = cursal.symtab; -  -Index: gdb-6.3/gdb/tui/tui-source.c -=================================================================== ---- gdb-6.3.orig/gdb/tui/tui-source.c	2004-02-16 16:05:09.000000000 -0500 -+++ gdb-6.3/gdb/tui/tui-source.c	2004-11-09 22:51:07.370237044 -0500 -@@ -326,7 +326,7 @@ tui_vertical_source_scroll (enum tui_scr -       struct symtab_and_line cursal = get_current_source_symtab_and_line (); -  -       if (cursal.symtab == (struct symtab *) NULL) --	s = find_pc_symtab (get_frame_pc (deprecated_selected_frame)); -+	s = find_pc_symtab (get_frame_pc (get_selected_frame ())); -       else - 	s = cursal.symtab; -  -Index: gdb-6.3/gdb/tui/tui-winsource.c -=================================================================== ---- gdb-6.3.orig/gdb/tui/tui-winsource.c	2004-02-16 16:05:09.000000000 -0500 -+++ gdb-6.3/gdb/tui/tui-winsource.c	2004-11-09 22:51:07.371236848 -0500 -@@ -311,7 +311,7 @@ tui_horizontal_source_scroll (struct tui -       struct symtab_and_line cursal = get_current_source_symtab_and_line (); -  -       if (cursal.symtab == (struct symtab *) NULL) --	s = find_pc_symtab (get_frame_pc (deprecated_selected_frame)); -+	s = find_pc_symtab (get_frame_pc (get_selected_frame ())); -       else - 	s = cursal.symtab; -  -Index: gdb-6.3/gdb/valops.c -=================================================================== ---- gdb-6.3.orig/gdb/valops.c	2004-09-13 23:01:48.000000000 -0400 -+++ gdb-6.3/gdb/valops.c	2004-11-09 22:51:07.374236263 -0500 -@@ -2663,15 +2663,10 @@ value_of_local (const char *name, int co -   struct block *b; -   struct value * ret; -  --  if (deprecated_selected_frame == 0) --    { --      if (complain) --	error ("no frame selected"); --      else --	return 0; --    } -+  if (!complain && deprecated_selected_frame == 0) -+    return 0; -  --  func = get_frame_function (deprecated_selected_frame); -+  func = get_frame_function (get_selected_frame ()); -   if (!func) -     { -       if (complain) -@@ -2700,7 +2695,7 @@ value_of_local (const char *name, int co - 	return NULL; -     } -  --  ret = read_var_value (sym, deprecated_selected_frame); -+  ret = read_var_value (sym, get_selected_frame ()); -   if (ret == 0 && complain) -     error ("`%s' argument unreadable", name); -   return ret; -Index: gdb-6.3/gdb/varobj.c -=================================================================== ---- gdb-6.3.orig/gdb/varobj.c	2004-07-26 10:53:06.000000000 -0400 -+++ gdb-6.3/gdb/varobj.c	2004-11-09 22:51:07.377235677 -0500 -@@ -488,7 +488,7 @@ varobj_create (char *objname, -       if (fi != NULL) - 	{ - 	  var->root->frame = get_frame_id (fi); --	  old_fi = deprecated_selected_frame; -+	  old_fi = get_selected_frame (); - 	  select_frame (fi); - 	} -  -Index: gdb-6.3/gdb/testsuite/gdb.base/default.exp -=================================================================== ---- gdb-6.3.orig/gdb/testsuite/gdb.base/default.exp	2003-03-20 09:45:50.000000000 -0500 -+++ gdb-6.3/gdb/testsuite/gdb.base/default.exp	2004-11-09 22:51:07.379235287 -0500 -@@ -167,7 +167,7 @@ gdb_test "disable breakpoints" "" "disab - #test disable display - gdb_test "disable display" "" "disable display" - #test disassemble --gdb_test "disassemble" "No frame selected." "disassemble" -+gdb_test "disassemble" "No (frame selected|registers)." "disassemble" - #test display - gdb_test "display" "" "display" - #test do -@@ -229,9 +229,9 @@ gdb_expect { - } -  - #test frame "f" abbreviation --gdb_test "f" "No stack." "frame \"f\" abbreviation" -+gdb_test "f" "No (stack|registers)." "frame \"f\" abbreviation" - #test frame --gdb_test "frame" "No stack." "frame" -+gdb_test "frame" "No (stack|registers)." "frame" - #test fg - gdb_test "fg" "The program is not being run." "fg" - # FIXME: fg kills the udi connection -@@ -294,9 +294,9 @@ gdb_test "ignore" "Argument required .a  - #test info address - gdb_test "info address" "Argument required." "info address" - #test info all-registers --gdb_test "info all-registers" "The program has no registers now." "info all-registers" -+gdb_test "info all-registers" "(The program has no registers now|No registers)." "info all-registers" - #test info args --gdb_test "info args" "No frame selected." "info args" -+gdb_test "info args" "No (frame selected|registers)." "info args" - #test info bogus-gdb-command - gdb_test "info bogus-gdb-command" "Undefined info command: \"bogus-gdb-command\".  Try \"help info\".*" "info bogus-gdb-command" - #test info breakpoints -@@ -320,11 +320,11 @@ gdb_test "info frame" "No stack.|No sele - #test info files - gdb_test "info files" "" "info files" - #test info float --gdb_test "info float" "The program has no registers now." "info float" -+gdb_test "info float" "(The program has no registers now|No registers)." "info float" - #test info functions - gdb_test "info functions" "All defined functions:" "info functions" - #test info locals --gdb_test "info locals" "No frame selected." "info locals" -+gdb_test "info locals" "(No frame selected|No registers)." "info locals" - #test info program - gdb_test "info program" "The program being debugged is not being run." "info program" - #test info registers -@@ -352,7 +352,7 @@ gdb_test "info types" "All defined types - #test info variables - gdb_test "info variables" "All defined variables:" "info variables" - #test info vector --gdb_test "info vector" "The program has no registers now." "info vector" -+gdb_test "info vector" "(The program has no registers now|No registers)." "info vector" - #test info warranty - gdb_test "info warranty" "NO WARRANTY(\[^\r\n\]*\[\r\n\])+  *11.  *BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY(\[^\r\n\]*\[\r\n\])+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN(\[^\r\n\]*\[\r\n\])+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES(\[^\r\n\]*\[\r\n\])+PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED(\[^\r\n\]*\[\r\n\])+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF(\[^\r\n\]*\[\r\n\])+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS(\[^\r\n\]*\[\r\n\])+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE(\[^\r\n\]*\[\r\n\])+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,(\[^\r\n\]*\[\r\n\])+REPAIR OR CORRECTION.(\[^\r\n\]*\[\r\n\])+  *12.  *IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING(\[^\r\n\]*\[\r\n\])+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR(\[^\r\n\]*\[\r\n\])+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,(\[^\r\n\]*\[\r\n\])+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING(\[^\r\n\]*\[\r\n\])+OUT OF THE USE OR INABILITY TO USE THE PROGRAM .INCLUDING BUT NOT LIMITED(\[^\r\n\]*\[\r\n\])+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY(\[^\r\n\]*\[\r\n\])+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER(\[^\r\n\]*\[\r\n\])+PROGRAMS., EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE(\[^\r\n\]*\[\r\n\])+POSSIBILITY OF SUCH DAMAGES.*" "info warranty" - #test info watchpoints diff --git a/toolchain/gdb/6.3/620-debian_static-thread-db.patch b/toolchain/gdb/6.3/620-debian_static-thread-db.patch deleted file mode 100644 index c5ac5a623..000000000 --- a/toolchain/gdb/6.3/620-debian_static-thread-db.patch +++ /dev/null @@ -1,156 +0,0 @@ -Status: submitted similar patch 2004-12-08 - -This patch cleans up the initialization of thread_db.  It works for static -binaries now.  The vsyscall patches hide this problem, since new static -binaries will load the vsyscall DSO and then trigger thread_db; but -this is still a good cleanup. - -Index: gdb-6.3/gdb/thread-db.c -=================================================================== ---- gdb-6.3.orig/gdb/thread-db.c	2004-10-08 16:29:56.000000000 -0400 -+++ gdb-6.3/gdb/thread-db.c	2004-11-10 00:19:30.626530413 -0500 -@@ -34,6 +34,7 @@ - #include "target.h" - #include "regcache.h" - #include "solib-svr4.h" -+#include "observer.h" -  - #ifdef HAVE_GNU_LIBC_VERSION_H - #include <gnu/libc-version.h> -@@ -627,59 +628,49 @@ check_thread_signals (void) - #endif - } -  -+/* Check whether thread_db is usable.  This function is called when -+   an inferior is created (or otherwise acquired, e.g. attached to) -+   and when new shared libraries are loaded into a running process.  */ -+ - static void --thread_db_new_objfile (struct objfile *objfile) -+check_for_thread_db (void) - { -   td_err_e err; -+  static int already_loaded; -  -   /* First time through, report that libthread_db was successfuly -      loaded.  Can't print this in in thread_db_load as, at that stage, --     the interpreter and it's console haven't started.  The real --     problem here is that libthread_db is loaded too early - it should --     only be loaded when there is a program to debug.  */ --  { --    static int dejavu; --    if (!dejavu) --      { --	Dl_info info; --	const char *library = NULL; --	/* Try dladdr.  */ --	if (dladdr ((*td_ta_new_p), &info) != 0) --	  library = info.dli_fname; --	/* Try dlinfo?  */ --	if (library == NULL) --	  /* Paranoid - don't let a NULL path slip through.  */ --	  library = LIBTHREAD_DB_SO; --	printf_unfiltered ("Using host libthread_db library \"%s\".\n", --			   library); --	dejavu = 1; --      } --  } -+     the interpreter and it's console haven't started.  */ -  --  /* Don't attempt to use thread_db on targets which can not run --     (core files).  */ --  if (objfile == NULL || !target_has_execution) -+  if (!already_loaded) -     { --      /* All symbols have been discarded.  If the thread_db target is --         active, deactivate it now.  */ --      if (using_thread_db) --	{ --	  gdb_assert (proc_handle.pid == 0); --	  unpush_target (&thread_db_ops); --	  using_thread_db = 0; --	} -+      Dl_info info; -+      const char *library = NULL; -+      if (dladdr ((*td_ta_new_p), &info) != 0) -+	library = info.dli_fname; -+ -+      /* Try dlinfo?  */ -  --      goto quit; -+      if (library == NULL) -+	/* Paranoid - don't let a NULL path slip through.  */ -+	library = LIBTHREAD_DB_SO; -+ -+      printf_unfiltered ("Using host libthread_db library \"%s\".\n", -+			 library); -+      already_loaded = 1; -     } -  -   if (using_thread_db) -     /* Nothing to do.  The thread library was already detected and the -        target vector was already activated.  */ --    goto quit; -+    return; -+ -+  /* Don't attempt to use thread_db on targets which can not run -+     (executables not running yet, core files) for now.  */ -+  if (!target_has_execution) -+    return; -  --  /* Initialize the structure that identifies the child process.  Note --     that at this point there is no guarantee that we actually have a --     child process.  */ -+  /* Initialize the structure that identifies the child process.  */ -   proc_handle.pid = GET_PID (inferior_ptid); -  -   /* Now attempt to open a connection to the thread library.  */ -@@ -706,12 +697,24 @@ thread_db_new_objfile (struct objfile *o - 	       thread_db_err_str (err)); -       break; -     } -+} -+ -+static void -+thread_db_new_objfile (struct objfile *objfile) -+{ -+  if (objfile != NULL) -+    check_for_thread_db (); -  --quit: -   if (target_new_objfile_chain) -     target_new_objfile_chain (objfile); - } -  -+static void -+check_for_thread_db_observer (struct target_ops *target, int from_tty) -+{ -+  check_for_thread_db (); -+} -+ - /* Attach to a new thread.  This function is called when we receive a -    TD_CREATE event or when we iterate over all threads and find one -    that wasn't already in our list.  */ -@@ -1366,5 +1369,8 @@ _initialize_thread_db (void) -       /* Add ourselves to objfile event chain.  */ -       target_new_objfile_chain = deprecated_target_new_objfile_hook; -       deprecated_target_new_objfile_hook = thread_db_new_objfile; -+ -+      /* Register ourselves for the new inferior observer.  */ -+      observer_attach_inferior_created (check_for_thread_db_observer); -     } - } -Index: gdb-6.3/gdb/Makefile.in -=================================================================== ---- gdb-6.3.orig/gdb/Makefile.in	2004-11-09 23:04:57.000000000 -0500 -+++ gdb-6.3/gdb/Makefile.in	2004-11-10 00:19:26.440347022 -0500 -@@ -2626,7 +2626,8 @@ thread.o: thread.c $(defs_h) $(symtab_h) - 	$(gdbcmd_h) $(regcache_h) $(gdb_h) $(gdb_string_h) $(ui_out_h) - thread-db.o: thread-db.c $(defs_h) $(gdb_assert_h) $(gdb_proc_service_h) \ - 	$(gdb_thread_db_h) $(bfd_h) $(gdbthread_h) $(inferior_h) \ --	$(symfile_h) $(objfiles_h) $(target_h) $(regcache_h) $(solib_svr4_h) -+	$(symfile_h) $(objfiles_h) $(target_h) $(regcache_h) $(solib_svr4_h) \ -+	$(observer_h) - top.o: top.c $(defs_h) $(gdbcmd_h) $(call_cmds_h) $(cli_cmds_h) \ - 	$(cli_script_h) $(cli_setshow_h) $(cli_decode_h) $(symtab_h) \ - 	$(inferior_h) $(target_h) $(breakpoint_h) $(gdbtypes_h) \ diff --git a/toolchain/gdb/6.3/630-debian_24.tracepoint-segv.patch b/toolchain/gdb/6.3/630-debian_24.tracepoint-segv.patch deleted file mode 100644 index d038ff8ec..000000000 --- a/toolchain/gdb/6.3/630-debian_24.tracepoint-segv.patch +++ /dev/null @@ -1,15 +0,0 @@ -Trivial.  Still need to submit this. - -Index: gdb-6.1/gdb/tracepoint.c -=================================================================== ---- gdb-6.1.orig/gdb/tracepoint.c	2004-04-05 13:26:43.000000000 -0400 -+++ gdb-6.1/gdb/tracepoint.c	2004-04-05 13:26:45.000000000 -0400 -@@ -853,6 +853,8 @@ read_actions (struct tracepoint *t) -       else - 	line = gdb_readline (0); -  -+      if (line == NULL || *line == EOF) -+	break; -       linetype = validate_actionline (&line, t); -       if (linetype == BADLINE) - 	continue;		/* already warned -- collect another line */ diff --git a/toolchain/gdb/6.3/640-debian_dwarf2-frame-signal-unwinder.patch b/toolchain/gdb/6.3/640-debian_dwarf2-frame-signal-unwinder.patch deleted file mode 100644 index 246427ee6..000000000 --- a/toolchain/gdb/6.3/640-debian_dwarf2-frame-signal-unwinder.patch +++ /dev/null @@ -1,120 +0,0 @@ -Status: Checked in to HEAD after 6.3. - -2004-11-07  Daniel Jacobowitz  <dan@debian.org> - -	* dwarf2-frame.c (struct dwarf2_frame_ops): Add signal_frame_p. -	(dwarf2_frame_set_signal_frame_p, dwarf2_frame_signal_frame_p) -	(dwarf2_signal_frame_unwind): New. -	(dwarf2_frame_sniffer): Use dwarf2_frame_signal_frame_p. -	* dwarf2-frame.h (dwarf2_frame_set_signal_frame_p): New prototype. - -Index: src/gdb/dwarf2-frame.c -=================================================================== -RCS file: /big/fsf/rsync/src-cvs/src/gdb/dwarf2-frame.c,v -retrieving revision 1.41 -diff -u -p -r1.41 dwarf2-frame.c ---- src/gdb/dwarf2-frame.c	4 Nov 2004 21:15:15 -0000	1.41 -+++ src/gdb/dwarf2-frame.c	7 Nov 2004 17:41:58 -0000 -@@ -471,6 +471,10 @@ struct dwarf2_frame_ops - { -   /* Pre-initialize the register state REG for register REGNUM.  */ -   void (*init_reg) (struct gdbarch *, int, struct dwarf2_frame_state_reg *); -+ -+  /* Check whether the frame preceding NEXT_FRAME will be a signal -+     trampoline.  */ -+  int (*signal_frame_p) (struct gdbarch *, struct frame_info *); - }; -  - /* Default architecture-specific register state initialization -@@ -547,6 +551,33 @@ dwarf2_frame_init_reg (struct gdbarch *g -  -   ops->init_reg (gdbarch, regnum, reg); - } -+ -+/* Set the architecture-specific signal trampoline recognition -+   function for GDBARCH to SIGNAL_FRAME_P.  */ -+ -+void -+dwarf2_frame_set_signal_frame_p (struct gdbarch *gdbarch, -+				 int (*signal_frame_p) (struct gdbarch *, -+							struct frame_info *)) -+{ -+  struct dwarf2_frame_ops *ops = gdbarch_data (gdbarch, dwarf2_frame_data); -+ -+  ops->signal_frame_p = signal_frame_p; -+} -+ -+/* Query the architecture-specific signal frame recognizer for -+   NEXT_FRAME.  */ -+ -+static int -+dwarf2_frame_signal_frame_p (struct gdbarch *gdbarch, -+			     struct frame_info *next_frame) -+{ -+  struct dwarf2_frame_ops *ops = gdbarch_data (gdbarch, dwarf2_frame_data); -+ -+  if (ops->signal_frame_p == NULL) -+    return 0; -+  return ops->signal_frame_p (gdbarch, next_frame); -+} -  -  - struct dwarf2_frame_cache -@@ -841,6 +872,13 @@ static const struct frame_unwind dwarf2_ -   dwarf2_frame_prev_register - }; -  -+static const struct frame_unwind dwarf2_signal_frame_unwind = -+{ -+  SIGTRAMP_FRAME, -+  dwarf2_frame_this_id, -+  dwarf2_frame_prev_register -+}; -+ - const struct frame_unwind * - dwarf2_frame_sniffer (struct frame_info *next_frame) - { -@@ -848,10 +886,18 @@ dwarf2_frame_sniffer (struct frame_info  -      function.  frame_pc_unwind(), for a no-return next function, can -      end up returning something past the end of this function's body.  */ -   CORE_ADDR block_addr = frame_unwind_address_in_block (next_frame); --  if (dwarf2_frame_find_fde (&block_addr)) --    return &dwarf2_frame_unwind; -+  if (!dwarf2_frame_find_fde (&block_addr)) -+    return NULL; -  --  return NULL; -+  /* On some targets, signal trampolines may have unwind information. -+     We need to recognize them so that we set the frame type -+     correctly.  */ -+ -+  if (dwarf2_frame_signal_frame_p (get_frame_arch (next_frame), -+				   next_frame)) -+    return &dwarf2_signal_frame_unwind; -+ -+  return &dwarf2_frame_unwind; - } -  -  -Index: src/gdb/dwarf2-frame.h -=================================================================== -RCS file: /big/fsf/rsync/src-cvs/src/gdb/dwarf2-frame.h,v -retrieving revision 1.6 -diff -u -p -r1.6 dwarf2-frame.h ---- src/gdb/dwarf2-frame.h	28 Feb 2004 16:59:32 -0000	1.6 -+++ src/gdb/dwarf2-frame.h	7 Nov 2004 17:40:41 -0000 -@@ -79,6 +79,14 @@ extern void dwarf2_frame_set_init_reg (s - 				       void (*init_reg) (struct gdbarch *, int, - 					     struct dwarf2_frame_state_reg *)); -  -+/* Set the architecture-specific signal trampoline recognition -+   function for GDBARCH to SIGNAL_FRAME_P.  */ -+ -+extern void -+  dwarf2_frame_set_signal_frame_p (struct gdbarch *gdbarch, -+				   int (*signal_frame_p) (struct gdbarch *, -+							  struct frame_info *)); -+ - /* Return the frame unwind methods for the function that contains PC, -    or NULL if it can't be handled by DWARF CFI frame unwinder.  */ -  diff --git a/toolchain/gdb/6.3/650-debian_vsyscall-gdb-support.patch b/toolchain/gdb/6.3/650-debian_vsyscall-gdb-support.patch deleted file mode 100644 index e725f9c54..000000000 --- a/toolchain/gdb/6.3/650-debian_vsyscall-gdb-support.patch +++ /dev/null @@ -1,245 +0,0 @@ -Status: Checked in to HEAD after 6.3. - -2004-11-07  Andrew Cagney  <cagney@redhat.com> -	    Daniel Jacobowitz  <dan@debian.org> -	    Roland McGrath  <roland@redhat.com> - -	* Makefile.in (symfile-mem.o): Update dependencies. -	* i386-linux-tdep.c (i386_linux_dwarf_signal_frame_p): New. -	(i386_linux_init_abi): Call dwarf2_frame_set_signal_frame_p. -	* inf-ptrace.c (inf_ptrace_attach): Call -	observer_notify_inferior_created. -	* inftarg.c (child_attach): Likewise. -	* symfile-mem.c: Include "observer.h", "auxv.h", and "elf/common.h". -	(symbol_file_add_from_memory): Take NAME argument.  Use it for -	the new BFD's filename. -	(add_symbol_file_from_memory_command): Update call to -	symbol_file_add_from_memory. -	(struct symbol_file_add_from_memory_args, add_vsyscall_page) -	(symbol_file_add_from_memory_wrapper): New. -	(_initialize_symfile_mem): Register add_vsyscall_page as an -	inferior_created observer. - -Index: gdb-6.3/gdb/i386-linux-tdep.c -=================================================================== ---- gdb-6.3.orig/gdb/i386-linux-tdep.c	2004-08-06 16:58:28.000000000 -0400 -+++ gdb-6.3/gdb/i386-linux-tdep.c	2004-11-10 00:55:06.669398770 -0500 -@@ -27,6 +27,7 @@ - #include "inferior.h" - #include "osabi.h" - #include "reggroups.h" -+#include "dwarf2-frame.h" -  - #include "gdb_string.h" -  -@@ -244,6 +245,27 @@ i386_linux_sigtramp_p (struct frame_info - 	  || strcmp ("__restore_rt", name) == 0); - } -  -+/* Return one if the unwound PC from NEXT_FRAME is in a signal trampoline -+   which may have DWARF-2 CFI.  */ -+ -+static int -+i386_linux_dwarf_signal_frame_p (struct gdbarch *gdbarch, -+				 struct frame_info *next_frame) -+{ -+  CORE_ADDR pc = frame_pc_unwind (next_frame); -+  char *name; -+ -+  find_pc_partial_function (pc, &name, NULL, NULL); -+ -+  /* If a vsyscall DSO is in use, the signal trampolines may have these -+     names.  */ -+  if (name && (strcmp (name, "__kernel_sigreturn") == 0 -+	       || strcmp (name, "__kernel_rt_sigreturn") == 0)) -+    return 1; -+ -+  return 0; -+} -+ - /* Offset to struct sigcontext in ucontext, from <asm/ucontext.h>.  */ - #define I386_LINUX_UCONTEXT_SIGCONTEXT_OFFSET 20 -  -@@ -414,6 +436,8 @@ i386_linux_init_abi (struct gdbarch_info -  -   /* GNU/Linux uses the dynamic linker included in the GNU C Library.  */ -   set_gdbarch_skip_solib_resolver (gdbarch, glibc_skip_solib_resolver); -+ -+  dwarf2_frame_set_signal_frame_p (gdbarch, i386_linux_dwarf_signal_frame_p); - } -  - /* Provide a prototype to silence -Wmissing-prototypes.  */ -Index: gdb-6.3/gdb/inf-ptrace.c -=================================================================== ---- gdb-6.3.orig/gdb/inf-ptrace.c	2004-10-15 09:29:33.000000000 -0400 -+++ gdb-6.3/gdb/inf-ptrace.c	2004-11-10 00:53:43.697615843 -0500 -@@ -220,6 +220,10 @@ inf_ptrace_attach (char *args, int from_ -  -   inferior_ptid = pid_to_ptid (pid); -   push_target (ptrace_ops_hack); -+ -+  /* Do this first, before anything has had a chance to query the -+     inferior's symbol table or similar.  */ -+  observer_notify_inferior_created (¤t_target, from_tty); - } -  - static void -Index: gdb-6.3/gdb/inftarg.c -=================================================================== ---- gdb-6.3.orig/gdb/inftarg.c	2004-10-08 16:29:47.000000000 -0400 -+++ gdb-6.3/gdb/inftarg.c	2004-11-10 00:53:43.711613107 -0500 -@@ -211,6 +211,10 @@ child_attach (char *args, int from_tty) -    -   inferior_ptid = pid_to_ptid (pid); -   push_target (&deprecated_child_ops); -+ -+  /* Do this first, before anything has had a chance to query the -+     inferior's symbol table or similar.  */ -+  observer_notify_inferior_created (¤t_target, from_tty); - } -  - #if !defined(CHILD_POST_ATTACH) -Index: gdb-6.3/gdb/symfile-mem.c -=================================================================== ---- gdb-6.3.orig/gdb/symfile-mem.c	2004-07-17 10:24:07.000000000 -0400 -+++ gdb-6.3/gdb/symfile-mem.c	2004-11-10 00:53:43.722610958 -0500 -@@ -52,13 +52,19 @@ - #include "target.h" - #include "value.h" - #include "symfile.h" -+#include "observer.h" -+#include "auxv.h" -+#include "elf/common.h" -  -  - /* Read inferior memory at ADDR to find the header of a loaded object file -    and read its in-core symbols out of inferior memory.  TEMPL is a bfd --   representing the target's format.  */ -+   representing the target's format.  NAME is the name to use for this -+   symbol file in messages; it can be NULL or a malloc-allocated string -+   which will be attached to the BFD.  */ - static struct objfile * --symbol_file_add_from_memory (struct bfd *templ, CORE_ADDR addr, int from_tty) -+symbol_file_add_from_memory (struct bfd *templ, CORE_ADDR addr, char *name, -+			     int from_tty) - { -   struct objfile *objf; -   struct bfd *nbfd; -@@ -75,7 +81,10 @@ symbol_file_add_from_memory (struct bfd  -   if (nbfd == NULL) -     error ("Failed to read a valid object file image from memory."); -  --  nbfd->filename = xstrdup ("shared object read from target memory"); -+  if (name == NULL) -+    nbfd->filename = xstrdup ("shared object read from target memory"); -+  else -+    nbfd->filename = name; -  -   if (!bfd_check_format (nbfd, bfd_object)) -     { -@@ -129,7 +138,73 @@ add_symbol_file_from_memory_command (cha -     error ("\ - Must use symbol-file or exec-file before add-symbol-file-from-memory."); -  --  symbol_file_add_from_memory (templ, addr, from_tty); -+  symbol_file_add_from_memory (templ, addr, NULL, from_tty); -+} -+ -+/* Arguments for symbol_file_add_from_memory_wrapper.  */ -+ -+struct symbol_file_add_from_memory_args -+{ -+  struct bfd *bfd; -+  CORE_ADDR sysinfo_ehdr; -+  char *name; -+  int from_tty; -+}; -+ -+/* Wrapper function for symbol_file_add_from_memory, for -+   catch_exceptions.  */ -+ -+static int -+symbol_file_add_from_memory_wrapper (struct ui_out *uiout, void *data) -+{ -+  struct symbol_file_add_from_memory_args *args = data; -+ -+  symbol_file_add_from_memory (args->bfd, args->sysinfo_ehdr, args->name, -+			       args->from_tty); -+  return 0; -+} -+ -+/* Try to add the symbols for the vsyscall page, if there is one.  This function -+   is called via the inferior_created observer.  */ -+ -+static void -+add_vsyscall_page (struct target_ops *target, int from_tty) -+{ -+  CORE_ADDR sysinfo_ehdr; -+ -+  if (target_auxv_search (target, AT_SYSINFO_EHDR, &sysinfo_ehdr) > 0 -+      && sysinfo_ehdr != (CORE_ADDR) 0) -+    { -+      struct bfd *bfd; -+      struct symbol_file_add_from_memory_args args; -+ -+      if (core_bfd != NULL) -+	bfd = core_bfd; -+      else if (exec_bfd != NULL) -+	bfd = exec_bfd; -+      else -+       /* FIXME: cagney/2004-05-06: Should not require an existing -+	  BFD when trying to create a run-time BFD of the VSYSCALL -+	  page in the inferior.  Unfortunately that's the current -+	  interface so for the moment bail.  Introducing a -+	  ``bfd_runtime'' (a BFD created using the loaded image) file -+	  format should fix this.  */ -+	{ -+	  warning ("could not load vsyscall page because no executable was specified"); -+	  warning ("try using the \"file\" command first"); -+	  return; -+	} -+      args.bfd = bfd; -+      args.sysinfo_ehdr = sysinfo_ehdr; -+      xasprintf (&args.name, "system-supplied DSO at 0x%s", -+		 paddr_nz (sysinfo_ehdr)); -+      /* Pass zero for FROM_TTY, because the action of loading the -+	 vsyscall DSO was not triggered by the user, even if the user -+	 typed "run" at the TTY.  */ -+      args.from_tty = 0; -+      catch_exceptions (uiout, symbol_file_add_from_memory_wrapper, -+			&args, NULL, RETURN_MASK_ALL); -+    } - } -  -  -@@ -143,4 +218,7 @@ Load the symbols out of memory from a dy - Give an expression for the address of the file's shared object file header.", -            &cmdlist); -  -+  /* Want to know of each new inferior so that its vsyscall info can -+     be extracted.  */ -+  observer_attach_inferior_created (add_vsyscall_page); - } -Index: gdb-6.3/gdb/Makefile.in -=================================================================== ---- gdb-6.3.orig/gdb/Makefile.in	2004-11-10 00:29:00.000000000 -0500 -+++ gdb-6.3/gdb/Makefile.in	2004-11-10 00:54:47.728100986 -0500 -@@ -2020,7 +2020,7 @@ i386-linux-nat.o: i386-linux-nat.c $(def - i386-linux-tdep.o: i386-linux-tdep.c $(defs_h) $(gdbcore_h) $(frame_h) \ - 	$(value_h) $(regcache_h) $(inferior_h) $(osabi_h) $(reggroups_h) \ - 	$(gdb_string_h) $(i386_tdep_h) $(i386_linux_tdep_h) $(glibc_tdep_h) \ --	$(solib_svr4_h) -+	$(solib_svr4_h) $(dwarf2_frame_h) - i386ly-tdep.o: i386ly-tdep.c $(defs_h) $(gdbcore_h) $(inferior_h) \ - 	$(regcache_h) $(target_h) $(osabi_h) $(i386_tdep_h) - i386-nat.o: i386-nat.c $(defs_h) $(breakpoint_h) $(command_h) $(gdbcmd_h) -@@ -2606,7 +2606,8 @@ symfile.o: symfile.c $(defs_h) $(bfdlink - 	$(hashtab_h) $(readline_h) $(gdb_assert_h) $(block_h) \ - 	$(gdb_string_h) $(gdb_stat_h) - symfile-mem.o: symfile-mem.c $(defs_h) $(symtab_h) $(gdbcore_h) \ --	$(objfiles_h) $(gdbcmd_h) $(target_h) $(value_h) $(symfile_h) -+	$(objfiles_h) $(gdbcmd_h) $(target_h) $(value_h) $(symfile_h) \ -+	$(observer_h) $(auxv_h) $(elf_common_h) - symmisc.o: symmisc.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(bfd_h) \ - 	$(symfile_h) $(objfiles_h) $(breakpoint_h) $(command_h) \ - 	$(gdb_obstack_h) $(language_h) $(bcache_h) $(block_h) $(gdb_regex_h) \ diff --git a/toolchain/gdb/6.3/660-debian_dwarf-cfa-restore.patch b/toolchain/gdb/6.3/660-debian_dwarf-cfa-restore.patch deleted file mode 100644 index 8b81cca71..000000000 --- a/toolchain/gdb/6.3/660-debian_dwarf-cfa-restore.patch +++ /dev/null @@ -1,23 +0,0 @@ -Status: Checked in to HEAD after 6.3. - -2004-11-09  Daniel Jacobowitz  <dan@debian.org> - -	* dwarf2-frame.c (dwarf2_frame_state_alloc_regs): Correct allocated -	size. - -Index: src/gdb/dwarf2-frame.c -=================================================================== -RCS file: /cvs/src/src/gdb/dwarf2-frame.c,v -retrieving revision 1.45 -diff -u -p -r1.45 dwarf2-frame.c ---- src/gdb/dwarf2-frame.c	7 Nov 2004 21:16:11 -0000	1.45 -+++ src/gdb/dwarf2-frame.c	9 Nov 2004 14:42:52 -0000 -@@ -162,7 +162,7 @@ dwarf2_frame_state_alloc_regs (struct dw - static struct dwarf2_frame_state_reg * - dwarf2_frame_state_copy_regs (struct dwarf2_frame_state_reg_info *rs) - { --  size_t size = rs->num_regs * sizeof (struct dwarf2_frame_state_reg_info); -+  size_t size = rs->num_regs * sizeof (struct dwarf2_frame_state_reg); -   struct dwarf2_frame_state_reg *reg; -  -   reg = (struct dwarf2_frame_state_reg *) xmalloc (size); diff --git a/toolchain/gdb/6.3/680-debian_sim-destdir.patch b/toolchain/gdb/6.3/680-debian_sim-destdir.patch deleted file mode 100644 index 71f60b5c6..000000000 --- a/toolchain/gdb/6.3/680-debian_sim-destdir.patch +++ /dev/null @@ -1,53 +0,0 @@ -Fix some missing uses of DESTDIR in the sim/ directories.  The Debian -packages use DESTDIR to build. - -%patch -Index: gdb-6.3/sim/Makefile.in -=================================================================== ---- gdb-6.3.orig/sim/Makefile.in	2003-09-03 14:46:52.000000000 -0400 -+++ gdb-6.3/sim/Makefile.in	2004-11-10 00:39:25.381315738 -0500 -@@ -93,6 +93,7 @@ FLAGS_TO_PASS = \ - 	"CC=$(CC)" \ - 	"CC_FOR_BUILD=$(CC_FOR_BUILD)" \ - 	"CFLAGS=$(CFLAGS)" \ -+	"DESTDIR=$(DESTDIR)" \ - 	"RANLIB=$(RANLIB)" \ - 	"MAKEINFO=$(MAKEINFO)" \ - 	"INSTALL=$(INSTALL)" \ -Index: gdb-6.3/sim/common/Make-common.in -=================================================================== ---- gdb-6.3.orig/sim/common/Make-common.in	2003-09-08 13:24:59.000000000 -0400 -+++ gdb-6.3/sim/common/Make-common.in	2004-11-10 00:39:25.383315347 -0500 -@@ -581,14 +581,14 @@ install: install-common $(SIM_EXTRA_INST -  - install-common: installdirs - 	n=`echo run | sed '$(program_transform_name)'`; \ --	$(INSTALL_PROGRAM) run$(EXEEXT) $(bindir)/$$n$(EXEEXT) -+	$(INSTALL_PROGRAM) run$(EXEEXT) $(DESTDIR)$(bindir)/$$n$(EXEEXT) - 	n=`echo libsim.a | sed s/libsim.a/lib$(target_alias)-sim.a/`; \ --	$(INSTALL_DATA) libsim.a $(libdir)/$$n ; \ --	( cd $(libdir) ; $(RANLIB) $$n ) -+	$(INSTALL_DATA) libsim.a $(DESTDIR)$(libdir)/$$n ; \ -+	( cd $(DESTDIR)$(libdir) ; $(RANLIB) $$n ) -  - installdirs: --	$(SHELL) $(srcdir)/../../mkinstalldirs $(bindir) --	$(SHELL) $(srcdir)/../../mkinstalldirs $(libdir) -+	$(SHELL) $(srcdir)/../../mkinstalldirs $(DESTDIR)$(bindir) -+	$(SHELL) $(srcdir)/../../mkinstalldirs $(DESTDIR)$(libdir) -  - check: - 	cd ../testsuite && $(MAKE) check RUNTESTFLAGS="$(RUNTESTFLAGS)" -Index: gdb-6.3/sim/erc32/Makefile.in -=================================================================== ---- gdb-6.3.orig/sim/erc32/Makefile.in	2000-03-07 10:32:49.000000000 -0500 -+++ gdb-6.3/sim/erc32/Makefile.in	2004-11-10 00:39:25.385314957 -0500 -@@ -53,7 +53,7 @@ end.h: end - # Copy the files into directories where they will be run. - install-sis: installdirs - 	n=`echo sis | sed '$(program_transform_name)'`; \ --	$(INSTALL_PROGRAM) sis$(EXEEXT) $(bindir)/$$n$(EXEEXT) -+	$(INSTALL_PROGRAM) sis$(EXEEXT) $(DESTDIR)$(bindir)/$$n$(EXEEXT) -  - clean-sis: - 	rm -f sis end end.h diff --git a/toolchain/gdb/6.3/690-debian_member-field-symtab.patch b/toolchain/gdb/6.3/690-debian_member-field-symtab.patch deleted file mode 100644 index 4f5fb45c3..000000000 --- a/toolchain/gdb/6.3/690-debian_member-field-symtab.patch +++ /dev/null @@ -1,35 +0,0 @@ -Status: unsubmitted - -This patch was for Debian bug #239535.  It needs to be tested, and -submitted. - -Index: gdb-6.3/gdb/valops.c -=================================================================== ---- gdb-6.3.orig/gdb/valops.c	2004-11-09 22:51:07.000000000 -0500 -+++ gdb-6.3/gdb/valops.c	2004-11-10 00:43:54.036837699 -0500 -@@ -2314,8 +2314,10 @@ check_field_in (struct type *type, const - 	return 1; -     } -  -+  /* Check each baseclass.  Call check_typedef, which will follow typedefs -+     and do opaque/stub type resolution.  */ -   for (i = TYPE_N_BASECLASSES (type) - 1; i >= 0; i--) --    if (check_field_in (TYPE_BASECLASS (type, i), name)) -+    if (check_field_in (check_typedef (TYPE_BASECLASS (type, i)), name)) -       return 1; -  -   return 0; -Index: gdb-6.3/gdb/dwarf2read.c -=================================================================== ---- gdb-6.3.orig/gdb/dwarf2read.c	2004-10-15 20:41:00.000000000 -0400 -+++ gdb-6.3/gdb/dwarf2read.c	2004-11-10 00:46:21.970935829 -0500 -@@ -2099,8 +2099,8 @@ guess_structure_name (struct partial_die - 				    strlen (actual_class_name), - 				    &cu->comp_unit_obstack); - 		  xfree (actual_class_name); -+		  break; - 		} --	      break; - 	    } -  - 	  child_pdi = child_pdi->die_sibling; diff --git a/toolchain/gdb/6.3/700-debian_cp-pass-by-reference.patch b/toolchain/gdb/6.3/700-debian_cp-pass-by-reference.patch deleted file mode 100644 index 666d34342..000000000 --- a/toolchain/gdb/6.3/700-debian_cp-pass-by-reference.patch +++ /dev/null @@ -1,464 +0,0 @@ -This patch needs to be submitted for the FSF.  Also, there may be testcases -already in the GDB testsuite (currently disabled) that it would probably fix. - -Index: gdb-6.3/gdb/infcall.c -=================================================================== ---- gdb-6.3.orig/gdb/infcall.c	2004-10-08 04:15:56.000000000 -0400 -+++ gdb-6.3/gdb/infcall.c	2004-11-10 12:30:07.000000000 -0500 -@@ -36,6 +36,7 @@ - #include "gdb_string.h" - #include "infcall.h" - #include "dummy-frame.h" -+#include "cp-abi.h" -  - /* NOTE: cagney/2003-04-16: What's the future of this code? -  -@@ -297,8 +298,8 @@ call_function_by_hand (struct value *fun - { -   CORE_ADDR sp; -   CORE_ADDR dummy_addr; --  struct type *value_type; --  unsigned char struct_return; -+  struct type *value_type, *target_value_type; -+  unsigned char struct_return = 0, cp_struct_return = 0; -   CORE_ADDR struct_addr = 0; -   struct regcache *retbuf; -   struct cleanup *retbuf_cleanup; -@@ -312,6 +313,7 @@ call_function_by_hand (struct value *fun -   struct regcache *caller_regcache; -   struct cleanup *caller_regcache_cleanup; -   struct frame_id dummy_id; -+  struct cleanup *args_cleanup; -  -   if (!target_has_execution) -     noprocess (); -@@ -410,10 +412,31 @@ call_function_by_hand (struct value *fun -     using_gcc = (b == NULL ? 2 : BLOCK_GCC_COMPILED (b)); -   } -  --  /* Are we returning a value using a structure return or a normal --     value return? */ -+  /* Are we returning a value using a structure return (passing a -+     hidden argument pointing to storage) or a normal value return? -+     There are two cases: C++ ABI mandated structure return and -+     target ABI structure return.  The variable STRUCT_RETURN only -+     describes the latter.  The C++ version is handled by passing -+     the return location as the first parameter to the function, -+     even preceding "this".  This is different from the target -+     ABI version, which is target-specific; for instance, on ia64 -+     the first argument is passed in out0 but the hidden structure -+     return pointer would normally be passed in r8.  */ -  --  struct_return = using_struct_return (value_type, using_gcc); -+  if (current_language->la_language == language_cplus -+      && cp_pass_by_reference (value_type)) -+    { -+      cp_struct_return = 1; -+ -+      /* Tell the target specific argument pushing routine not to -+	 expect a value.  */ -+      target_value_type = builtin_type_void; -+    } -+  else -+    { -+      struct_return = using_struct_return (value_type, using_gcc); -+      target_value_type = value_type; -+    } -  -   /* Determine the location of the breakpoint (and possibly other -      stuff) that the called function will return to.  The SPARC, for a -@@ -432,7 +455,7 @@ call_function_by_hand (struct value *fun -       if (INNER_THAN (1, 2)) - 	{ - 	  sp = push_dummy_code (current_gdbarch, sp, funaddr, --				using_gcc, args, nargs, value_type, -+				using_gcc, args, nargs, target_value_type, - 				&real_pc, &bp_addr); - 	  dummy_addr = sp; - 	} -@@ -440,7 +463,7 @@ call_function_by_hand (struct value *fun - 	{ - 	  dummy_addr = sp; - 	  sp = push_dummy_code (current_gdbarch, sp, funaddr, --				using_gcc, args, nargs, value_type, -+				using_gcc, args, nargs, target_value_type, - 				&real_pc, &bp_addr); - 	} -       break; -@@ -507,9 +530,15 @@ call_function_by_hand (struct value *fun - 	  param_type = TYPE_FIELD_TYPE (ftype, i); - 	else - 	  param_type = NULL; --	 -+ - 	args[i] = value_arg_coerce (args[i], param_type, prototyped); -  -+	/* FIXME: Is current_language the right language?  */ -+	if (current_language->la_language == language_cplus -+	    && param_type != NULL -+	    && cp_pass_by_reference (param_type)) -+	  args[i] = value_addr (args[i]); -+ - 	/* elz: this code is to handle the case in which the function - 	   to be called has a pointer to function as parameter and the - 	   corresponding actual argument is the address of a function -@@ -607,7 +636,7 @@ You must use a pointer to function type  -      stack, if necessary.  Make certain that the value is correctly -      aligned. */ -  --  if (struct_return) -+  if (struct_return || cp_struct_return) -     { -       int len = TYPE_LENGTH (value_type); -       if (INNER_THAN (1, 2)) -@@ -632,6 +661,22 @@ You must use a pointer to function type  - 	} -     } -  -+  if (cp_struct_return) -+    { -+      struct value **new_args; -+ -+      /* Add the new argument to the front of the argument list.  */ -+      new_args = xmalloc (sizeof (struct value *) * (nargs + 1)); -+      new_args[0] = value_from_pointer (lookup_pointer_type (value_type), -+					struct_addr); -+      memcpy (&new_args[1], &args[0], sizeof (struct value *) * nargs); -+      args = new_args; -+      nargs++; -+      args_cleanup = make_cleanup (xfree, args); -+    } -+  else -+    args_cleanup = make_cleanup (null_cleanup, NULL); -+ -   /* Create the dummy stack frame.  Pass in the call dummy address as, -      presumably, the ABI code knows where, in the call dummy, the -      return address should be pointed.  */ -@@ -649,6 +694,8 @@ You must use a pointer to function type  -   else -     error ("This target does not support function calls"); -  -+  do_cleanups (args_cleanup); -+ -   /* Set up a frame ID for the dummy frame so we can pass it to -      set_momentary_breakpoint.  We need to give the breakpoint a frame -      ID so that the breakpoint code can correctly re-identify the -@@ -839,11 +886,7 @@ the function call).", name); -   /* Figure out the value returned by the function, return that.  */ -   { -     struct value *retval; --    if (TYPE_CODE (value_type) == TYPE_CODE_VOID) --      /* If the function returns void, don't bother fetching the --	 return value.  */ --      retval = allocate_value (value_type); --    else if (struct_return) -+    if (struct_return || cp_struct_return) -       /* NOTE: cagney/2003-09-27: This assumes that PUSH_DUMMY_CALL - 	 has correctly stored STRUCT_ADDR in the target.  In the past - 	 that hasn't been the case, the old MIPS PUSH_ARGUMENTS -@@ -853,6 +896,10 @@ the function call).", name); - 	 "struct return convention", check that PUSH_DUMMY_CALL isn't - 	 playing tricks.  */ -       retval = value_at (value_type, struct_addr, NULL); -+    else if (TYPE_CODE (value_type) == TYPE_CODE_VOID) -+      /* If the function returns void, don't bother fetching the -+	 return value.  */ -+      retval = allocate_value (value_type); -     else -       { - 	/* This code only handles "register convention".  */ -Index: gdb-6.3/gdb/cp-abi.h -=================================================================== ---- gdb-6.3.orig/gdb/cp-abi.h	2003-04-12 13:41:25.000000000 -0400 -+++ gdb-6.3/gdb/cp-abi.h	2004-11-10 12:30:07.000000000 -0500 -@@ -1,7 +1,7 @@ - /* Abstraction of various C++ ABI's we support, and the info we need -    to get from them. -    Contributed by Daniel Berlin <dberlin@redhat.com> --   Copyright 2001 Free Software Foundation, Inc. -+   Copyright 2001, 2002, 2003, 2004 Free Software Foundation, Inc. -  -    This file is part of GDB. -  -@@ -145,6 +145,10 @@ extern struct type *value_rtti_type (str - extern int baseclass_offset (struct type *type, int index, char *valaddr, - 			     CORE_ADDR address); -                    -+/* Return non-zero if an argument of type TYPE should be passed by reference -+   instead of value.  */ -+extern int cp_pass_by_reference (struct type *type); -+ - struct cp_abi_ops - { -   const char *shortname; -@@ -162,6 +166,7 @@ struct cp_abi_ops - 			     int *using_enc); -   int (*baseclass_offset) (struct type *type, int index, char *valaddr, - 			   CORE_ADDR address); -+  int (*pass_by_reference) (struct type *type); - }; -  -  -Index: gdb-6.3/gdb/cp-abi.c -=================================================================== ---- gdb-6.3.orig/gdb/cp-abi.c	2003-11-26 17:04:00.000000000 -0500 -+++ gdb-6.3/gdb/cp-abi.c	2004-11-10 12:30:07.000000000 -0500 -@@ -1,5 +1,5 @@ - /* Generic code for supporting multiple C++ ABI's --   Copyright 2001, 2002, 2003 Free Software Foundation, Inc. -+   Copyright 2001, 2002, 2003, 2004 Free Software Foundation, Inc. -  -    This file is part of GDB. -  -@@ -94,6 +94,14 @@ value_rtti_type (struct value *v, int *f -   return (*current_cp_abi.rtti_type) (v, full, top, using_enc); - } -  -+int -+cp_pass_by_reference (struct type *type) -+{ -+  if ((current_cp_abi.pass_by_reference) == NULL) -+    return 0; -+  return (*current_cp_abi.pass_by_reference) (type); -+} -+ - /* Set the current C++ ABI to SHORT_NAME.  */ -  - static int -Index: gdb-6.3/gdb/gnu-v3-abi.c -=================================================================== ---- gdb-6.3.orig/gdb/gnu-v3-abi.c	2004-03-15 15:38:08.000000000 -0500 -+++ gdb-6.3/gdb/gnu-v3-abi.c	2004-11-10 12:30:07.000000000 -0500 -@@ -1,7 +1,7 @@ - /* Abstraction of GNU v3 abi. -    Contributed by Jim Blandy <jimb@redhat.com> -  --   Copyright 2001, 2002, 2003 Free Software Foundation, Inc. -+   Copyright 2001, 2002, 2003, 2004 Free Software Foundation, Inc. -  -    This file is part of GDB. -  -@@ -419,6 +419,84 @@ gnuv3_baseclass_offset (struct type *typ -   return base_offset; - } -  -+/* Return nonzero if a type should be passed by reference. -+ -+   The rule in the v3 ABI document comes from section 3.1.1.  If the -+   type has a non-trivial copy constructor or destructor, then the -+   caller must make a copy (by calling the copy constructor if there -+   is one or perform the copy itself otherwise), pass the address of -+   the copy, and then destroy the temporary (if necessary). -+ -+   For return values with non-trivial copy constructors or -+   destructors, space will be allocated in the caller, and a pointer -+   will be passed as the first argument (preceding "this"). -+ -+   We don't have a bulletproof mechanism for determining whether a -+   constructor or destructor is trivial.  For GCC and DWARF2 debug -+   information, we can check the artificial flag. -+ -+   We don't do anything with the constructors or destructors yet, -+   but we have to get the argument passing right anyway.  */ -+static int -+gnuv3_pass_by_reference (struct type *type) -+{ -+  int fieldnum, fieldelem, basenum; -+ -+  CHECK_TYPEDEF (type); -+ -+  /* We're only interested in things that can have methods.  */ -+  if (TYPE_CODE (type) != TYPE_CODE_STRUCT -+      && TYPE_CODE (type) != TYPE_CODE_CLASS -+      && TYPE_CODE (type) != TYPE_CODE_UNION) -+    return 0; -+ -+  for (fieldnum = 0; fieldnum < TYPE_NFN_FIELDS (type); fieldnum++) -+    for (fieldelem = 0; fieldelem < TYPE_FN_FIELDLIST_LENGTH (type, fieldnum); -+	 fieldelem++) -+      { -+	struct fn_field *fn = TYPE_FN_FIELDLIST1 (type, fieldnum); -+	char *name = TYPE_FN_FIELDLIST_NAME (type, fieldnum); -+	struct type *fieldtype = TYPE_FN_FIELD_TYPE (fn, fieldelem); -+ -+	/* If this function is marked as artificial, it is compiler-generated, -+	   and we assume it is trivial.  */ -+	if (TYPE_FN_FIELD_ARTIFICIAL (fn, fieldelem)) -+	  continue; -+ -+	/* If we've found a destructor, we must pass this by reference.  */ -+	if (name[0] == '~') -+	  return 1; -+ -+	/* If the mangled name of this method doesn't indicate that it -+	   is a constructor, we're not interested. -+ -+	   FIXME drow/2004-05-27: We could do this using the name of -+	   the method and the name of the class instead of dealing -+	   with the mangled name.  We don't have a convenient function -+	   to strip off both leading scope qualifiers and trailing -+	   template arguments yet.  */ -+	if (!is_constructor_name (TYPE_FN_FIELD_PHYSNAME (fn, fieldelem))) -+	  continue; -+ -+	/* If this method takes two arguments, and the second argument is -+	   a reference to this class, then it is a copy constructor.  */ -+	if (TYPE_NFIELDS (fieldtype) == 2 -+	    && TYPE_CODE (TYPE_FIELD_TYPE (fieldtype, 1)) == TYPE_CODE_REF -+	    && check_typedef (TYPE_TARGET_TYPE (TYPE_FIELD_TYPE (fieldtype, 1))) == type) -+	  return 1; -+      } -+ -+  /* Even if all the constructors and destructors were artificial, one -+     of them may have invoked a non-artificial constructor or -+     destructor in a base class.  If any base class needs to be passed -+     by reference, so does this class.  */ -+  for (basenum = 0; basenum < TYPE_N_BASECLASSES (type); basenum++) -+    if (gnuv3_pass_by_reference (TYPE_BASECLASS (type, basenum))) -+      return 1; -+ -+  return 0; -+} -+ - static void - init_gnuv3_ops (void) - { -@@ -434,6 +512,7 @@ init_gnuv3_ops (void) -   gnu_v3_abi_ops.rtti_type = gnuv3_rtti_type; -   gnu_v3_abi_ops.virtual_fn_field = gnuv3_virtual_fn_field; -   gnu_v3_abi_ops.baseclass_offset = gnuv3_baseclass_offset; -+  gnu_v3_abi_ops.pass_by_reference = gnuv3_pass_by_reference; - } -  - extern initialize_file_ftype _initialize_gnu_v3_abi; /* -Wmissing-prototypes */ -Index: gdb-6.3/gdb/hpacc-abi.c -=================================================================== ---- gdb-6.3.orig/gdb/hpacc-abi.c	2003-06-08 14:27:13.000000000 -0400 -+++ gdb-6.3/gdb/hpacc-abi.c	2004-11-10 12:30:07.000000000 -0500 -@@ -3,7 +3,7 @@ -    Most of the real code is from HP, i've just fiddled it to fit in -    the C++ ABI abstraction framework. -  --   Copyright 2001 Free Software Foundation, Inc. -+   Copyright 2001, 2002, 2003 Free Software Foundation, Inc. -  -    This file is part of GDB. -  -Index: gdb-6.3/gdb/Makefile.in -=================================================================== ---- gdb-6.3.orig/gdb/Makefile.in	2004-11-10 12:30:06.000000000 -0500 -+++ gdb-6.3/gdb/Makefile.in	2004-11-10 12:30:07.000000000 -0500 -@@ -2073,7 +2073,7 @@ ia64-tdep.o: ia64-tdep.c $(defs_h) $(inf - infcall.o: infcall.c $(defs_h) $(breakpoint_h) $(target_h) $(regcache_h) \ - 	$(inferior_h) $(gdb_assert_h) $(block_h) $(gdbcore_h) $(language_h) \ - 	$(objfiles_h) $(gdbcmd_h) $(command_h) $(gdb_string_h) $(infcall_h) \ --	$(dummy_frame_h) -+	$(dummy_frame_h) $(cp_abi_h) - inf-child.o: inf-child.c $(defs_h) $(regcache_h) $(memattr_h) $(symtab_h) \ - 	$(target_h) $(inferior_h) $(gdb_string_h) - infcmd.o: infcmd.c $(defs_h) $(gdb_string_h) $(symtab_h) $(gdbtypes_h) \ -Index: gdb-6.3/gdb/testsuite/gdb.cp/pass-by-ref.exp -=================================================================== ---- /dev/null	1970-01-01 00:00:00.000000000 +0000 -+++ gdb-6.3/gdb/testsuite/gdb.cp/pass-by-ref.exp	2004-11-11 09:48:00.498518899 -0500 -@@ -0,0 +1,38 @@ -+# This testcase is part of GDB, the GNU debugger. -+ -+# Copyright 2004 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.   -+ -+# Check that GDB can call C++ functions whose parameters have -+# object type, but are passed by reference. -+ -+set testfile "pass-by-ref" -+set srcfile ${testfile}.cc -+set binfile ${objdir}/${subdir}/${testfile} -+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { -+    return -1 -+} -+ -+gdb_exit -+gdb_start -+gdb_reinitialize_dir $srcdir/$subdir -+gdb_load ${binfile} -+ -+if ![runto_main] then { -+    return -1 -+} -+ -+gdb_test "print foo (global_obj)" " = 3" "call function" -Index: gdb-6.3/gdb/testsuite/gdb.cp/pass-by-ref.cc -=================================================================== ---- /dev/null	1970-01-01 00:00:00.000000000 +0000 -+++ gdb-6.3/gdb/testsuite/gdb.cp/pass-by-ref.cc	2004-11-11 09:44:17.815014667 -0500 -@@ -0,0 +1,57 @@ -+/* This testcase is part of GDB, the GNU debugger. -+ -+   Copyright 2004 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.  */ -+ -+class Obj { -+public: -+  Obj (); -+  Obj (const Obj &); -+  ~Obj (); -+  int var[2]; -+}; -+ -+int foo (Obj arg) -+{ -+  return arg.var[0] + arg.var[1]; -+} -+ -+Obj::Obj () -+{ -+  var[0] = 1; -+  var[1] = 2; -+} -+ -+Obj::Obj (const Obj &obj) -+{ -+  var[0] = obj.var[0]; -+  var[1] = obj.var[1]; -+} -+ -+Obj::~Obj () -+{ -+ -+} -+ -+Obj global_obj; -+ -+int -+main () -+{ -+  int bar = foo (global_obj); -+  return bar; -+} diff --git a/toolchain/gdb/6.3/710-debian_thread-db-multiple-libraries.patch b/toolchain/gdb/6.3/710-debian_thread-db-multiple-libraries.patch deleted file mode 100644 index c164bd11a..000000000 --- a/toolchain/gdb/6.3/710-debian_thread-db-multiple-libraries.patch +++ /dev/null @@ -1,593 +0,0 @@ -Support loading two libthread_db DSOs.  In this case, the LinuxThreads -and NPTL ones. - -Index: gdb-6.3/gdb/thread-db.c -=================================================================== ---- gdb-6.3.orig/gdb/thread-db.c	2004-11-10 10:46:24.000000000 -0500 -+++ gdb-6.3/gdb/thread-db.c	2004-11-10 11:22:34.858812426 -0500 -@@ -79,53 +79,63 @@ static td_thragent_t *thread_agent; -  - /* Pointers to the libthread_db functions.  */ -  --static td_err_e (*td_init_p) (void); -+struct thread_db_pointers -+{ -+  const char *filename; -+ -+  td_err_e (*td_init_p) (void); -  --static td_err_e (*td_ta_new_p) (struct ps_prochandle * ps, --				td_thragent_t **ta); --static td_err_e (*td_ta_map_id2thr_p) (const td_thragent_t *ta, thread_t pt, --				       td_thrhandle_t *__th); --static td_err_e (*td_ta_map_lwp2thr_p) (const td_thragent_t *ta, --					lwpid_t lwpid, td_thrhandle_t *th); --static td_err_e (*td_ta_thr_iter_p) (const td_thragent_t *ta, --				     td_thr_iter_f *callback, void *cbdata_p, --				     td_thr_state_e state, int ti_pri, --				     sigset_t *ti_sigmask_p, --				     unsigned int ti_user_flags); --static td_err_e (*td_ta_event_addr_p) (const td_thragent_t *ta, --				       td_event_e event, td_notify_t *ptr); --static td_err_e (*td_ta_set_event_p) (const td_thragent_t *ta, --				      td_thr_events_t *event); --static td_err_e (*td_ta_event_getmsg_p) (const td_thragent_t *ta, --					 td_event_msg_t *msg); -- --static td_err_e (*td_thr_validate_p) (const td_thrhandle_t *th); --static td_err_e (*td_thr_get_info_p) (const td_thrhandle_t *th, --				      td_thrinfo_t *infop); --static td_err_e (*td_thr_getfpregs_p) (const td_thrhandle_t *th, --				       gdb_prfpregset_t *regset); --static td_err_e (*td_thr_getgregs_p) (const td_thrhandle_t *th, --				      prgregset_t gregs); --static td_err_e (*td_thr_setfpregs_p) (const td_thrhandle_t *th, --				       const gdb_prfpregset_t *fpregs); --static td_err_e (*td_thr_setgregs_p) (const td_thrhandle_t *th, --				      prgregset_t gregs); --static td_err_e (*td_thr_event_enable_p) (const td_thrhandle_t *th, --					  int event); -- --static td_err_e (*td_thr_tls_get_addr_p) (const td_thrhandle_t *th, --					  void *map_address, --					  size_t offset, void **address); -+  td_err_e (*td_ta_new_p) (struct ps_prochandle * ps, -+			   td_thragent_t **ta); -+  td_err_e (*td_ta_map_id2thr_p) (const td_thragent_t *ta, thread_t pt, -+				  td_thrhandle_t *__th); -+  td_err_e (*td_ta_map_lwp2thr_p) (const td_thragent_t *ta, -+				   lwpid_t lwpid, td_thrhandle_t *th); -+ -+  td_err_e (*td_ta_thr_iter_p) (const td_thragent_t *ta, -+				td_thr_iter_f *callback, void *cbdata_p, -+				td_thr_state_e state, int ti_pri, -+				sigset_t *ti_sigmask_p, -+				unsigned int ti_user_flags); -+  td_err_e (*td_ta_event_addr_p) (const td_thragent_t *ta, -+				  td_event_e event, td_notify_t *ptr); -+  td_err_e (*td_ta_set_event_p) (const td_thragent_t *ta, -+				 td_thr_events_t *event); -+  td_err_e (*td_ta_event_getmsg_p) (const td_thragent_t *ta, -+				    td_event_msg_t *msg); -+ -+  td_err_e (*td_thr_validate_p) (const td_thrhandle_t *th); -+  td_err_e (*td_thr_get_info_p) (const td_thrhandle_t *th, -+				 td_thrinfo_t *infop); -+  td_err_e (*td_thr_getfpregs_p) (const td_thrhandle_t *th, -+				  gdb_prfpregset_t *regset); -+  td_err_e (*td_thr_getgregs_p) (const td_thrhandle_t *th, -+				 prgregset_t gregs); -+  td_err_e (*td_thr_setfpregs_p) (const td_thrhandle_t *th, -+				  const gdb_prfpregset_t *fpregs); -+  td_err_e (*td_thr_setgregs_p) (const td_thrhandle_t *th, -+				 prgregset_t gregs); -+  td_err_e (*td_thr_event_enable_p) (const td_thrhandle_t *th, -+				     int event); -+ -+  td_err_e (*td_thr_tls_get_addr_p) (const td_thrhandle_t *th, -+				     void *map_address, -+				     size_t offset, void **address); -+ -+  struct thread_db_pointers *next; -+}; -  - /* Location of the thread creation event breakpoint.  The code at this -    location in the child process will be called by the pthread library -    whenever a new thread is created.  By setting a special breakpoint -    at this location, GDB can detect when a new thread is created.  We -    obtain this location via the td_ta_event_addr call.  */ --static CORE_ADDR td_create_bp_addr; -+CORE_ADDR td_create_bp_addr; -  - /* Location of the thread death event breakpoint.  */ --static CORE_ADDR td_death_bp_addr; -+CORE_ADDR td_death_bp_addr; -+ -+static struct thread_db_pointers *current_pointers, *all_pointers; -  - /* Prototypes for local functions.  */ - static void thread_db_find_new_threads (void); -@@ -262,7 +272,7 @@ thread_get_info_callback (const td_thrha -   struct thread_info *thread_info; -   ptid_t thread_ptid; -  --  err = td_thr_get_info_p (thp, &ti); -+  err = current_pointers->td_thr_get_info_p (thp, &ti); -   if (err != TD_OK) -     error ("thread_get_info_callback: cannot get thread info: %s", - 	   thread_db_err_str (err)); -@@ -316,8 +326,9 @@ thread_db_map_id2thr (struct thread_info -   if (thread_info->private->th_valid) -     return; -  --  err = td_ta_map_id2thr_p (thread_agent, GET_THREAD (thread_info->ptid), --			    &thread_info->private->th); -+  err = current_pointers->td_ta_map_id2thr_p (thread_agent, -+					      GET_THREAD (thread_info->ptid), -+					      &thread_info->private->th); -   if (err != TD_OK) -     { -       if (fatal) -@@ -340,8 +351,8 @@ thread_db_get_info (struct thread_info * -   if (!thread_info->private->th_valid) -     thread_db_map_id2thr (thread_info, 1); -  --  err = --    td_thr_get_info_p (&thread_info->private->th, &thread_info->private->ti); -+  err = current_pointers->td_thr_get_info_p (&thread_info->private->th, -+					     &thread_info->private->ti); -   if (err != TD_OK) -     error ("thread_db_get_info: cannot get thread info: %s", - 	   thread_db_err_str (err)); -@@ -365,7 +376,8 @@ thread_from_lwp (ptid_t ptid) -  -   gdb_assert (is_lwp (ptid)); -  --  err = td_ta_map_lwp2thr_p (thread_agent, GET_LWP (ptid), &th); -+  err = current_pointers->td_ta_map_lwp2thr_p (thread_agent, GET_LWP (ptid), -+					       &th); -   if (err != TD_OK) -     error ("Cannot find user-level thread for LWP %ld: %s", - 	   GET_LWP (ptid), thread_db_err_str (err)); -@@ -420,85 +432,102 @@ verbose_dlsym (void *handle, const char  -   return sym; - } -  --static int --thread_db_load (void) -+static struct thread_db_pointers * -+thread_db_load (const char *name) - { -+  struct thread_db_pointers *ptrs; -+  Dl_info info; -   void *handle; -   td_err_e err; -  --  handle = dlopen (LIBTHREAD_DB_SO, RTLD_NOW); -+  ptrs = xcalloc (1, sizeof (struct thread_db_pointers)); -+ -+  handle = dlopen (name, RTLD_NOW); -   if (handle == NULL) -     { --      fprintf_filtered (gdb_stderr, "\n\ndlopen failed on '%s' - %s\n", --			LIBTHREAD_DB_SO, dlerror ()); --      fprintf_filtered (gdb_stderr, --			"GDB will not be able to debug pthreads.\n\n"); -+      if (all_pointers == NULL) -+	{ -+	  fprintf_filtered (gdb_stderr, "\n\ndlopen failed on '%s' - %s\n", -+			    name, dlerror ()); -+	  fprintf_filtered (gdb_stderr, -+			    "GDB will not be able to debug pthreads.\n\n"); -+	} -       return 0; -     } -  -   /* Initialize pointers to the dynamic library functions we will use. -      Essential functions first.  */ -  --  td_init_p = verbose_dlsym (handle, "td_init"); --  if (td_init_p == NULL) -+  ptrs->td_init_p = verbose_dlsym (handle, "td_init"); -+  if (ptrs->td_init_p == NULL) -     return 0; -  --  td_ta_new_p = verbose_dlsym (handle, "td_ta_new"); --  if (td_ta_new_p == NULL) -+  ptrs->td_ta_new_p = verbose_dlsym (handle, "td_ta_new"); -+  if (ptrs->td_ta_new_p == NULL) -     return 0; -  --  td_ta_map_id2thr_p = verbose_dlsym (handle, "td_ta_map_id2thr"); --  if (td_ta_map_id2thr_p == NULL) -+  ptrs->td_ta_map_id2thr_p = verbose_dlsym (handle, "td_ta_map_id2thr"); -+  if (ptrs->td_ta_map_id2thr_p == NULL) -     return 0; -  --  td_ta_map_lwp2thr_p = verbose_dlsym (handle, "td_ta_map_lwp2thr"); --  if (td_ta_map_lwp2thr_p == NULL) -+  ptrs->td_ta_map_lwp2thr_p = verbose_dlsym (handle, "td_ta_map_lwp2thr"); -+  if (ptrs->td_ta_map_lwp2thr_p == NULL) -     return 0; -  --  td_ta_thr_iter_p = verbose_dlsym (handle, "td_ta_thr_iter"); --  if (td_ta_thr_iter_p == NULL) -+  ptrs->td_ta_thr_iter_p = verbose_dlsym (handle, "td_ta_thr_iter"); -+  if (ptrs->td_ta_thr_iter_p == NULL) -     return 0; -  --  td_thr_validate_p = verbose_dlsym (handle, "td_thr_validate"); --  if (td_thr_validate_p == NULL) -+  ptrs->td_thr_validate_p = verbose_dlsym (handle, "td_thr_validate"); -+  if (ptrs->td_thr_validate_p == NULL) -     return 0; -  --  td_thr_get_info_p = verbose_dlsym (handle, "td_thr_get_info"); --  if (td_thr_get_info_p == NULL) -+  ptrs->td_thr_get_info_p = verbose_dlsym (handle, "td_thr_get_info"); -+  if (ptrs->td_thr_get_info_p == NULL) -     return 0; -  --  td_thr_getfpregs_p = verbose_dlsym (handle, "td_thr_getfpregs"); --  if (td_thr_getfpregs_p == NULL) -+  ptrs->td_thr_getfpregs_p = verbose_dlsym (handle, "td_thr_getfpregs"); -+  if (ptrs->td_thr_getfpregs_p == NULL) -     return 0; -  --  td_thr_getgregs_p = verbose_dlsym (handle, "td_thr_getgregs"); --  if (td_thr_getgregs_p == NULL) -+  ptrs->td_thr_getgregs_p = verbose_dlsym (handle, "td_thr_getgregs"); -+  if (ptrs->td_thr_getgregs_p == NULL) -     return 0; -  --  td_thr_setfpregs_p = verbose_dlsym (handle, "td_thr_setfpregs"); --  if (td_thr_setfpregs_p == NULL) -+  ptrs->td_thr_setfpregs_p = verbose_dlsym (handle, "td_thr_setfpregs"); -+  if (ptrs->td_thr_setfpregs_p == NULL) -     return 0; -  --  td_thr_setgregs_p = verbose_dlsym (handle, "td_thr_setgregs"); --  if (td_thr_setgregs_p == NULL) -+  ptrs->td_thr_setgregs_p = verbose_dlsym (handle, "td_thr_setgregs"); -+  if (ptrs->td_thr_setgregs_p == NULL) -     return 0; -  -   /* Initialize the library.  */ --  err = td_init_p (); -+  err = ptrs->td_init_p (); -   if (err != TD_OK) -     { -       warning ("Cannot initialize libthread_db: %s", thread_db_err_str (err)); -+      xfree (ptrs); -       return 0; -     } -  -   /* These are not essential.  */ --  td_ta_event_addr_p = dlsym (handle, "td_ta_event_addr"); --  td_ta_set_event_p = dlsym (handle, "td_ta_set_event"); --  td_ta_event_getmsg_p = dlsym (handle, "td_ta_event_getmsg"); --  td_thr_event_enable_p = dlsym (handle, "td_thr_event_enable"); --  td_thr_tls_get_addr_p = dlsym (handle, "td_thr_tls_get_addr"); -+  ptrs->td_ta_event_addr_p = dlsym (handle, "td_ta_event_addr"); -+  ptrs->td_ta_set_event_p = dlsym (handle, "td_ta_set_event"); -+  ptrs->td_ta_event_getmsg_p = dlsym (handle, "td_ta_event_getmsg"); -+  ptrs->td_thr_event_enable_p = dlsym (handle, "td_thr_event_enable"); -+  ptrs->td_thr_tls_get_addr_p = dlsym (handle, "td_thr_tls_get_addr"); -+ -+  if (dladdr (ptrs->td_ta_new_p, &info) != 0) -+    ptrs->filename = info.dli_fname; -+ -+  /* Try dlinfo?  */ -+ -+  if (ptrs->filename == NULL) -+    /* Paranoid - don't let a NULL path slip through.  */ -+    ptrs->filename = name; -  --  return 1; -+  return ptrs; - } -  - static td_err_e -@@ -508,7 +537,7 @@ enable_thread_event (td_thragent_t *thre -   td_err_e err; -  -   /* Get the breakpoint address for thread EVENT.  */ --  err = td_ta_event_addr_p (thread_agent, event, ¬ify); -+  err = current_pointers->td_ta_event_addr_p (thread_agent, event, ¬ify); -   if (err != TD_OK) -     return err; -  -@@ -534,8 +563,10 @@ enable_thread_event_reporting (void) -  -   /* We cannot use the thread event reporting facility if these -      functions aren't available.  */ --  if (td_ta_event_addr_p == NULL || td_ta_set_event_p == NULL --      || td_ta_event_getmsg_p == NULL || td_thr_event_enable_p == NULL) -+  if (current_pointers->td_ta_event_addr_p == NULL -+      || current_pointers->td_ta_set_event_p == NULL -+      || current_pointers->td_ta_event_getmsg_p == NULL -+      || current_pointers->td_thr_event_enable_p == NULL) -     return; -  -   /* Set the process wide mask saying which events we're interested in.  */ -@@ -552,7 +583,7 @@ enable_thread_event_reporting (void) - #endif -     td_event_addset (&events, TD_DEATH); -  --  err = td_ta_set_event_p (thread_agent, &events); -+  err = current_pointers->td_ta_set_event_p (thread_agent, &events); -   if (err != TD_OK) -     { -       warning ("Unable to set global thread event mask: %s", -@@ -592,7 +623,7 @@ disable_thread_event_reporting (void) -   /* Set the process wide mask saying we aren't interested in any -      events anymore.  */ -   td_event_emptyset (&events); --  td_ta_set_event_p (thread_agent, &events); -+  current_pointers->td_ta_set_event_p (thread_agent, &events); -  -   /* Delete thread event breakpoints, if any.  */ -   remove_thread_event_breakpoints (); -@@ -635,7 +666,6 @@ check_thread_signals (void) - static void - check_for_thread_db (void) - { --  td_err_e err; -   static int already_loaded; -  -   /* First time through, report that libthread_db was successfuly -@@ -644,19 +674,8 @@ check_for_thread_db (void) -  -   if (!already_loaded) -     { --      Dl_info info; --      const char *library = NULL; --      if (dladdr ((*td_ta_new_p), &info) != 0) --	library = info.dli_fname; -- --      /* Try dlinfo?  */ -- --      if (library == NULL) --	/* Paranoid - don't let a NULL path slip through.  */ --	library = LIBTHREAD_DB_SO; -- -       printf_unfiltered ("Using host libthread_db library \"%s\".\n", --			 library); -+			 all_pointers->filename); -       already_loaded = 1; -     } -  -@@ -674,28 +693,34 @@ check_for_thread_db (void) -   proc_handle.pid = GET_PID (inferior_ptid); -  -   /* Now attempt to open a connection to the thread library.  */ --  err = td_ta_new_p (&proc_handle, &thread_agent); --  switch (err) -+  for (current_pointers = all_pointers; -+       current_pointers != NULL; -+       current_pointers = current_pointers->next) -     { --    case TD_NOLIBTHREAD: --      /* No thread library was detected.  */ --      break; -- --    case TD_OK: --      printf_unfiltered ("[Thread debugging using libthread_db enabled]\n"); -+      td_err_e err; -+      err = current_pointers->td_ta_new_p (&proc_handle, &thread_agent); -+      switch (err) -+	{ -+	case TD_NOLIBTHREAD: -+	  /* No thread library was detected.  */ -+	  break; -  --      /* The thread library was detected.  Activate the thread_db target.  */ --      push_target (&thread_db_ops); --      using_thread_db = 1; -+	case TD_OK: -+	  printf_unfiltered ("[Thread debugging using libthread_db enabled]\n"); -  --      enable_thread_event_reporting (); --      thread_db_find_new_threads (); --      break; -+	  /* The thread library was detected.  Activate the thread_db target.  */ -+	  push_target (&thread_db_ops); -+	  using_thread_db = 1; -+ -+	  enable_thread_event_reporting (); -+	  thread_db_find_new_threads (); -+	  return; -  --    default: --      warning ("Cannot initialize thread debugging library: %s", --	       thread_db_err_str (err)); --      break; -+	default: -+	  warning ("Cannot initialize thread debugging library: %s", -+		   thread_db_err_str (err)); -+	  break; -+	} -     } - } -  -@@ -766,7 +791,7 @@ attach_thread (ptid_t ptid, const td_thr - #endif -  -   /* Enable thread event reporting for this thread.  */ --  err = td_thr_event_enable_p (th_p, 1); -+  err = current_pointers->td_thr_event_enable_p (th_p, 1); -   if (err != TD_OK) -     error ("Cannot enable thread event reporting for %s: %s", - 	   target_pid_to_str (ptid), thread_db_err_str (err)); -@@ -892,7 +917,7 @@ check_event (ptid_t ptid) -  -   do -     { --      err = td_ta_event_getmsg_p (thread_agent, &msg); -+      err = current_pointers->td_ta_event_getmsg_p (thread_agent, &msg); -       if (err != TD_OK) - 	{ - 	  if (err == TD_NOMSG) -@@ -902,7 +927,7 @@ check_event (ptid_t ptid) - 		 thread_db_err_str (err)); - 	} -  --      err = td_thr_get_info_p (msg.th_p, &ti); -+      err = current_pointers->td_thr_get_info_p (msg.th_p, &ti); -       if (err != TD_OK) - 	error ("Cannot get thread info: %s", thread_db_err_str (err)); -  -@@ -1015,12 +1040,14 @@ thread_db_fetch_registers (int regno) -   thread_info = find_thread_pid (inferior_ptid); -   thread_db_map_id2thr (thread_info, 1); -  --  err = td_thr_getgregs_p (&thread_info->private->th, gregset); -+  err = current_pointers->td_thr_getgregs_p (&thread_info->private->th, -+					     gregset); -   if (err != TD_OK) -     error ("Cannot fetch general-purpose registers for thread %ld: %s", - 	   (long) GET_THREAD (inferior_ptid), thread_db_err_str (err)); -  --  err = td_thr_getfpregs_p (&thread_info->private->th, &fpregset); -+  err = current_pointers->td_thr_getfpregs_p (&thread_info->private->th, -+					      &fpregset); -   if (err != TD_OK) -     error ("Cannot get floating-point registers for thread %ld: %s", - 	   (long) GET_THREAD (inferior_ptid), thread_db_err_str (err)); -@@ -1062,11 +1089,13 @@ thread_db_store_registers (int regno) -   fill_gregset ((gdb_gregset_t *) gregset, -1); -   fill_fpregset (&fpregset, -1); -  --  err = td_thr_setgregs_p (&thread_info->private->th, gregset); -+  err = current_pointers->td_thr_setgregs_p (&thread_info->private->th, -+					     gregset); -   if (err != TD_OK) -     error ("Cannot store general-purpose registers for thread %ld: %s", - 	   (long) GET_THREAD (inferior_ptid), thread_db_err_str (err)); --  err = td_thr_setfpregs_p (&thread_info->private->th, &fpregset); -+  err = current_pointers->td_thr_setfpregs_p (&thread_info->private->th, -+					      &fpregset); -   if (err != TD_OK) -     error ("Cannot store floating-point registers  for thread %ld: %s", - 	   (long) GET_THREAD (inferior_ptid), thread_db_err_str (err)); -@@ -1136,15 +1165,14 @@ thread_db_thread_alive (ptid_t ptid) -       if (!thread_info->private->th_valid) - 	return 0; -  --      err = td_thr_validate_p (&thread_info->private->th); -+      err = current_pointers->td_thr_validate_p (&thread_info->private->th); -       if (err != TD_OK) - 	return 0; -  -       if (!thread_info->private->ti_valid) - 	{ --	  err = --	    td_thr_get_info_p (&thread_info->private->th, --			       &thread_info->private->ti); -+	  err = current_pointers->td_thr_get_info_p -+	    (&thread_info->private->th, &thread_info->private->ti); - 	  if (err != TD_OK) - 	    return 0; - 	  thread_info->private->ti_valid = 1; -@@ -1170,7 +1198,7 @@ find_new_threads_callback (const td_thrh -   td_err_e err; -   ptid_t ptid; -  --  err = td_thr_get_info_p (th_p, &ti); -+  err = current_pointers->td_thr_get_info_p (th_p, &ti); -   if (err != TD_OK) -     error ("find_new_threads_callback: cannot get thread info: %s", - 	   thread_db_err_str (err)); -@@ -1192,9 +1220,10 @@ thread_db_find_new_threads (void) -   td_err_e err; -  -   /* Iterate over all user-space threads to discover new threads.  */ --  err = td_ta_thr_iter_p (thread_agent, find_new_threads_callback, NULL, --			  TD_THR_ANY_STATE, TD_THR_LOWEST_PRIORITY, --			  TD_SIGNO_MASK, TD_THR_ANY_USER_FLAGS); -+  err = current_pointers->td_ta_thr_iter_p -+    (thread_agent, find_new_threads_callback, NULL, -+     TD_THR_ANY_STATE, TD_THR_LOWEST_PRIORITY, -+     TD_SIGNO_MASK, TD_THR_ANY_USER_FLAGS); -   if (err != TD_OK) -     error ("Cannot find new threads: %s", thread_db_err_str (err)); - } -@@ -1257,7 +1286,7 @@ thread_db_get_thread_local_address (ptid -       struct thread_info *thread_info; -  -       /* glibc doesn't provide the needed interface.  */ --      if (!td_thr_tls_get_addr_p) -+      if (!current_pointers->td_thr_tls_get_addr_p) - 	error ("Cannot find thread-local variables in this thread library."); -  -       /* Get the address of the link map for this objfile.  */ -@@ -1279,8 +1308,8 @@ thread_db_get_thread_local_address (ptid -       thread_db_map_id2thr (thread_info, 1); -  -       /* Finally, get the address of the variable.  */ --      err = td_thr_tls_get_addr_p (&thread_info->private->th, (void *) lm, --				   offset, &address); -+      err = current_pointers->td_thr_tls_get_addr_p -+	(&thread_info->private->th, (void *) lm, offset, &address); -  - #ifdef THREAD_DB_HAS_TD_NOTALLOC -       /* The memory hasn't been allocated, yet.  */ -@@ -1360,17 +1389,49 @@ init_thread_db_ops (void) - void - _initialize_thread_db (void) - { -+  struct thread_db_pointers *ptrs; -+  const char *p; -+ -   /* Only initialize the module if we can load libthread_db.  */ --  if (thread_db_load ()) --    { --      init_thread_db_ops (); --      add_target (&thread_db_ops); -+  ptrs = thread_db_load (LIBTHREAD_DB_SO); -+  if (ptrs == NULL) -+    return; -+ -+  all_pointers = ptrs; -  --      /* Add ourselves to objfile event chain.  */ --      target_new_objfile_chain = deprecated_target_new_objfile_hook; --      deprecated_target_new_objfile_hook = thread_db_new_objfile; -+  /* Some GNU/Linux systems have more than one binary-compatible copy -+     of libthread_db.  If we can find a second one, load that too. -+     The inferior may force the use of a different threading package -+     than we expect.  Our guess for the location is somewhat hokey: -+     strip out anything between /lib (or /lib64) and LIBTHREAD_DB_SO. -+     If we loaded the NPTL libthread_db by default, this may find us -+     the LinuxThreads copy.  */ -+  p = strrchr (ptrs->filename, '/'); -+  while (p != NULL && p > ptrs->filename) -+    { -+      const char *component; -  --      /* Register ourselves for the new inferior observer.  */ --      observer_attach_inferior_created (check_for_thread_db_observer); -+      component = memrchr (ptrs->filename, '/', p - ptrs->filename); -+      if (component != NULL && strncmp (component, "/lib", 4) == 0) -+	{ -+	  char *new_name = xmalloc (p - ptrs->filename + 2 -+				    + strlen (LIBTHREAD_DB_SO)); -+	  memcpy (new_name, ptrs->filename, p - ptrs->filename + 1); -+	  strcpy (new_name + (p - ptrs->filename) + 1, LIBTHREAD_DB_SO); -+	  ptrs->next = thread_db_load (new_name); -+	  xfree (new_name); -+	  break; -+	} -+      p = component; -     } -+ -+  init_thread_db_ops (); -+  add_target (&thread_db_ops); -+ -+  /* Add ourselves to objfile event chain.  */ -+  target_new_objfile_chain = deprecated_target_new_objfile_hook; -+  deprecated_target_new_objfile_hook = thread_db_new_objfile; -+ -+  /* Register ourselves for the new inferior observer.  */ -+  observer_attach_inferior_created (check_for_thread_db_observer); - } diff --git a/toolchain/gdb/6.3/720-debian_static-threads-test.patch b/toolchain/gdb/6.3/720-debian_static-threads-test.patch deleted file mode 100644 index 448c9b1d7..000000000 --- a/toolchain/gdb/6.3/720-debian_static-threads-test.patch +++ /dev/null @@ -1,36 +0,0 @@ -Update staticthreads.exp to handle debugging info in libpthread.a. - -Index: gdb-6.3/gdb/testsuite/gdb.threads/staticthreads.exp -=================================================================== ---- gdb-6.3.orig/gdb/testsuite/gdb.threads/staticthreads.exp	2004-11-10 10:35:15.000000000 -0500 -+++ gdb-6.3/gdb/testsuite/gdb.threads/staticthreads.exp	2004-11-10 11:22:48.671121466 -0500 -@@ -53,6 +53,10 @@ gdb_test_multiple "continue" "$test" { -     -re " sem_post .*$gdb_prompt " { - 	pass "$test" -     } -+    -re " (.*_)sem_post .*$gdb_prompt " { -+	# Glibc uses aliases for internal symbols; match __new_sem_post. -+	pass "$test" -+    } -     -re "Program received signal .*$gdb_prompt " { - 	kfail gdb/1328 "$test" -     } -@@ -64,8 +68,16 @@ gdb_test_multiple "continue" "$test" { -  - rerun_to_main - gdb_test "handle SIG32 nostop noprint pass" --set test "Handle SIG32 helps" --gdb_test "continue" " sem_post .*" "handle SIG32 helps" -+set test "handle SIG32 helps" -+gdb_test_multiple "continue" "$test" { -+    -re " sem_post .*$gdb_prompt $" { -+	pass "$test" -+    } -+    -re " (.*_)sem_post .*$gdb_prompt $" { -+	# Glibc uses aliases for internal symbols; match __new_sem_post. -+	pass "$test" -+    } -+} -  -  - # See if info threads produces anything approaching a thread list. diff --git a/toolchain/gdb/6.3/730-debian_gdb-fix-tracefork-check.patch b/toolchain/gdb/6.3/730-debian_gdb-fix-tracefork-check.patch deleted file mode 100644 index 9890d80c3..000000000 --- a/toolchain/gdb/6.3/730-debian_gdb-fix-tracefork-check.patch +++ /dev/null @@ -1,225 +0,0 @@ -Status: submitted for comments - -2004-11-12  Daniel Jacobowitz  <dan@debian.org> - -	* linux-nat.c (my_waitpid): New function. -	(linux_test_for_tracefork): Make more robust and verbose.  Take -	an ORIGINAL_PID argument and test for PTRACE_SETOPTIONS first. -	(linux_supports_tracefork, linux_supports_tracevforkdone): Take a PID -	argument.  Update calls to linux_test_for_tracefork. -	(linux_enable_event_reporting, child_follow_fork) -	(child_insert_fork_catchpoint, child_insert_vfork_catchpoint) -	(child_insert_exec_catchpoint): Update calls to -	linux_supports_tracefork and linux_supports_tracevforkdone. - -Index: gdb-6.3/gdb/linux-nat.c -=================================================================== ---- gdb-6.3.orig/gdb/linux-nat.c	2004-10-08 16:29:47.000000000 -0400 -+++ gdb-6.3/gdb/linux-nat.c	2004-11-13 16:41:51.368720845 -0500 -@@ -150,18 +150,47 @@ linux_tracefork_child (void) -   exit (0); - } -  --/* Determine if PTRACE_O_TRACEFORK can be used to follow fork events.  We -+/* Wrapper function for waitpid which handles EINTR.  */ -+ -+static int -+my_waitpid (int pid, int *status, int flags) -+{ -+  int ret; -+  do -+    { -+      ret = waitpid (pid, status, flags); -+    } -+  while (ret == -1 && errno == EINTR); -+ -+  return ret; -+} -+ -+/* Determine if PTRACE_O_TRACEFORK can be used to follow fork events. -+ -+   First, we try to enable fork tracing on ORIGINAL_PID.  If this fails, -+   we know that the feature is not available.  This may change the tracing -+   options for ORIGINAL_PID, but we'll be setting them shortly anyway. -+ -+   However, if it succeeds, we don't know for sure that the feature is -+   available; old versions of PTRACE_SETOPTIONS ignored unknown options.  We -    create a child process, attach to it, use PTRACE_SETOPTIONS to enable --   fork tracing, and let it fork.  If the process exits, we assume that --   we can't use TRACEFORK; if we get the fork notification, and we can --   extract the new child's PID, then we assume that we can.  */ -+   fork tracing, and let it fork.  If the process exits, we assume that we -+   can't use TRACEFORK; if we get the fork notification, and we can extract -+   the new child's PID, then we assume that we can.  */ -  - static void --linux_test_for_tracefork (void) -+linux_test_for_tracefork (int original_pid) - { -   int child_pid, ret, status; -   long second_pid; -  -+  linux_supports_tracefork_flag = 0; -+  linux_supports_tracevforkdone_flag = 0; -+ -+  ret = ptrace (PTRACE_SETOPTIONS, original_pid, 0, PTRACE_O_TRACEFORK); -+  if (ret != 0) -+    return; -+ -   child_pid = fork (); -   if (child_pid == -1) -     perror_with_name ("linux_test_for_tracefork: fork"); -@@ -169,7 +198,7 @@ linux_test_for_tracefork (void) -   if (child_pid == 0) -     linux_tracefork_child (); -  --  ret = waitpid (child_pid, &status, 0); -+  ret = my_waitpid (child_pid, &status, 0); -   if (ret == -1) -     perror_with_name ("linux_test_for_tracefork: waitpid"); -   else if (ret != child_pid) -@@ -177,13 +206,23 @@ linux_test_for_tracefork (void) -   if (! WIFSTOPPED (status)) -     error ("linux_test_for_tracefork: waitpid: unexpected status %d.", status); -  --  linux_supports_tracefork_flag = 0; -- -   ret = ptrace (PTRACE_SETOPTIONS, child_pid, 0, PTRACE_O_TRACEFORK); -   if (ret != 0) -     { --      ptrace (PTRACE_KILL, child_pid, 0, 0); --      waitpid (child_pid, &status, 0); -+      ret = ptrace (PTRACE_KILL, child_pid, 0, 0); -+      if (ret != 0) -+	{ -+	  warning ("linux_test_for_tracefork: failed to kill child"); -+	  return; -+	} -+ -+      ret = my_waitpid (child_pid, &status, 0); -+      if (ret != child_pid) -+	warning ("linux_test_for_tracefork: failed to wait for killed child"); -+      else if (!WIFSIGNALED (status)) -+	warning ("linux_test_for_tracefork: unexpected wait status 0x%x from " -+		 "killed child", status); -+ -       return; -     } -  -@@ -192,8 +231,12 @@ linux_test_for_tracefork (void) - 		PTRACE_O_TRACEFORK | PTRACE_O_TRACEVFORKDONE); -   linux_supports_tracevforkdone_flag = (ret == 0); -  --  ptrace (PTRACE_CONT, child_pid, 0, 0); --  ret = waitpid (child_pid, &status, 0); -+  ret = ptrace (PTRACE_CONT, child_pid, 0, 0); -+  if (ret != 0) -+    warning ("linux_test_for_tracefork: failed to resume child"); -+ -+  ret = my_waitpid (child_pid, &status, 0); -+ -   if (ret == child_pid && WIFSTOPPED (status) -       && status >> 16 == PTRACE_EVENT_FORK) -     { -@@ -204,34 +247,38 @@ linux_test_for_tracefork (void) - 	  int second_status; -  - 	  linux_supports_tracefork_flag = 1; --	  waitpid (second_pid, &second_status, 0); --	  ptrace (PTRACE_DETACH, second_pid, 0, 0); -+	  my_waitpid (second_pid, &second_status, 0); -+	  ret = ptrace (PTRACE_KILL, second_pid, 0, 0); -+	  if (ret != 0) -+	    warning ("linux_test_for_tracefork: failed to kill second child"); - 	} -     } -+  else -+    warning ("linux_test_for_tracefork: unexpected result from waitpid " -+	     "(%d, status 0x%x)", ret, status); -  --  if (WIFSTOPPED (status)) --    { --      ptrace (PTRACE_DETACH, child_pid, 0, 0); --      waitpid (child_pid, &status, 0); --    } -+  ret = ptrace (PTRACE_KILL, child_pid, 0, 0); -+  if (ret != 0) -+    warning ("linux_test_for_tracefork: failed to kill child"); -+  my_waitpid (child_pid, &status, 0); - } -  - /* Return non-zero iff we have tracefork functionality available. -    This function also sets linux_supports_tracefork_flag.  */ -  - static int --linux_supports_tracefork (void) -+linux_supports_tracefork (int pid) - { -   if (linux_supports_tracefork_flag == -1) --    linux_test_for_tracefork (); -+    linux_test_for_tracefork (pid); -   return linux_supports_tracefork_flag; - } -  - static int --linux_supports_tracevforkdone (void) -+linux_supports_tracevforkdone (int pid) - { -   if (linux_supports_tracefork_flag == -1) --    linux_test_for_tracefork (); -+    linux_test_for_tracefork (pid); -   return linux_supports_tracevforkdone_flag; - } -  -@@ -242,12 +289,12 @@ linux_enable_event_reporting (ptid_t pti -   int pid = ptid_get_pid (ptid); -   int options; -  --  if (! linux_supports_tracefork ()) -+  if (! linux_supports_tracefork (pid)) -     return; -  -   options = PTRACE_O_TRACEFORK | PTRACE_O_TRACEVFORK | PTRACE_O_TRACEEXEC -     | PTRACE_O_TRACECLONE; --  if (linux_supports_tracevforkdone ()) -+  if (linux_supports_tracevforkdone (pid)) -     options |= PTRACE_O_TRACEVFORKDONE; -  -   /* Do not enable PTRACE_O_TRACEEXIT until GDB is more prepared to support -@@ -308,7 +355,8 @@ child_follow_fork (int follow_child) -  -       if (has_vforked) - 	{ --	  if (linux_supports_tracevforkdone ()) -+	  gdb_assert (linux_supports_tracefork_flag >= 0); -+	  if (linux_supports_tracevforkdone (0)) - 	    { - 	      int status; -  -@@ -476,7 +524,7 @@ linux_handle_extended_wait (int pid, int - int - child_insert_fork_catchpoint (int pid) - { --  if (! linux_supports_tracefork ()) -+  if (! linux_supports_tracefork (pid)) -     error ("Your system does not support fork catchpoints."); -  -   return 0; -@@ -485,7 +533,7 @@ child_insert_fork_catchpoint (int pid) - int - child_insert_vfork_catchpoint (int pid) - { --  if (!linux_supports_tracefork ()) -+  if (!linux_supports_tracefork (pid)) -     error ("Your system does not support vfork catchpoints."); -  -   return 0; -@@ -494,7 +542,7 @@ child_insert_vfork_catchpoint (int pid) - int - child_insert_exec_catchpoint (int pid) - { --  if (!linux_supports_tracefork ()) -+  if (!linux_supports_tracefork (pid)) -     error ("Your system does not support exec catchpoints."); -  -   return 0; diff --git a/toolchain/gdb/6.3/740-debian_make-cv-type-crash.patch b/toolchain/gdb/6.3/740-debian_make-cv-type-crash.patch deleted file mode 100644 index 4e0b8cd72..000000000 --- a/toolchain/gdb/6.3/740-debian_make-cv-type-crash.patch +++ /dev/null @@ -1,132 +0,0 @@ -2004-11-04  Jim Blandy  <jimb@redhat.com> - -	* gdbtypes.c (make_qualified_type): Doc fix.  Add assertion to -	prevent cross-objfile references. -	(make_cv_type): Doc fix.  Don't create cross-objfile references, -	even for stub types. -	(replace_type): Add assertion to prevent cross-objfile references. -	(check_typedef): Never resolve a stub type by copying over a type -	from another file. - -Index: src/gdb/gdbtypes.c -=================================================================== -RCS file: /big/fsf/rsync/src-cvs/src/gdb/gdbtypes.c,v -retrieving revision 1.92 -retrieving revision 1.93 -diff -u -p -r1.92 -r1.93 ---- src/gdb/gdbtypes.c	8 Aug 2004 17:18:16 -0000	1.92 -+++ src/gdb/gdbtypes.c	4 Nov 2004 17:50:16 -0000	1.93 -@@ -433,7 +433,9 @@ address_space_int_to_name (int space_fla - } -  - /* Create a new type with instance flags NEW_FLAGS, based on TYPE. --   If STORAGE is non-NULL, create the new type instance there.  */ -+ -+   If STORAGE is non-NULL, create the new type instance there. -+   STORAGE must be in the same obstack as TYPE.  */ -  - static struct type * - make_qualified_type (struct type *type, int new_flags, -@@ -453,6 +455,12 @@ make_qualified_type (struct type *type,  -     ntype = alloc_type_instance (type); -   else -     { -+      /* If STORAGE was provided, it had better be in the same objfile as -+	 TYPE.  Otherwise, we can't link it into TYPE's cv chain: if one -+	 objfile is freed and the other kept, we'd have dangling -+	 pointers.  */ -+      gdb_assert (TYPE_OBJFILE (type) == TYPE_OBJFILE (storage)); -+ -       ntype = storage; -       TYPE_MAIN_TYPE (ntype) = TYPE_MAIN_TYPE (type); -       TYPE_CHAIN (ntype) = ntype; -@@ -501,11 +509,12 @@ make_type_with_address_space (struct typ -    CNST is a flag for setting the const attribute -    VOLTL is a flag for setting the volatile attribute -    TYPE is the base type whose variant we are creating. --   TYPEPTR, if nonzero, points --   to a pointer to memory where the reference type should be stored. --   If *TYPEPTR is zero, update it to point to the reference type we return. --   We allocate new memory if needed.  */ -  -+   If TYPEPTR and *TYPEPTR are non-zero, then *TYPEPTR points to -+   storage to hold the new qualified type; *TYPEPTR and TYPE must be -+   in the same objfile.  Otherwise, allocate fresh memory for the new -+   type whereever TYPE lives.  If TYPEPTR is non-zero, set it to the -+   new type we construct.  */ - struct type * - make_cv_type (int cnst, int voltl, struct type *type, struct type **typeptr) - { -@@ -524,20 +533,19 @@ make_cv_type (int cnst, int voltl, struc -  -   if (typeptr && *typeptr != NULL) -     { --      /* Objfile is per-core-type.  This const-qualified type had best --	 belong to the same objfile as the type it is qualifying, unless --	 we are overwriting a stub type, in which case the safest thing --	 to do is to copy the core type into the new objfile.  */ -- --      gdb_assert (TYPE_OBJFILE (*typeptr) == TYPE_OBJFILE (type) --		  || TYPE_STUB (*typeptr)); --      if (TYPE_OBJFILE (*typeptr) != TYPE_OBJFILE (type)) --	{ --	  TYPE_MAIN_TYPE (*typeptr) --	    = TYPE_ALLOC (*typeptr, sizeof (struct main_type)); --	  *TYPE_MAIN_TYPE (*typeptr) --	    = *TYPE_MAIN_TYPE (type); --	} -+      /* TYPE and *TYPEPTR must be in the same objfile.  We can't have -+	 a C-V variant chain that threads across objfiles: if one -+	 objfile gets freed, then the other has a broken C-V chain. -+ -+	 This code used to try to copy over the main type from TYPE to -+	 *TYPEPTR if they were in different objfiles, but that's -+	 wrong, too: TYPE may have a field list or member function -+	 lists, which refer to types of their own, etc. etc.  The -+	 whole shebang would need to be copied over recursively; you -+	 can't have inter-objfile pointers.  The only thing to do is -+	 to leave stub types as stub types, and look them up afresh by -+	 name each time you encounter them.  */ -+      gdb_assert (TYPE_OBJFILE (*typeptr) == TYPE_OBJFILE (type)); -     } -    -   ntype = make_qualified_type (type, new_flags, typeptr ? *typeptr : NULL); -@@ -562,6 +570,12 @@ replace_type (struct type *ntype, struct - { -   struct type *chain; -  -+  /* These two types had better be in the same objfile.  Otherwise, -+     the assignment of one type's main type structure to the other -+     will produce a type with references to objects (names; field -+     lists; etc.) allocated on an objfile other than its own.  */ -+  gdb_assert (TYPE_OBJFILE (ntype) == TYPE_OBJFILE (ntype)); -+ -   *TYPE_MAIN_TYPE (ntype) = *TYPE_MAIN_TYPE (type); -  -   /* The type length is not a part of the main type.  Update it for each -@@ -1416,8 +1430,24 @@ check_typedef (struct type *type) - 	  return type; - 	} -       newtype = lookup_transparent_type (name); -+ -       if (newtype) --	make_cv_type (is_const, is_volatile, newtype, &type); -+	{ -+	  /* If the resolved type and the stub are in the same objfile, -+	     then replace the stub type with the real deal.  But if -+	     they're in separate objfiles, leave the stub alone; we'll -+	     just look up the transparent type every time we call -+	     check_typedef.  We can't create pointers between types -+	     allocated to different objfiles, since they may have -+	     different lifetimes.  Trying to copy NEWTYPE over to TYPE's -+	     objfile is pointless, too, since you'll have to move over any -+	     other types NEWTYPE refers to, which could be an unbounded -+	     amount of stuff.  */ -+	  if (TYPE_OBJFILE (newtype) == TYPE_OBJFILE (type)) -+	    make_cv_type (is_const, is_volatile, newtype, &type); -+	  else -+	    type = newtype; -+	} -     } -   /* Otherwise, rely on the stub flag being set for opaque/stubbed types */ -   else if (TYPE_STUB (type) && !currently_reading_symtab) diff --git a/toolchain/gdb/6.3/750-debian_sparc-singlestep.patch b/toolchain/gdb/6.3/750-debian_sparc-singlestep.patch deleted file mode 100644 index 904883c2f..000000000 --- a/toolchain/gdb/6.3/750-debian_sparc-singlestep.patch +++ /dev/null @@ -1,37 +0,0 @@ -Status: submitted for comments - -2004-11-13  Daniel Jacobowitz  <dan@debian.org> - -	* sparc-tdep.c (sparc_software_single_step): Handle stepping to NULL. - -Index: gdb-6.3/gdb/sparc-tdep.c -=================================================================== ---- gdb-6.3.orig/gdb/sparc-tdep.c	2004-06-06 22:02:55.000000000 -0400 -+++ gdb-6.3/gdb/sparc-tdep.c	2004-11-13 17:06:05.000000000 -0500 -@@ -1026,10 +1026,10 @@ -  -   if (insert_breakpoints_p) -     { --      CORE_ADDR pc; -+      CORE_ADDR pc, orig_npc; -  -       pc = sparc_address_from_register (tdep->pc_regnum); --      npc = sparc_address_from_register (tdep->npc_regnum); -+      orig_npc = npc = sparc_address_from_register (tdep->npc_regnum); -  -       /* Analyze the instruction at PC.  */ -       nnpc = sparc_analyze_control_transfer (pc, &npc); -@@ -1039,9 +1039,10 @@ - 	target_insert_breakpoint (nnpc, nnpc_save); -  -       /* Assert that we have set at least one breakpoint, and that --         they're not set at the same spot.  */ --      gdb_assert (npc != 0 || nnpc != 0); --      gdb_assert (nnpc != npc); -+         they're not set at the same spot - unless we're going -+	 from here straight to NULL, i.e. a call or jump to 0.  */ -+      gdb_assert (npc != 0 || nnpc != 0 || orig_npc == 0); -+      gdb_assert (nnpc != npc || orig_npc == 0); -     } -   else -     { diff --git a/toolchain/gdb/6.3/760-debian_vsyscall-bfd-close-result.patch b/toolchain/gdb/6.3/760-debian_vsyscall-bfd-close-result.patch deleted file mode 100644 index 56002bed0..000000000 --- a/toolchain/gdb/6.3/760-debian_vsyscall-bfd-close-result.patch +++ /dev/null @@ -1,20 +0,0 @@ -2004-10-24  Daniel Jacobowitz  <dan@debian.org> - -	* opncls.c (bfd_close): Return TRUE for BFD_IN_MEMORY. - -Index: src/bfd/opncls.c -=================================================================== -RCS file: /big/fsf/rsync/src-cvs/src/bfd/opncls.c,v -retrieving revision 1.25 -diff -u -p -r1.25 opncls.c ---- src/bfd/opncls.c	10 Oct 2004 13:58:05 -0000	1.25 -+++ src/bfd/opncls.c	24 Oct 2004 17:52:53 -0000 -@@ -598,7 +598,7 @@ bfd_close (bfd *abfd) -   if (!(abfd->flags & BFD_IN_MEMORY)) -     ret = abfd->iovec->bclose (abfd); -   else --    ret = 0; -+    ret = TRUE; -  -   /* If the file was open for writing and is now executable, -      make it so.  */ diff --git a/toolchain/gdb/6.3/770-debian_vfork-done-spelling.patch b/toolchain/gdb/6.3/770-debian_vfork-done-spelling.patch deleted file mode 100644 index f65db8d09..000000000 --- a/toolchain/gdb/6.3/770-debian_vfork-done-spelling.patch +++ /dev/null @@ -1,31 +0,0 @@ -Index: gdb-6.3/gdb/linux-nat.c -=================================================================== ---- gdb-6.3.orig/gdb/linux-nat.c	2004-11-14 00:36:41.000000000 -0500 -+++ gdb-6.3/gdb/linux-nat.c	2004-11-15 11:51:43.954161476 -0500 -@@ -69,7 +69,7 @@ - #define PTRACE_EVENT_VFORK	2 - #define PTRACE_EVENT_CLONE	3 - #define PTRACE_EVENT_EXEC	4 --#define PTRACE_EVENT_VFORKDONE	5 -+#define PTRACE_EVENT_VFORK_DONE	5 - #define PTRACE_EVENT_EXIT	6 -  - #endif /* PTRACE_EVENT_FORK */ -@@ -362,7 +362,7 @@ child_follow_fork (int follow_child) -  - 	      ptrace (PTRACE_CONT, parent_pid, 0, 0); - 	      waitpid (parent_pid, &status, __WALL); --	      if ((status >> 16) != PTRACE_EVENT_VFORKDONE) -+	      if ((status >> 16) != PTRACE_EVENT_VFORK_DONE) - 		warning ("Unexpected waitpid result %06x when waiting for " - 			 "vfork-done", status); - 	    } -@@ -434,7 +434,7 @@ child_follow_fork (int follow_child) - 	 generally not encounter vfork (vfork is defined to fork - 	 in libpthread.so). -  --	 The holding part is very easy if we have VFORKDONE events; -+	 The holding part is very easy if we have VFORK_DONE events; - 	 but keeping track of both processes is beyond GDB at the - 	 moment.  So we don't expose the parent to the rest of GDB. - 	 Instead we quietly hold onto it until such time as we can diff --git a/toolchain/gdb/6.3/780-debian_gdbserver-rdynamic.patch b/toolchain/gdb/6.3/780-debian_gdbserver-rdynamic.patch deleted file mode 100644 index 0311dde39..000000000 --- a/toolchain/gdb/6.3/780-debian_gdbserver-rdynamic.patch +++ /dev/null @@ -1,675 +0,0 @@ -Status: Commited to GDB after 6.3. - -Index: gdb-6.3/gdb/gdbserver/acinclude.m4 -=================================================================== ---- gdb-6.3.orig/gdb/gdbserver/acinclude.m4	2002-06-11 13:32:39.000000000 -0400 -+++ gdb-6.3/gdb/gdbserver/acinclude.m4	2004-12-07 17:19:31.115089905 -0500 -@@ -13,6 +13,7 @@ AC_DEFUN([SRV_CHECK_THREAD_DB], -    void ps_lsetregs() {} -    void ps_lgetfpregs() {} -    void ps_lsetfpregs() {} -+   void ps_get_thread_area() {} -    void ps_getpid() {}], -   [td_ta_new();], -   [srv_cv_thread_db="-lthread_db"], -@@ -32,10 +33,11 @@ AC_DEFUN([SRV_CHECK_THREAD_DB], -    void ps_lsetregs() {} -    void ps_lgetfpregs() {} -    void ps_lsetfpregs() {} -+   void ps_get_thread_area() {} -    void ps_getpid() {}], -   [td_ta_new();], -   [srv_cv_thread_db="$thread_db"], -   [srv_cv_thread_db=no]) -+  ]]) -  LIBS="$old_LIBS" -- ]]) - )]) -Index: gdb-6.3/gdb/gdbserver/configure -=================================================================== ---- gdb-6.3.orig/gdb/gdbserver/configure	2004-10-16 12:18:54.000000000 -0400 -+++ gdb-6.3/gdb/gdbserver/configure	2004-12-07 17:22:17.343129771 -0500 -@@ -28,6 +28,7 @@ program_suffix=NONE - program_transform_name=s,x,x, - silent= - site= -+sitefile= - srcdir= - target=NONE - verbose= -@@ -142,6 +143,7 @@ Configuration: -   --help                  print this message -   --no-create             do not create output files -   --quiet, --silent       do not print \`checking...' messages -+  --site-file=FILE        use FILE as the site file -   --version               print the version of autoconf that created configure - Directory and file names: -   --prefix=PREFIX         install architecture-independent files in PREFIX -@@ -312,6 +314,11 @@ EOF -   -site=* | --site=* | --sit=*) -     site="$ac_optarg" ;; -  -+  -site-file | --site-file | --site-fil | --site-fi | --site-f) -+    ac_prev=sitefile ;; -+  -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*) -+    sitefile="$ac_optarg" ;; -+ -   -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) -     ac_prev=srcdir ;; -   -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) -@@ -477,12 +484,16 @@ fi - srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` -  - # Prefer explicitly selected file to automatically selected ones. --if test -z "$CONFIG_SITE"; then --  if test "x$prefix" != xNONE; then --    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" --  else --    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" -+if test -z "$sitefile"; then -+  if test -z "$CONFIG_SITE"; then -+    if test "x$prefix" != xNONE; then -+      CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" -+    else -+      CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" -+    fi -   fi -+else -+  CONFIG_SITE="$sitefile" - fi - for ac_site_file in $CONFIG_SITE; do -   if test -r "$ac_site_file"; then -@@ -526,7 +537,7 @@ fi - # Extract the first word of "gcc", so it can be a program name with args. - set dummy gcc; ac_word=$2 - echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 --echo "configure:530: checking for $ac_word" >&5 -+echo "configure:541: checking for $ac_word" >&5 - if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then -   echo $ac_n "(cached) $ac_c" 1>&6 - else -@@ -556,7 +567,7 @@ if test -z "$CC"; then -   # Extract the first word of "cc", so it can be a program name with args. - set dummy cc; ac_word=$2 - echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 --echo "configure:560: checking for $ac_word" >&5 -+echo "configure:571: checking for $ac_word" >&5 - if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then -   echo $ac_n "(cached) $ac_c" 1>&6 - else -@@ -607,7 +618,7 @@ fi -       # Extract the first word of "cl", so it can be a program name with args. - set dummy cl; ac_word=$2 - echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 --echo "configure:611: checking for $ac_word" >&5 -+echo "configure:622: checking for $ac_word" >&5 - if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then -   echo $ac_n "(cached) $ac_c" 1>&6 - else -@@ -639,7 +650,7 @@ fi - fi -  - echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 --echo "configure:643: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 -+echo "configure:654: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 -  - ac_ext=c - # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -@@ -650,12 +661,12 @@ cross_compiling=$ac_cv_prog_cc_cross -  - cat > conftest.$ac_ext << EOF -  --#line 654 "configure" -+#line 665 "configure" - #include "confdefs.h" -  - main(){return(0);} - EOF --if { (eval echo configure:659: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then -+if { (eval echo configure:670: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then -   ac_cv_prog_cc_works=yes -   # If we can't run a trivial program, we are probably using a cross compiler. -   if (./conftest; exit) 2>/dev/null; then -@@ -681,12 +692,12 @@ if test $ac_cv_prog_cc_works = no; then -   { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } - fi - echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 --echo "configure:685: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 -+echo "configure:696: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 - echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 - cross_compiling=$ac_cv_prog_cc_cross -  - echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 --echo "configure:690: checking whether we are using GNU C" >&5 -+echo "configure:701: checking whether we are using GNU C" >&5 - if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then -   echo $ac_n "(cached) $ac_c" 1>&6 - else -@@ -695,7 +706,7 @@ else -   yes; - #endif - EOF --if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:699: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then -+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:710: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then -   ac_cv_prog_gcc=yes - else -   ac_cv_prog_gcc=no -@@ -714,7 +725,7 @@ ac_test_CFLAGS="${CFLAGS+set}" - ac_save_CFLAGS="$CFLAGS" - CFLAGS= - echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 --echo "configure:718: checking whether ${CC-cc} accepts -g" >&5 -+echo "configure:729: checking whether ${CC-cc} accepts -g" >&5 - if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then -   echo $ac_n "(cached) $ac_c" 1>&6 - else -@@ -793,7 +804,7 @@ else { echo "configure: error: can not r - fi -  - echo $ac_n "checking host system type""... $ac_c" 1>&6 --echo "configure:797: checking host system type" >&5 -+echo "configure:808: checking host system type" >&5 -  - host_alias=$host - case "$host_alias" in -@@ -814,7 +825,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)- - echo "$ac_t""$host" 1>&6 -  - echo $ac_n "checking target system type""... $ac_c" 1>&6 --echo "configure:818: checking target system type" >&5 -+echo "configure:829: checking target system type" >&5 -  - target_alias=$target - case "$target_alias" in -@@ -832,7 +843,7 @@ target_os=`echo $target | sed 's/^\([^-] - echo "$ac_t""$target" 1>&6 -  - echo $ac_n "checking build system type""... $ac_c" 1>&6 --echo "configure:836: checking build system type" >&5 -+echo "configure:847: checking build system type" >&5 -  - build_alias=$build - case "$build_alias" in -@@ -867,7 +878,7 @@ test "$host_alias" != "$target_alias" && - # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" - # ./install, which can be erroneously created by make from ./install.sh. - echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 --echo "configure:871: checking for a BSD compatible install" >&5 -+echo "configure:882: checking for a BSD compatible install" >&5 - if test -z "$INSTALL"; then - if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then -   echo $ac_n "(cached) $ac_c" 1>&6 -@@ -921,7 +932,7 @@ test -z "$INSTALL_DATA" && INSTALL_DATA= -  -  - echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 --echo "configure:925: checking how to run the C preprocessor" >&5 -+echo "configure:936: checking how to run the C preprocessor" >&5 - # On Suns, sometimes $CPP names a directory. - if test -n "$CPP" && test -d "$CPP"; then -   CPP= -@@ -936,13 +947,13 @@ else -   # On the NeXT, cc -E runs the code through the compiler's parser, -   # not just through cpp. -   cat > conftest.$ac_ext <<EOF --#line 940 "configure" -+#line 951 "configure" - #include "confdefs.h" - #include <assert.h> - Syntax Error - EOF - ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" --{ (eval echo configure:946: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -+{ (eval echo configure:957: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } - ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` - if test -z "$ac_err"; then -   : -@@ -953,13 +964,13 @@ else -   rm -rf conftest* -   CPP="${CC-cc} -E -traditional-cpp" -   cat > conftest.$ac_ext <<EOF --#line 957 "configure" -+#line 968 "configure" - #include "confdefs.h" - #include <assert.h> - Syntax Error - EOF - ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" --{ (eval echo configure:963: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -+{ (eval echo configure:974: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } - ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` - if test -z "$ac_err"; then -   : -@@ -970,13 +981,13 @@ else -   rm -rf conftest* -   CPP="${CC-cc} -nologo -E" -   cat > conftest.$ac_ext <<EOF --#line 974 "configure" -+#line 985 "configure" - #include "confdefs.h" - #include <assert.h> - Syntax Error - EOF - ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" --{ (eval echo configure:980: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -+{ (eval echo configure:991: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } - ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` - if test -z "$ac_err"; then -   : -@@ -1001,12 +1012,12 @@ fi - echo "$ac_t""$CPP" 1>&6 -  - echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 --echo "configure:1005: checking for ANSI C header files" >&5 -+echo "configure:1016: checking for ANSI C header files" >&5 - if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then -   echo $ac_n "(cached) $ac_c" 1>&6 - else -   cat > conftest.$ac_ext <<EOF --#line 1010 "configure" -+#line 1021 "configure" - #include "confdefs.h" - #include <stdlib.h> - #include <stdarg.h> -@@ -1014,7 +1025,7 @@ else - #include <float.h> - EOF - ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" --{ (eval echo configure:1018: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -+{ (eval echo configure:1029: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } - ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` - if test -z "$ac_err"; then -   rm -rf conftest* -@@ -1031,7 +1042,7 @@ rm -f conftest* - if test $ac_cv_header_stdc = yes; then -   # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat > conftest.$ac_ext <<EOF --#line 1035 "configure" -+#line 1046 "configure" - #include "confdefs.h" - #include <string.h> - EOF -@@ -1049,7 +1060,7 @@ fi - if test $ac_cv_header_stdc = yes; then -   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat > conftest.$ac_ext <<EOF --#line 1053 "configure" -+#line 1064 "configure" - #include "confdefs.h" - #include <stdlib.h> - EOF -@@ -1070,7 +1081,7 @@ if test "$cross_compiling" = yes; then -   : - else -   cat > conftest.$ac_ext <<EOF --#line 1074 "configure" -+#line 1085 "configure" - #include "confdefs.h" - #include <ctype.h> - #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -@@ -1081,7 +1092,7 @@ if (XOR (islower (i), ISLOWER (i)) || to - exit (0); } -  - EOF --if { (eval echo configure:1085: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -+if { (eval echo configure:1096: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null - then -   : - else -@@ -1109,17 +1120,17 @@ for ac_hdr in sgtty.h termio.h termios.h - do - ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` - echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 --echo "configure:1113: checking for $ac_hdr" >&5 -+echo "configure:1124: checking for $ac_hdr" >&5 - if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then -   echo $ac_n "(cached) $ac_c" 1>&6 - else -   cat > conftest.$ac_ext <<EOF --#line 1118 "configure" -+#line 1129 "configure" - #include "confdefs.h" - #include <$ac_hdr> - EOF - ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" --{ (eval echo configure:1123: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -+{ (eval echo configure:1134: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } - ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` - if test -z "$ac_err"; then -   rm -rf conftest* -@@ -1147,12 +1158,12 @@ done -  -  - echo $ac_n "checking whether strerror must be declared""... $ac_c" 1>&6 --echo "configure:1151: checking whether strerror must be declared" >&5 -+echo "configure:1162: checking whether strerror must be declared" >&5 - if eval "test \"`echo '$''{'bfd_cv_decl_needed_strerror'+set}'`\" = set"; then -   echo $ac_n "(cached) $ac_c" 1>&6 - else -   cat > conftest.$ac_ext <<EOF --#line 1156 "configure" -+#line 1167 "configure" - #include "confdefs.h" -  - #include <stdio.h> -@@ -1173,7 +1184,7 @@ int main() { - char *(*pfn) = (char *(*)) strerror - ; return 0; } - EOF --if { (eval echo configure:1177: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then -+if { (eval echo configure:1188: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then -   rm -rf conftest* -   bfd_cv_decl_needed_strerror=no - else -@@ -1205,19 +1216,19 @@ fi -  - if test "${srv_linux_regsets}" = "yes"; then -   echo $ac_n "checking for PTRACE_GETREGS""... $ac_c" 1>&6 --echo "configure:1209: checking for PTRACE_GETREGS" >&5 -+echo "configure:1220: checking for PTRACE_GETREGS" >&5 -   if eval "test \"`echo '$''{'gdbsrv_cv_have_ptrace_getregs'+set}'`\" = set"; then -   echo $ac_n "(cached) $ac_c" 1>&6 - else -   cat > conftest.$ac_ext <<EOF --#line 1214 "configure" -+#line 1225 "configure" - #include "confdefs.h" - #include <sys/ptrace.h> - int main() { - PTRACE_GETREGS; - ; return 0; } - EOF --if { (eval echo configure:1221: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then -+if { (eval echo configure:1232: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then -   rm -rf conftest* -   gdbsrv_cv_have_ptrace_getregs=yes - else -@@ -1238,19 +1249,19 @@ EOF -   fi -  -   echo $ac_n "checking for PTRACE_GETFPXREGS""... $ac_c" 1>&6 --echo "configure:1242: checking for PTRACE_GETFPXREGS" >&5 -+echo "configure:1253: checking for PTRACE_GETFPXREGS" >&5 -   if eval "test \"`echo '$''{'gdbsrv_cv_have_ptrace_getfpxregs'+set}'`\" = set"; then -   echo $ac_n "(cached) $ac_c" 1>&6 - else -   cat > conftest.$ac_ext <<EOF --#line 1247 "configure" -+#line 1258 "configure" - #include "confdefs.h" - #include <sys/ptrace.h> - int main() { - PTRACE_GETFPXREGS; - ; return 0; } - EOF --if { (eval echo configure:1254: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then -+if { (eval echo configure:1265: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then -   rm -rf conftest* -   gdbsrv_cv_have_ptrace_getfpxregs=yes - else -@@ -1273,12 +1284,12 @@ fi -  - if test "$ac_cv_header_sys_procfs_h" = yes; then -   echo $ac_n "checking for lwpid_t in sys/procfs.h""... $ac_c" 1>&6 --echo "configure:1277: checking for lwpid_t in sys/procfs.h" >&5 -+echo "configure:1288: checking for lwpid_t in sys/procfs.h" >&5 -  if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_lwpid_t'+set}'`\" = set"; then -   echo $ac_n "(cached) $ac_c" 1>&6 - else -   cat > conftest.$ac_ext <<EOF --#line 1282 "configure" -+#line 1293 "configure" - #include "confdefs.h" -  - #define _SYSCALL32 -@@ -1287,7 +1298,7 @@ int main() { - lwpid_t avar - ; return 0; } - EOF --if { (eval echo configure:1291: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then -+if { (eval echo configure:1302: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then -   rm -rf conftest* -   bfd_cv_have_sys_procfs_type_lwpid_t=yes - else -@@ -1309,12 +1320,12 @@ EOF -  echo "$ac_t""$bfd_cv_have_sys_procfs_type_lwpid_t" 1>&6 -  -   echo $ac_n "checking for psaddr_t in sys/procfs.h""... $ac_c" 1>&6 --echo "configure:1313: checking for psaddr_t in sys/procfs.h" >&5 -+echo "configure:1324: checking for psaddr_t in sys/procfs.h" >&5 -  if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_psaddr_t'+set}'`\" = set"; then -   echo $ac_n "(cached) $ac_c" 1>&6 - else -   cat > conftest.$ac_ext <<EOF --#line 1318 "configure" -+#line 1329 "configure" - #include "confdefs.h" -  - #define _SYSCALL32 -@@ -1323,7 +1334,7 @@ int main() { - psaddr_t avar - ; return 0; } - EOF --if { (eval echo configure:1327: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then -+if { (eval echo configure:1338: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then -   rm -rf conftest* -   bfd_cv_have_sys_procfs_type_psaddr_t=yes - else -@@ -1345,12 +1356,12 @@ EOF -  echo "$ac_t""$bfd_cv_have_sys_procfs_type_psaddr_t" 1>&6 -  -   echo $ac_n "checking for prgregset_t in sys/procfs.h""... $ac_c" 1>&6 --echo "configure:1349: checking for prgregset_t in sys/procfs.h" >&5 -+echo "configure:1360: checking for prgregset_t in sys/procfs.h" >&5 -  if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prgregset_t'+set}'`\" = set"; then -   echo $ac_n "(cached) $ac_c" 1>&6 - else -   cat > conftest.$ac_ext <<EOF --#line 1354 "configure" -+#line 1365 "configure" - #include "confdefs.h" -  - #define _SYSCALL32 -@@ -1359,7 +1370,7 @@ int main() { - prgregset_t avar - ; return 0; } - EOF --if { (eval echo configure:1363: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then -+if { (eval echo configure:1374: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then -   rm -rf conftest* -   bfd_cv_have_sys_procfs_type_prgregset_t=yes - else -@@ -1381,12 +1392,12 @@ EOF -  echo "$ac_t""$bfd_cv_have_sys_procfs_type_prgregset_t" 1>&6 -  -   echo $ac_n "checking for prfpregset_t in sys/procfs.h""... $ac_c" 1>&6 --echo "configure:1385: checking for prfpregset_t in sys/procfs.h" >&5 -+echo "configure:1396: checking for prfpregset_t in sys/procfs.h" >&5 -  if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prfpregset_t'+set}'`\" = set"; then -   echo $ac_n "(cached) $ac_c" 1>&6 - else -   cat > conftest.$ac_ext <<EOF --#line 1390 "configure" -+#line 1401 "configure" - #include "confdefs.h" -  - #define _SYSCALL32 -@@ -1395,7 +1406,7 @@ int main() { - prfpregset_t avar - ; return 0; } - EOF --if { (eval echo configure:1399: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then -+if { (eval echo configure:1410: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then -   rm -rf conftest* -   bfd_cv_have_sys_procfs_type_prfpregset_t=yes - else -@@ -1421,7 +1432,7 @@ EOF -          -   if test $bfd_cv_have_sys_procfs_type_prfpregset_t = yes; then -     echo $ac_n "checking whether prfpregset_t type is broken""... $ac_c" 1>&6 --echo "configure:1425: checking whether prfpregset_t type is broken" >&5 -+echo "configure:1436: checking whether prfpregset_t type is broken" >&5 -     if eval "test \"`echo '$''{'gdb_cv_prfpregset_t_broken'+set}'`\" = set"; then -   echo $ac_n "(cached) $ac_c" 1>&6 - else -@@ -1429,7 +1440,7 @@ else -   gdb_cv_prfpregset_t_broken=yes - else -   cat > conftest.$ac_ext <<EOF --#line 1433 "configure" -+#line 1444 "configure" - #include "confdefs.h" - #include <sys/procfs.h> -        int main () -@@ -1439,7 +1450,7 @@ else -          return 0; -        } - EOF --if { (eval echo configure:1443: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -+if { (eval echo configure:1454: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null - then -   gdb_cv_prfpregset_t_broken=no - else -@@ -1463,12 +1474,12 @@ EOF -   fi -  -   echo $ac_n "checking for elf_fpregset_t in sys/procfs.h""... $ac_c" 1>&6 --echo "configure:1467: checking for elf_fpregset_t in sys/procfs.h" >&5 -+echo "configure:1478: checking for elf_fpregset_t in sys/procfs.h" >&5 -  if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_elf_fpregset_t'+set}'`\" = set"; then -   echo $ac_n "(cached) $ac_c" 1>&6 - else -   cat > conftest.$ac_ext <<EOF --#line 1472 "configure" -+#line 1483 "configure" - #include "confdefs.h" -  - #define _SYSCALL32 -@@ -1477,7 +1488,7 @@ int main() { - elf_fpregset_t avar - ; return 0; } - EOF --if { (eval echo configure:1481: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then -+if { (eval echo configure:1492: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then -   rm -rf conftest* -   bfd_cv_have_sys_procfs_type_elf_fpregset_t=yes - else -@@ -1506,14 +1517,14 @@ USE_THREAD_DB= -  - if test "$srv_linux_thread_db" = "yes"; then -   echo $ac_n "checking for libthread_db""... $ac_c" 1>&6 --echo "configure:1510: checking for libthread_db" >&5 -+echo "configure:1521: checking for libthread_db" >&5 - if eval "test \"`echo '$''{'srv_cv_thread_db'+set}'`\" = set"; then -   echo $ac_n "(cached) $ac_c" 1>&6 - else -   old_LIBS="$LIBS" -   LIBS="$LIBS -lthread_db" -   cat > conftest.$ac_ext <<EOF --#line 1517 "configure" -+#line 1528 "configure" - #include "confdefs.h" - void ps_pglobal_lookup() {} -    void ps_pdread() {} -@@ -1522,12 +1533,13 @@ void ps_pglobal_lookup() {} -    void ps_lsetregs() {} -    void ps_lgetfpregs() {} -    void ps_lsetfpregs() {} -+   void ps_get_thread_area() {} -    void ps_getpid() {} - int main() { - td_ta_new(); - ; return 0; } - EOF --if { (eval echo configure:1531: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then -+if { (eval echo configure:1543: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then -   rm -rf conftest* -   srv_cv_thread_db="-lthread_db" - else -@@ -1543,7 +1555,7 @@ else -  fi -  LIBS="$old_LIBS `eval echo "$thread_db"`" -  cat > conftest.$ac_ext <<EOF --#line 1547 "configure" -+#line 1559 "configure" - #include "confdefs.h" - void ps_pglobal_lookup() {} -    void ps_pdread() {} -@@ -1552,12 +1564,13 @@ void ps_pglobal_lookup() {} -    void ps_lsetregs() {} -    void ps_lgetfpregs() {} -    void ps_lsetfpregs() {} -+   void ps_get_thread_area() {} -    void ps_getpid() {} - int main() { - td_ta_new(); - ; return 0; } - EOF --if { (eval echo configure:1561: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then -+if { (eval echo configure:1574: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then -   rm -rf conftest* -   srv_cv_thread_db="$thread_db" - else -@@ -1567,11 +1580,11 @@ else -   srv_cv_thread_db=no - fi - rm -f conftest* -- LIBS="$old_LIBS" --  -+   - fi -  - echo "$ac_t""$srv_cv_thread_db" 1>&6 -+ LIBS="$old_LIBS" -  - fi - rm -f conftest* -@@ -1585,14 +1598,14 @@ rm -f conftest* -   old_LDFLAGS="$LDFLAGS" -   LDFLAGS="$LDFLAGS -rdynamic" -   cat > conftest.$ac_ext <<EOF --#line 1589 "configure" -+#line 1602 "configure" - #include "confdefs.h" -  - int main() { -  - ; return 0; } - EOF --if { (eval echo configure:1596: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then -+if { (eval echo configure:1609: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then -   rm -rf conftest* -   RDYNAMIC=-rdynamic - else -Index: gdb-6.3/gdb/gdbserver/aclocal.m4 -=================================================================== ---- gdb-6.3.orig/gdb/gdbserver/aclocal.m4	2002-06-11 13:32:39.000000000 -0400 -+++ gdb-6.3/gdb/gdbserver/aclocal.m4	2004-12-07 17:22:00.382495519 -0500 -@@ -1,4 +1,4 @@ --dnl aclocal.m4 generated automatically by aclocal 1.4-p4 -+dnl aclocal.m4 generated automatically by aclocal 1.4 -  - dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. - dnl This file is free software; the Free Software Foundation -@@ -25,6 +25,7 @@ AC_DEFUN([SRV_CHECK_THREAD_DB], -    void ps_lsetregs() {} -    void ps_lgetfpregs() {} -    void ps_lsetfpregs() {} -+   void ps_get_thread_area() {} -    void ps_getpid() {}], -   [td_ta_new();], -   [srv_cv_thread_db="-lthread_db"], -@@ -44,11 +45,12 @@ AC_DEFUN([SRV_CHECK_THREAD_DB], -    void ps_lsetregs() {} -    void ps_lgetfpregs() {} -    void ps_lsetfpregs() {} -+   void ps_get_thread_area() {} -    void ps_getpid() {}], -   [td_ta_new();], -   [srv_cv_thread_db="$thread_db"], -   [srv_cv_thread_db=no]) -+  ]]) -  LIBS="$old_LIBS" -- ]]) - )]) -  diff --git a/toolchain/gdb/6.3/790-debian_dwarf2-cfi-warning.patch b/toolchain/gdb/6.3/790-debian_dwarf2-cfi-warning.patch deleted file mode 100644 index cfb3d95de..000000000 --- a/toolchain/gdb/6.3/790-debian_dwarf2-cfi-warning.patch +++ /dev/null @@ -1,39 +0,0 @@ -Status: Unsuitable for upstream (at least, without a lot of arguing). - -GCC does not specify the state of every last register in the CIE.  Since -GCC's focus is on correctness of runtime unwinding, any registers which -have to be unwound will be specified; but unmodified registers will not -be explicitly marked.  (How about modified, call-clobbered registers? -I'm not sure if they are marked as unavailable.) - -GDB issues a noisy warning about this.  The warning is generally not useful, -and we can get it extremely frequently (any time we load a new CIE). - -This patch disables the warning.  Alternately we could set the complaints -threshold to zero, or implement a default frame init-register method for -every architecture.  But someday the compiler will support using different -calling conventions for internal functions, so that's not much of a stopgap.  -ARM has a complex algorithm for handling this, involving scanning all CIEs - -benefit not completely clear outside of the ARM context of flexible register -sets. - -Index: gdb-6.3/gdb/dwarf2-frame.c -=================================================================== ---- gdb-6.3.orig/gdb/dwarf2-frame.c	2004-11-15 11:54:57.000000000 -0500 -+++ gdb-6.3/gdb/dwarf2-frame.c	2004-12-08 18:02:23.896409471 -0500 -@@ -705,9 +705,12 @@ dwarf2_frame_cache (struct frame_info *n - 	   table.  We need a way of iterating through all the valid - 	   DWARF2 register numbers.  */ - 	if (fs->regs.reg[column].how == DWARF2_FRAME_REG_UNSPECIFIED) --	  complaint (&symfile_complaints, --		     "Incomplete CFI data; unspecified registers at 0x%s", --		     paddr (fs->pc)); -+	  { -+	    if (0) -+	      complaint (&symfile_complaints, -+			 "Incomplete CFI data; unspecified registers at 0x%s", -+			 paddr (fs->pc)); -+	  } - 	else - 	  cache->reg[regnum] = fs->regs.reg[column]; -       } diff --git a/toolchain/gdb/6.3/800-debian_linux-use-underscore-exit.patch b/toolchain/gdb/6.3/800-debian_linux-use-underscore-exit.patch deleted file mode 100644 index 198918ccc..000000000 --- a/toolchain/gdb/6.3/800-debian_linux-use-underscore-exit.patch +++ /dev/null @@ -1,22 +0,0 @@ -Status: committed upstream after 6.3.  Fixes some terminal mangling in -gdbtui. - -2004-12-04  Daniel Jacobowitz  <dan@debian.org> - -	PR tui/1703 -	* linux-nat.c (linux_tracefork_child): Use _exit instead of exit. -	Suggested by Joshua Neuheisel. - -Index: gdb-6.3/gdb/linux-nat.c -=================================================================== ---- gdb-6.3.orig/gdb/linux-nat.c	2004-12-08 18:22:04.996973094 -0500 -+++ gdb-6.3/gdb/linux-nat.c	2004-12-08 18:22:20.386956067 -0500 -@@ -147,7 +147,7 @@ linux_tracefork_child (void) -   ptrace (PTRACE_TRACEME, 0, 0, 0); -   kill (getpid (), SIGSTOP); -   fork (); --  exit (0); -+  _exit (0); - } -  - /* Wrapper function for waitpid which handles EINTR.  */ diff --git a/toolchain/gdb/6.3/810-debian_bfd-no-kylix-crash.patch b/toolchain/gdb/6.3/810-debian_bfd-no-kylix-crash.patch deleted file mode 100644 index 9aba5ca23..000000000 --- a/toolchain/gdb/6.3/810-debian_bfd-no-kylix-crash.patch +++ /dev/null @@ -1,47 +0,0 @@ -Status: committed upstream after 6.3. - -Fix a crash triggered by Kylix libraries. - -2004-12-06  Daniel Jacobowitz  <dan@debian.org> - -	Suggested by Fergal Daly <fergal@esatclear.ie>: -	* simple.c (simple_dummy_multiple_definition): New function. -	(bfd_simple_get_relocated_section_contents): Use it. - -Index: src/bfd/simple.c -=================================================================== -RCS file: /cvs/src/src/bfd/simple.c,v -retrieving revision 1.19 -retrieving revision 1.20 -Index: gdb-6.3/bfd/simple.c -=================================================================== ---- gdb-6.3.orig/bfd/simple.c	2004-09-24 03:07:19.000000000 -0400 -+++ gdb-6.3/bfd/simple.c	2004-12-08 18:25:58.415216808 -0500 -@@ -78,6 +78,19 @@ simple_dummy_unattached_reloc (struct bf -   return TRUE; - } -  -+static bfd_boolean -+simple_dummy_multiple_definition (struct bfd_link_info *link_info ATTRIBUTE_UNUSED, -+				  const char *name ATTRIBUTE_UNUSED, -+				  bfd *obfd ATTRIBUTE_UNUSED, -+				  asection *osec ATTRIBUTE_UNUSED, -+				  bfd_vma oval ATTRIBUTE_UNUSED, -+				  bfd *nbfd ATTRIBUTE_UNUSED, -+				  asection *nsec ATTRIBUTE_UNUSED, -+				  bfd_vma nval ATTRIBUTE_UNUSED) -+{ -+  return TRUE; -+} -+ - struct saved_output_info - { -   bfd_vma offset; -@@ -172,6 +185,7 @@ bfd_simple_get_relocated_section_content -   callbacks.reloc_overflow = simple_dummy_reloc_overflow; -   callbacks.reloc_dangerous = simple_dummy_reloc_dangerous; -   callbacks.unattached_reloc = simple_dummy_unattached_reloc; -+  callbacks.multiple_definition = simple_dummy_multiple_definition; -  -   memset (&link_order, 0, sizeof (link_order)); -   link_order.next = NULL; diff --git a/toolchain/gdb/6.3/820-debian_disable-linux-fork-messages.patch b/toolchain/gdb/6.3/820-debian_disable-linux-fork-messages.patch deleted file mode 100644 index 60730abc1..000000000 --- a/toolchain/gdb/6.3/820-debian_disable-linux-fork-messages.patch +++ /dev/null @@ -1,46 +0,0 @@ -Status: Proposed upstream after 6.3, not yet committed. - -2004-12-06  Daniel Jacobowitz  <dan@debian.org> - -	* linux-nat.c (child_follow_fork): Call target_terminal_ours before -	printing output.  Use fprintf_unfiltered.  Only print output when -	debugging. - -Index: gdb-6.3/gdb/linux-nat.c -=================================================================== ---- gdb-6.3.orig/gdb/linux-nat.c	2004-12-08 18:22:20.386956067 -0500 -+++ gdb-6.3/gdb/linux-nat.c	2004-12-08 18:28:49.995585970 -0500 -@@ -347,9 +347,13 @@ child_follow_fork (int follow_child) - 	 also, but they'll be reinserted below.  */ -       detach_breakpoints (child_pid); -  --      fprintf_filtered (gdb_stdout, --			"Detaching after fork from child process %d.\n", --			child_pid); -+      if (debug_linux_nat) -+	{ -+	  target_terminal_ours (); -+	  fprintf_unfiltered (gdb_stdlog, -+			      "Detaching after fork from child process %d.\n", -+			      child_pid); -+	} -  -       ptrace (PTRACE_DETACH, child_pid, 0, 0); -  -@@ -418,9 +422,13 @@ child_follow_fork (int follow_child) -       /* Before detaching from the parent, remove all breakpoints from it. */ -       remove_breakpoints (); -  --      fprintf_filtered (gdb_stdout, --			"Attaching after fork to child process %d.\n", --			child_pid); -+      if (debug_linux_nat) -+	{ -+	  target_terminal_ours (); -+	  fprintf_unfiltered (gdb_stdlog, -+			      "Attaching after fork to child process %d.\n", -+			      child_pid); -+	} -  -       /* If we're vforking, we may want to hold on to the parent until - 	 the child exits or execs.  At exec time we can remove the old diff --git a/toolchain/gdb/Config.in b/toolchain/gdb/Config.in index 4163cf166..e193fb93c 100644 --- a/toolchain/gdb/Config.in +++ b/toolchain/gdb/Config.in @@ -25,16 +25,6 @@ choice  	help  	  Select the version of gdb you wish to use. -	config BR2_GDB_VERSION_6_2_1 -		bool "gdb 6.2.1" -		depends on !BR2_avr32 && !BR2_nios2 -		depends on BR2_DEPRECATED - -	config BR2_GDB_VERSION_6_3 -		bool "gdb 6.3" -		depends on !BR2_avr32 && !BR2_nios2 -		depends on BR2_DEPRECATED -  	config BR2_GDB_VERSION_6_4  		bool "gdb 6.4"  		depends on !BR2_avr32 && !BR2_nios2 @@ -61,8 +51,6 @@ endchoice  config BR2_GDB_VERSION  	string -	default "6.2.1"    if BR2_GDB_VERSION_6_2_1 -	default "6.3"      if BR2_GDB_VERSION_6_3  	default "6.4"      if BR2_GDB_VERSION_6_4  	default "6.5"      if BR2_GDB_VERSION_6_5  	default "6.6"      if BR2_GDB_VERSION_6_6 diff --git a/toolchain/gdb/gdb.mk b/toolchain/gdb/gdb.mk index 7e85b0070..ba8a1f273 100644 --- a/toolchain/gdb/gdb.mk +++ b/toolchain/gdb/gdb.mk @@ -21,15 +21,6 @@ endif  GDB_DIR:=$(TOOL_BUILD_DIR)/gdb-$(GDB_OFFICIAL_VERSION) -# NOTE: This option should not be used with gdb versions 6.4 and above. -ifeq ($(GDB_VERSION),6.2.1) -DISABLE_GDBMI:=--disable-gdbmi -endif - -ifeq ($(GDB_VERSION),6.3) -DISABLE_GDBMI:=--disable-gdbmi -endif -  $(DL_DIR)/$(GDB_SOURCE):  	$(call DOWNLOAD,$(GDB_SITE),$(GDB_SOURCE)) | 
