- Upgrade to GDB 6.6. Drop redundant patches, forward-port remaining ones.

- Backported post gdb-6.6 release ia64 unwinding fixups.
- Testcase for exec() from threaded program (BZ 202689).
- Resolves: rhbz#221125
- Related: rhbz#202689
This commit is contained in:
Jan Kratochvil 2007-01-21 01:53:01 +00:00
commit aefb0e1e23
19 changed files with 785 additions and 1466 deletions

View file

@ -16,11 +16,11 @@
* Makefile.in: Dependencies updated.
Index: gdb-6.5/gdb/Makefile.in
Index: gdb-6.6/gdb/Makefile.in
===================================================================
--- gdb-6.5.orig/gdb/Makefile.in 21 Sep 2006 14:00:53 -0000 1.844
+++ gdb-6.5/gdb/Makefile.in 1 Oct 2006 16:22:42 -0000
@@ -696,6 +696,7 @@ gdb_h = gdb.h
--- gdb-6.6.orig/gdb/Makefile.in 2007-01-20 06:43:02.000000000 +0100
+++ gdb-6.6/gdb/Makefile.in 2007-01-20 06:57:16.000000000 +0100
@@ -705,6 +705,7 @@ gdb_expat_h = gdb_expat.h
gdb_locale_h = gdb_locale.h
gdb_obstack_h = gdb_obstack.h $(obstack_h)
gdb_proc_service_h = gdb_proc_service.h $(gregset_h)
@ -28,7 +28,7 @@ Index: gdb-6.5/gdb/Makefile.in
gdb_ptrace_h = gdb_ptrace.h
gdb_regex_h = gdb_regex.h $(xregex_h)
gdb_select_h = gdb_select.h
@@ -705,6 +706,7 @@ gdb_string_h = gdb_string.h
@@ -714,6 +715,7 @@ gdb_string_h = gdb_string.h
gdb_thread_db_h = gdb_thread_db.h
gdbthread_h = gdbthread.h $(breakpoint_h) $(frame_h)
gdbtypes_h = gdbtypes.h $(hashtab_h)
@ -36,21 +36,21 @@ Index: gdb-6.5/gdb/Makefile.in
gdb_vfork_h = gdb_vfork.h
gdb_wait_h = gdb_wait.h
glibc_tdep_h = glibc-tdep.h
@@ -1743,7 +1745,8 @@ amd64fbsd-tdep.o: amd64fbsd-tdep.c $(def
@@ -1779,7 +1781,8 @@ amd64fbsd-tdep.o: amd64fbsd-tdep.c $(def
amd64-linux-nat.o: amd64-linux-nat.c $(defs_h) $(inferior_h) $(gdbcore_h) \
$(regcache_h) $(linux_nat_h) $(gdb_assert_h) $(gdb_string_h) \
$(gdb_proc_service_h) $(gregset_h) $(amd64_tdep_h) \
- $(i386_linux_tdep_h) $(amd64_nat_h) $(target_h)
+ $(i386_linux_tdep_h) $(amd64_nat_h) $(target_h) \
- $(i386_linux_tdep_h) $(amd64_nat_h) $(target_h) $(amd64_linux_tdep_h)
+ $(i386_linux_tdep_h) $(amd64_nat_h) $(target_h) $(amd64_linux_tdep_h) \
+ $(i387_tdep_h) $(elf_bfd_h) $(gdb_procfs32_h)
amd64-linux-tdep.o: amd64-linux-tdep.c $(defs_h) $(frame_h) $(gdbcore_h) \
$(regcache_h) $(osabi_h) $(symtab_h) $(gdb_string_h) $(amd64_tdep_h) \
$(solib_svr4_h)
Index: gdb-6.5/gdb/amd64-linux-nat.c
$(solib_svr4_h) $(gdbtypes_h) $(reggroups_h) $(amd64_linux_tdep_h)
Index: gdb-6.6/gdb/amd64-linux-nat.c
===================================================================
--- gdb-6.5.orig/gdb/amd64-linux-nat.c 19 Aug 2006 15:15:18 -0000 1.13
+++ gdb-6.5/gdb/amd64-linux-nat.c 1 Oct 2006 16:22:42 -0000
@@ -52,6 +52,9 @@
--- gdb-6.6.orig/gdb/amd64-linux-nat.c 2007-01-20 06:43:00.000000000 +0100
+++ gdb-6.6/gdb/amd64-linux-nat.c 2007-01-20 06:56:21.000000000 +0100
@@ -53,6 +53,9 @@
#include "amd64-tdep.h"
#include "i386-linux-tdep.h"
#include "amd64-nat.h"
@ -60,7 +60,7 @@ Index: gdb-6.5/gdb/amd64-linux-nat.c
/* Mapping between the general-purpose registers in GNU/Linux x86-64
`struct user' format and GDB's register cache layout. */
@@ -86,6 +89,35 @@ static int amd64_linux_gregset64_reg_off
@@ -87,6 +90,35 @@ static int amd64_linux_gregset64_reg_off
GNU/Linux i386 registers are all 32-bit, but since we're
little-endian we get away with that. */
@ -96,7 +96,7 @@ Index: gdb-6.5/gdb/amd64-linux-nat.c
/* From <sys/reg.h> on GNU/Linux i386. */
static int amd64_linux_gregset32_reg_offset[] =
{
@@ -104,6 +136,94 @@ static int amd64_linux_gregset32_reg_off
@@ -105,6 +137,94 @@ static int amd64_linux_gregset32_reg_off
};
@ -191,7 +191,7 @@ Index: gdb-6.5/gdb/amd64-linux-nat.c
/* Transfering the general-purpose registers between GDB, inferiors
and core files. */
@@ -406,6 +526,11 @@ _initialize_amd64_linux_nat (void)
@@ -529,6 +649,11 @@ _initialize_amd64_linux_nat (void)
t->to_fetch_registers = amd64_linux_fetch_inferior_registers;
t->to_store_registers = amd64_linux_store_inferior_registers;
@ -202,11 +202,11 @@ Index: gdb-6.5/gdb/amd64-linux-nat.c
+
/* Register the target. */
linux_nat_add_target (t);
}
Index: gdb-6.5/gdb/config.in
Index: gdb-6.6/gdb/config.in
===================================================================
--- gdb-6.5.orig/gdb/config.in 8 Aug 2006 20:32:15 -0000 1.84
+++ gdb-6.5/gdb/config.in 1 Oct 2006 16:22:42 -0000
--- gdb-6.6.orig/gdb/config.in 2006-08-08 22:32:15.000000000 +0200
+++ gdb-6.6/gdb/config.in 2007-01-20 06:56:21.000000000 +0100
@@ -373,6 +373,9 @@
/* Define to 1 if you have the <sys/poll.h> header file. */
#undef HAVE_SYS_POLL_H
@ -227,11 +227,11 @@ Index: gdb-6.5/gdb/config.in
/* Define to 1 if you have the <sys/user.h> header file. */
#undef HAVE_SYS_USER_H
Index: gdb-6.5/gdb/configure
Index: gdb-6.6/gdb/configure
===================================================================
--- gdb-6.5.orig/gdb/configure 2006-10-01 18:43:40.000000000 +0200
+++ gdb-6.5/gdb/configure 2006-10-01 18:40:44.000000000 +0200
@@ -11949,6 +11949,157 @@
--- gdb-6.6.orig/gdb/configure 2007-01-20 06:43:00.000000000 +0100
+++ gdb-6.6/gdb/configure 2007-01-20 06:56:21.000000000 +0100
@@ -9966,6 +9966,157 @@ done
@ -389,11 +389,11 @@ Index: gdb-6.5/gdb/configure
for ac_header in sys/wait.h wait.h
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
Index: gdb-6.5/gdb/configure.ac
Index: gdb-6.6/gdb/configure.ac
===================================================================
--- gdb-6.5.orig/gdb/configure.ac 8 Aug 2006 20:26:23 -0000 1.34
+++ gdb-6.5/gdb/configure.ac 1 Oct 2006 16:22:43 -0000
@@ -365,6 +365,7 @@ AC_CHECK_HEADERS(sys/user.h, [], [],
--- gdb-6.6.orig/gdb/configure.ac 2007-01-20 06:43:01.000000000 +0100
+++ gdb-6.6/gdb/configure.ac 2007-01-20 06:56:21.000000000 +0100
@@ -371,6 +371,7 @@ AC_CHECK_HEADERS(sys/user.h, [], [],
# include <sys/param.h>
#endif
])
@ -401,11 +401,11 @@ Index: gdb-6.5/gdb/configure.ac
AC_CHECK_HEADERS(sys/wait.h wait.h)
AC_CHECK_HEADERS(termios.h termio.h sgtty.h)
AC_CHECK_HEADERS(unistd.h)
Index: gdb-6.5/gdb/gcore.c
Index: gdb-6.6/gdb/gcore.c
===================================================================
--- gdb-6.5.orig/gdb/gcore.c 17 Dec 2005 22:33:59 -0000 1.18
+++ gdb-6.5/gdb/gcore.c 1 Oct 2006 16:22:43 -0000
@@ -314,6 +314,11 @@ gcore_create_callback (CORE_ADDR vaddr,
--- gdb-6.6.orig/gdb/gcore.c 2007-01-20 06:43:02.000000000 +0100
+++ gdb-6.6/gdb/gcore.c 2007-01-20 06:56:21.000000000 +0100
@@ -320,6 +320,11 @@ gcore_create_callback (CORE_ADDR vaddr,
asection *osec;
flagword flags = SEC_ALLOC | SEC_HAS_CONTENTS | SEC_LOAD;
@ -417,10 +417,10 @@ Index: gdb-6.5/gdb/gcore.c
/* If the memory segment has no permissions set, ignore it, otherwise
when we later try to access it for read/write, we'll get an error
or jam the kernel. */
Index: gdb-6.5/gdb/gdb_procfs32.h
Index: gdb-6.6/gdb/gdb_procfs32.h
===================================================================
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ gdb-6.5/gdb/gdb_procfs32.h 1 Oct 2006 16:22:43 -0000
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-6.6/gdb/gdb_procfs32.h 2007-01-20 06:56:21.000000000 +0100
@@ -0,0 +1,128 @@
+#ifdef HAVE_SYS_PROCFS32_H
+#include <sys/procfs32.h>
@ -550,10 +550,10 @@ Index: gdb-6.5/gdb/gdb_procfs32.h
+#endif /* _SYS_PROCFS32_H */
+
+#endif /* HAVE_SYS_PROCFS32_H */
Index: gdb-6.5/gdb/gdb_user32.h
Index: gdb-6.6/gdb/gdb_user32.h
===================================================================
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ gdb-6.5/gdb/gdb_user32.h 1 Oct 2006 16:22:43 -0000
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-6.6/gdb/gdb_user32.h 2007-01-20 06:56:21.000000000 +0100
@@ -0,0 +1,108 @@
+#ifdef HAVE_SYS_USER32_H
+#include <sys/user32.h>
@ -663,11 +663,11 @@ Index: gdb-6.5/gdb/gdb_user32.h
+#endif /* _SYS_USER32_H */
+
+#endif /* HAVE_SYS_USER32_H */
Index: gdb-6.5/gdb/linux-nat.c
Index: gdb-6.6/gdb/linux-nat.c
===================================================================
--- gdb-6.5.orig/gdb/linux-nat.c 16 Sep 2006 09:48:12 -0000 1.50
+++ gdb-6.5/gdb/linux-nat.c 1 Oct 2006 16:22:43 -0000
@@ -99,6 +99,15 @@ static LONGEST (*super_xfer_partial) (st
--- gdb-6.6.orig/gdb/linux-nat.c 2007-01-20 06:43:04.000000000 +0100
+++ gdb-6.6/gdb/linux-nat.c 2007-01-20 06:56:21.000000000 +0100
@@ -100,6 +100,15 @@ static LONGEST (*super_xfer_partial) (st
const gdb_byte *,
ULONGEST, LONGEST);
@ -683,7 +683,7 @@ Index: gdb-6.5/gdb/linux-nat.c
static int debug_linux_nat;
static void
show_debug_linux_nat (struct ui_file *file, int from_tty,
@@ -2562,11 +2571,11 @@ linux_nat_do_thread_registers (bfd *obfd
@@ -2715,11 +2724,11 @@ linux_nat_do_thread_registers (bfd *obfd
else
fill_gregset (&gregs, -1);
@ -700,7 +700,7 @@ Index: gdb-6.5/gdb/linux-nat.c
if (core_regset_p
&& (regset = gdbarch_regset_from_core_section (gdbarch, ".reg2",
@@ -2577,10 +2586,10 @@ linux_nat_do_thread_registers (bfd *obfd
@@ -2730,10 +2739,10 @@ linux_nat_do_thread_registers (bfd *obfd
else
fill_fpregset (&fpregs, -1);
@ -715,7 +715,7 @@ Index: gdb-6.5/gdb/linux-nat.c
#ifdef FILL_FPXREGSET
if (core_regset_p
@@ -2675,9 +2684,9 @@ linux_nat_make_corefile_notes (bfd *obfd
@@ -2828,9 +2837,9 @@ linux_nat_make_corefile_notes (bfd *obfd
strncat (psargs, get_inferior_args (),
sizeof (psargs) - strlen (psargs));
}
@ -728,11 +728,11 @@ Index: gdb-6.5/gdb/linux-nat.c
}
/* Dump information for threads. */
Index: gdb-6.5/gdb/linux-nat.h
Index: gdb-6.6/gdb/linux-nat.h
===================================================================
--- gdb-6.5.orig/gdb/linux-nat.h 23 Jul 2006 21:21:01 -0000 1.12
+++ gdb-6.5/gdb/linux-nat.h 1 Oct 2006 16:22:43 -0000
@@ -96,3 +96,12 @@ void linux_nat_add_target (struct target
--- gdb-6.6.orig/gdb/linux-nat.h 2007-01-20 06:42:58.000000000 +0100
+++ gdb-6.6/gdb/linux-nat.h 2007-01-20 06:56:21.000000000 +0100
@@ -108,3 +108,12 @@ void linux_nat_add_target (struct target
/* Update linux-nat internal state when changing from one fork
to another. */
void linux_nat_switch_fork (ptid_t new_ptid);