diff --git a/.gitignore b/.gitignore
index d98d850..532b8cb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,2 @@
/gdb-libstdc++-v3-python-r155978.tar.bz2
-/gdb-7.8.50.20150108.tar.xz
+/gdb-7.8.90.20150202.tar.xz
diff --git a/gdb-6.5-BEA-testsuite.patch b/gdb-6.5-BEA-testsuite.patch
index 7c5778c..b338bf7 100644
--- a/gdb-6.5-BEA-testsuite.patch
+++ b/gdb-6.5-BEA-testsuite.patch
@@ -474,7 +474,7 @@ Index: gdb-7.6/gdb/testsuite/gdb.threads/threadcrash.sh
+ local FAILURES=0
+
+ mustNotHave '??' || ((FAILURES++))
-+ mustHaveCorrectAmount 12 threadcrash.c: || ((FAILURES++))
++ mustHaveCorrectAmount 11 threadcrash.c: || ((FAILURES++))
+
+ mustHaveSevenThreads || ((FAILURES++))
+ mustHaveSequence sleep "makeSyscall (ignored=" || ((FAILURES++))
diff --git a/gdb-6.6-scheduler_locking-step-sw-watchpoints2.patch b/gdb-6.6-scheduler_locking-step-sw-watchpoints2.patch
index 8c4162a..023a7ff 100644
--- a/gdb-6.6-scheduler_locking-step-sw-watchpoints2.patch
+++ b/gdb-6.6-scheduler_locking-step-sw-watchpoints2.patch
@@ -21,10 +21,10 @@
Port to GDB-6.8pre.
-Index: gdb-7.8.50.20141228/gdb/infrun.c
+Index: gdb-7.8.90.20150125/gdb/infrun.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/infrun.c 2014-12-28 21:33:41.301547880 +0100
-+++ gdb-7.8.50.20141228/gdb/infrun.c 2015-01-01 17:00:08.212920690 +0100
+--- gdb-7.8.90.20150125.orig/gdb/infrun.c 2015-01-25 08:36:16.651716159 +0100
++++ gdb-7.8.90.20150125/gdb/infrun.c 2015-01-25 08:36:26.491758571 +0100
@@ -86,7 +86,7 @@ static void follow_inferior_reset_breakp
static void set_schedlock_func (char *args, int from_tty,
struct cmd_list_element *c);
@@ -120,7 +120,7 @@ Index: gdb-7.8.50.20141228/gdb/infrun.c
/* Wait for it to stop (if not standalone)
and in any case decode why it stopped, and act accordingly. */
-@@ -5674,14 +5690,16 @@ switch_back_to_stepped_thread (struct ex
+@@ -5684,14 +5700,16 @@ switch_back_to_stepped_thread (struct ex
/* Is thread TP in the middle of single-stepping? */
@@ -142,11 +142,11 @@ Index: gdb-7.8.50.20141228/gdb/infrun.c
}
/* Inferior has stepped into a subroutine call with source code that
-Index: gdb-7.8.50.20141228/gdb/linux-nat.c
+Index: gdb-7.8.90.20150125/gdb/linux-nat.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/linux-nat.c 2014-12-28 21:33:41.303547882 +0100
-+++ gdb-7.8.50.20141228/gdb/linux-nat.c 2014-12-28 21:33:45.827551687 +0100
-@@ -2519,7 +2519,11 @@ static int
+--- gdb-7.8.90.20150125.orig/gdb/linux-nat.c 2015-01-25 08:36:16.653716168 +0100
++++ gdb-7.8.90.20150125/gdb/linux-nat.c 2015-01-25 08:36:26.492758576 +0100
+@@ -2648,7 +2648,11 @@ static int
select_singlestep_lwp_callback (struct lwp_info *lp, void *data)
{
if (lp->last_resume_kind == resume_step
@@ -159,10 +159,10 @@ Index: gdb-7.8.50.20141228/gdb/linux-nat.c
return 1;
else
return 0;
-Index: gdb-7.8.50.20141228/gdb/linux-nat.h
+Index: gdb-7.8.90.20150125/gdb/linux-nat.h
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/linux-nat.h 2014-12-28 21:33:41.304547882 +0100
-+++ gdb-7.8.50.20141228/gdb/linux-nat.h 2014-12-28 21:33:45.827551687 +0100
+--- gdb-7.8.90.20150125.orig/gdb/linux-nat.h 2015-01-25 08:36:16.653716168 +0100
++++ gdb-7.8.90.20150125/gdb/linux-nat.h 2015-01-25 08:36:44.948838126 +0100
@@ -18,6 +18,7 @@
along with this program. If not, see . */
@@ -171,21 +171,21 @@ Index: gdb-7.8.50.20141228/gdb/linux-nat.h
#include
-@@ -59,8 +60,8 @@ struct lwp_info
- /* If non-zero, a pending wait status. */
- int status;
+@@ -88,8 +89,8 @@ struct lwp_info
+ running and not stepping, this is 0. */
+ CORE_ADDR stop_pc;
- /* Non-zero if we were stepping this LWP. */
- int step;
+ /* The kind of stepping of this LWP. */
+ enum resume_step step;
- /* STOPPED_BY_WATCHPOINT is non-zero if this LWP stopped with a data
- watchpoint trap. */
-Index: gdb-7.8.50.20141228/gdb/infrun.h
+ /* The reason the LWP last stopped, if we need to track it
+ (breakpoint, watchpoint, etc.) */
+Index: gdb-7.8.90.20150125/gdb/infrun.h
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/infrun.h 2014-12-28 21:33:45.827551687 +0100
-+++ gdb-7.8.50.20141228/gdb/infrun.h 2014-12-28 21:34:13.516574981 +0100
+--- gdb-7.8.90.20150125.orig/gdb/infrun.h 2015-01-25 08:36:16.654716172 +0100
++++ gdb-7.8.90.20150125/gdb/infrun.h 2015-01-25 08:36:26.493758580 +0100
@@ -92,7 +92,14 @@ extern void proceed (CORE_ADDR, enum gdb
/* The `resume' routine should only be called in special circumstances.
@@ -202,10 +202,10 @@ Index: gdb-7.8.50.20141228/gdb/infrun.h
/* Return a ptid representing the set of threads that we will proceed,
in the perspective of the user/frontend. */
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.threads/signal-while-stepping-over-bp-other-thread.exp
+Index: gdb-7.8.90.20150125/gdb/testsuite/gdb.threads/signal-while-stepping-over-bp-other-thread.exp
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/testsuite/gdb.threads/signal-while-stepping-over-bp-other-thread.exp 2014-12-28 21:33:41.304547882 +0100
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.threads/signal-while-stepping-over-bp-other-thread.exp 2014-12-28 21:33:45.827551687 +0100
+--- gdb-7.8.90.20150125.orig/gdb/testsuite/gdb.threads/signal-while-stepping-over-bp-other-thread.exp 2015-01-25 08:36:16.654716172 +0100
++++ gdb-7.8.90.20150125/gdb/testsuite/gdb.threads/signal-while-stepping-over-bp-other-thread.exp 2015-01-25 08:36:26.493758580 +0100
@@ -97,7 +97,7 @@ gdb_test "set debug infrun 1"
gdb_test \
diff --git a/gdb-6.8-attach-signalled-detach-stopped.patch b/gdb-6.8-attach-signalled-detach-stopped.patch
index bd5d09c..fd66073 100644
--- a/gdb-6.8-attach-signalled-detach-stopped.patch
+++ b/gdb-6.8-attach-signalled-detach-stopped.patch
@@ -1,7 +1,7 @@
-Index: gdb-7.8.50.20141228/gdb/linux-nat.c
+Index: gdb-7.8.90.20150125/gdb/linux-nat.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/linux-nat.c 2015-01-05 22:52:01.115978026 +0100
-+++ gdb-7.8.50.20141228/gdb/linux-nat.c 2015-01-05 22:52:23.147074710 +0100
+--- gdb-7.8.90.20150125.orig/gdb/linux-nat.c 2015-01-25 08:42:49.381408899 +0100
++++ gdb-7.8.90.20150125/gdb/linux-nat.c 2015-01-25 08:43:16.378525322 +0100
@@ -174,6 +174,9 @@ blocked. */
static struct target_ops *linux_ops;
static struct target_ops linux_ops_saved;
@@ -12,7 +12,7 @@ Index: gdb-7.8.50.20141228/gdb/linux-nat.c
/* The method to call, if any, when a new thread is attached. */
static void (*linux_nat_new_thread) (struct lwp_info *);
-@@ -915,6 +918,7 @@ linux_nat_post_attach_wait (ptid_t ptid,
+@@ -924,6 +927,7 @@ linux_nat_post_attach_wait (ptid_t ptid,
if (debug_linux_nat)
fprintf_unfiltered (gdb_stdlog,
"LNPAW: Attaching to a stopped process\n");
@@ -20,7 +20,7 @@ Index: gdb-7.8.50.20141228/gdb/linux-nat.c
/* The process is definitely stopped. It is in a job control
stop, unless the kernel predates the TASK_STOPPED /
-@@ -1337,6 +1341,9 @@ get_pending_status (struct lwp_info *lp,
+@@ -1424,6 +1428,9 @@ get_pending_status (struct lwp_info *lp,
gdb_signal_to_string (signo));
}
@@ -30,7 +30,7 @@ Index: gdb-7.8.50.20141228/gdb/linux-nat.c
return 0;
}
-@@ -1450,6 +1457,8 @@ linux_nat_detach (struct target_ops *ops
+@@ -1537,6 +1544,8 @@ linux_nat_detach (struct target_ops *ops
}
else
linux_ops->to_detach (ops, args, from_tty);
@@ -38,8 +38,8 @@ Index: gdb-7.8.50.20141228/gdb/linux-nat.c
+ pid_was_stopped = 0;
}
- /* Resume LP. */
-@@ -1631,6 +1640,14 @@ linux_nat_resume (struct target_ops *ops
+ /* Resume execution of the inferior process. If STEP is nonzero,
+@@ -1741,6 +1750,14 @@ linux_nat_resume (struct target_ops *ops
return;
}
@@ -54,7 +54,7 @@ Index: gdb-7.8.50.20141228/gdb/linux-nat.c
if (resume_many)
iterate_over_lwps (ptid, linux_nat_resume_callback, lp);
-@@ -3696,6 +3713,8 @@ linux_nat_mourn_inferior (struct target_
+@@ -3723,6 +3740,8 @@ linux_nat_mourn_inferior (struct target_
/* Let the arch-specific native code know this process is gone. */
linux_nat_forget_process (pid);
@@ -63,10 +63,10 @@ Index: gdb-7.8.50.20141228/gdb/linux-nat.c
}
/* Convert a native/host siginfo object, into/from the siginfo in the
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.threads/attach-stopped.exp
+Index: gdb-7.8.90.20150125/gdb/testsuite/gdb.threads/attach-stopped.exp
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/testsuite/gdb.threads/attach-stopped.exp 2015-01-05 22:52:01.115978026 +0100
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.threads/attach-stopped.exp 2015-01-05 22:52:23.148074714 +0100
+--- gdb-7.8.90.20150125.orig/gdb/testsuite/gdb.threads/attach-stopped.exp 2015-01-25 08:42:49.382408903 +0100
++++ gdb-7.8.90.20150125/gdb/testsuite/gdb.threads/attach-stopped.exp 2015-01-25 08:43:16.379525327 +0100
@@ -61,7 +61,65 @@ proc corefunc { threadtype } {
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
@@ -134,10 +134,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.threads/attach-stopped.exp
set test "$threadtype: attach2 to stopped, after setting file"
gdb_test_multiple "attach $testpid" "$test" {
-Index: gdb-7.8.50.20141228/gdb/infrun.c
+Index: gdb-7.8.90.20150125/gdb/infrun.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/infrun.c 2015-01-05 22:42:48.773501429 +0100
-+++ gdb-7.8.50.20141228/gdb/infrun.c 2015-01-05 22:53:47.274443903 +0100
+--- gdb-7.8.90.20150125.orig/gdb/infrun.c 2015-01-25 08:42:49.385408916 +0100
++++ gdb-7.8.90.20150125/gdb/infrun.c 2015-01-25 08:43:16.381525335 +0100
@@ -600,6 +600,11 @@ holding the child stopped. Try \"set de
child_pid);
}
diff --git a/gdb-attach-fail-reasons-5of5.patch b/gdb-attach-fail-reasons-5of5.patch
index e6d9102..18198c5 100644
--- a/gdb-attach-fail-reasons-5of5.patch
+++ b/gdb-attach-fail-reasons-5of5.patch
@@ -37,10 +37,10 @@ gdb/gdbserver/
(linux_create_inferior, linux_tracefork_child): Call it instead of
direct ptrace.
-Index: gdb-7.8.50.20141228/gdb/nat/linux-ptrace.c
+Index: gdb-7.8.90.20150125/gdb/nat/linux-ptrace.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/nat/linux-ptrace.c 2015-01-01 21:38:14.691209094 +0100
-+++ gdb-7.8.50.20141228/gdb/nat/linux-ptrace.c 2015-01-01 21:39:34.670157506 +0100
+--- gdb-7.8.90.20150125.orig/gdb/nat/linux-ptrace.c 2015-01-25 08:36:55.710884511 +0100
++++ gdb-7.8.90.20150125/gdb/nat/linux-ptrace.c 2015-01-25 08:38:43.157347627 +0100
@@ -25,6 +25,10 @@
#include
@@ -60,8 +60,8 @@ Index: gdb-7.8.50.20141228/gdb/nat/linux-ptrace.c
+ linux_ptrace_create_warnings (buffer);
}
- #if defined __i386__ || defined __x86_64__
-@@ -568,6 +574,22 @@ linux_ptrace_init_warnings (void)
+ /* See linux-ptrace.h. */
+@@ -595,6 +601,22 @@ linux_ptrace_init_warnings (void)
linux_ptrace_test_ret_to_nx ();
}
@@ -84,23 +84,23 @@ Index: gdb-7.8.50.20141228/gdb/nat/linux-ptrace.c
/* Set additional ptrace flags to use. Some such flags may be checked
by the implementation above. This function must be called before
any other function in this file; otherwise the flags may not take
-Index: gdb-7.8.50.20141228/gdb/nat/linux-ptrace.h
+Index: gdb-7.8.90.20150125/gdb/nat/linux-ptrace.h
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/nat/linux-ptrace.h 2015-01-01 21:38:21.280204844 +0100
-+++ gdb-7.8.50.20141228/gdb/nat/linux-ptrace.h 2015-01-01 21:39:00.542179519 +0100
-@@ -90,6 +90,7 @@ struct buffer;
+--- gdb-7.8.90.20150125.orig/gdb/nat/linux-ptrace.h 2015-01-25 08:37:02.800915071 +0100
++++ gdb-7.8.90.20150125/gdb/nat/linux-ptrace.h 2015-01-25 08:38:16.565233009 +0100
+@@ -98,6 +98,7 @@ extern void linux_ptrace_attach_fail_rea
+ extern char *linux_ptrace_attach_fail_reason_string (ptid_t ptid, int err);
- extern void linux_ptrace_attach_fail_reason (pid_t pid, struct buffer *buffer);
extern void linux_ptrace_init_warnings (void);
+extern void linux_ptrace_create_warnings (struct buffer *buffer);
extern void linux_enable_event_reporting (pid_t pid, int attached);
extern void linux_disable_event_reporting (pid_t pid);
extern int linux_supports_tracefork (void);
-Index: gdb-7.8.50.20141228/gdb/configure.ac
+Index: gdb-7.8.90.20150125/gdb/configure.ac
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/configure.ac 2015-01-01 21:38:14.692209094 +0100
-+++ gdb-7.8.50.20141228/gdb/configure.ac 2015-01-01 21:38:21.281204843 +0100
-@@ -2116,6 +2116,10 @@ case $host_os in
+--- gdb-7.8.90.20150125.orig/gdb/configure.ac 2015-01-25 08:36:55.712884520 +0100
++++ gdb-7.8.90.20150125/gdb/configure.ac 2015-01-25 08:37:02.801915075 +0100
+@@ -2117,6 +2117,10 @@ case $host_os in
esac
AC_DEFINE_UNQUOTED(GDBINIT,"$gdbinit",[The .gdbinit filename.])
@@ -111,10 +111,10 @@ Index: gdb-7.8.50.20141228/gdb/configure.ac
dnl Handle optional features that can be enabled.
# Support for --with-sysroot is a copy of GDB_AC_WITH_DIR,
-Index: gdb-7.8.50.20141228/gdb/gdbserver/configure.ac
+Index: gdb-7.8.90.20150125/gdb/gdbserver/configure.ac
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/gdbserver/configure.ac 2015-01-01 21:38:14.693209093 +0100
-+++ gdb-7.8.50.20141228/gdb/gdbserver/configure.ac 2015-01-01 21:38:21.281204843 +0100
+--- gdb-7.8.90.20150125.orig/gdb/gdbserver/configure.ac 2015-01-25 08:36:55.712884520 +0100
++++ gdb-7.8.90.20150125/gdb/gdbserver/configure.ac 2015-01-25 08:37:02.801915075 +0100
@@ -461,6 +461,10 @@ if $want_ipa ; then
fi
fi
@@ -126,11 +126,11 @@ Index: gdb-7.8.50.20141228/gdb/gdbserver/configure.ac
AC_SUBST(GDBSERVER_DEPFILES)
AC_SUBST(GDBSERVER_LIBS)
AC_SUBST(srv_xmlbuiltin)
-Index: gdb-7.8.50.20141228/gdb/gdbserver/linux-low.c
+Index: gdb-7.8.90.20150125/gdb/gdbserver/linux-low.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/gdbserver/linux-low.c 2015-01-01 21:38:14.695209091 +0100
-+++ gdb-7.8.50.20141228/gdb/gdbserver/linux-low.c 2015-01-01 21:38:21.282204843 +0100
-@@ -537,6 +537,29 @@ add_lwp (ptid_t ptid)
+--- gdb-7.8.90.20150125.orig/gdb/gdbserver/linux-low.c 2015-01-25 08:36:55.714884529 +0100
++++ gdb-7.8.90.20150125/gdb/gdbserver/linux-low.c 2015-01-25 08:37:02.803915084 +0100
+@@ -591,6 +591,29 @@ add_lwp (ptid_t ptid)
return lwp;
}
@@ -160,7 +160,7 @@ Index: gdb-7.8.50.20141228/gdb/gdbserver/linux-low.c
/* Start an inferior process and returns its pid.
ALLARGS is a vector of program-name and args. */
-@@ -578,7 +601,7 @@ linux_create_inferior (char *program, ch
+@@ -632,7 +655,7 @@ linux_create_inferior (char *program, ch
if (pid == 0)
{
close_most_fds ();
@@ -169,11 +169,11 @@ Index: gdb-7.8.50.20141228/gdb/gdbserver/linux-low.c
#ifndef __ANDROID__ /* Bionic doesn't use SIGRTMIN the way glibc does. */
signal (__SIGRTMIN + 1, SIG_DFL);
-Index: gdb-7.8.50.20141228/gdb/inf-ptrace.c
+Index: gdb-7.8.90.20150125/gdb/inf-ptrace.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/inf-ptrace.c 2015-01-01 21:38:14.695209091 +0100
-+++ gdb-7.8.50.20141228/gdb/inf-ptrace.c 2015-01-01 21:38:21.282204843 +0100
-@@ -66,7 +66,15 @@ static void
+--- gdb-7.8.90.20150125.orig/gdb/inf-ptrace.c 2015-01-25 08:36:55.715884533 +0100
++++ gdb-7.8.90.20150125/gdb/inf-ptrace.c 2015-01-25 08:37:02.803915084 +0100
+@@ -67,7 +67,15 @@ static void
inf_ptrace_me (void)
{
/* "Trace me, Dr. Memory!" */
@@ -189,11 +189,11 @@ Index: gdb-7.8.50.20141228/gdb/inf-ptrace.c
}
/* Start a new inferior Unix child process. EXEC_FILE is the file to
-Index: gdb-7.8.50.20141228/gdb/linux-nat.c
+Index: gdb-7.8.90.20150125/gdb/linux-nat.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/linux-nat.c 2015-01-01 21:38:14.697209090 +0100
-+++ gdb-7.8.50.20141228/gdb/linux-nat.c 2015-01-01 21:38:21.283204842 +0100
-@@ -1099,6 +1099,7 @@ linux_nat_create_inferior (struct target
+--- gdb-7.8.90.20150125.orig/gdb/linux-nat.c 2015-01-25 08:36:55.717884541 +0100
++++ gdb-7.8.90.20150125/gdb/linux-nat.c 2015-01-25 08:37:52.054127362 +0100
+@@ -1109,6 +1109,7 @@ linux_nat_create_inferior (struct target
#ifdef HAVE_PERSONALITY
int personality_orig = 0, personality_set = 0;
#endif /* HAVE_PERSONALITY */
@@ -201,7 +201,7 @@ Index: gdb-7.8.50.20141228/gdb/linux-nat.c
/* The fork_child mechanism is synchronous and calls target_wait, so
we have to mask the async mode. */
-@@ -1123,7 +1124,10 @@ linux_nat_create_inferior (struct target
+@@ -1133,7 +1134,10 @@ linux_nat_create_inferior (struct target
/* Make sure we report all signals during startup. */
linux_nat_pass_signals (ops, 0, NULL);
@@ -213,7 +213,7 @@ Index: gdb-7.8.50.20141228/gdb/linux-nat.c
#ifdef HAVE_PERSONALITY
if (personality_set)
-@@ -1135,6 +1139,24 @@ linux_nat_create_inferior (struct target
+@@ -1145,6 +1149,24 @@ linux_nat_create_inferior (struct target
safe_strerror (errno));
}
#endif /* HAVE_PERSONALITY */
@@ -237,11 +237,11 @@ Index: gdb-7.8.50.20141228/gdb/linux-nat.c
+ }
}
- static void
-Index: gdb-7.8.50.20141228/gdb/config.in
+ /* Callback for linux_proc_attach_tgid_threads. Attach to PTID if not
+Index: gdb-7.8.90.20150125/gdb/config.in
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/config.in 2015-01-01 21:38:14.697209090 +0100
-+++ gdb-7.8.50.20141228/gdb/config.in 2015-01-01 21:38:21.284204842 +0100
+--- gdb-7.8.90.20150125.orig/gdb/config.in 2015-01-25 08:36:55.718884546 +0100
++++ gdb-7.8.90.20150125/gdb/config.in 2015-01-25 08:37:02.805915092 +0100
@@ -213,6 +213,9 @@
/* Define if librpm library is being used. */
#undef HAVE_LIBRPM
@@ -262,11 +262,11 @@ Index: gdb-7.8.50.20141228/gdb/config.in
/* Define to 1 if you have the `setlocale' function. */
#undef HAVE_SETLOCALE
-Index: gdb-7.8.50.20141228/gdb/configure
+Index: gdb-7.8.90.20150125/gdb/configure
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/configure 2015-01-01 21:38:14.701209087 +0100
-+++ gdb-7.8.50.20141228/gdb/configure 2015-01-01 21:38:21.286204840 +0100
-@@ -13269,6 +13269,64 @@ cat >>confdefs.h <<_ACEOF
+--- gdb-7.8.90.20150125.orig/gdb/configure 2015-01-25 08:36:55.722884563 +0100
++++ gdb-7.8.90.20150125/gdb/configure 2015-01-25 08:37:02.809915110 +0100
+@@ -13270,6 +13270,64 @@ cat >>confdefs.h <<_ACEOF
_ACEOF
@@ -331,10 +331,10 @@ Index: gdb-7.8.50.20141228/gdb/configure
# Support for --with-sysroot is a copy of GDB_AC_WITH_DIR,
# except that the argument to --with-sysroot is optional.
-Index: gdb-7.8.50.20141228/gdb/gdbserver/config.in
+Index: gdb-7.8.90.20150125/gdb/gdbserver/config.in
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/gdbserver/config.in 2015-01-01 21:38:14.702209087 +0100
-+++ gdb-7.8.50.20141228/gdb/gdbserver/config.in 2015-01-01 21:38:39.365193179 +0100
+--- gdb-7.8.90.20150125.orig/gdb/gdbserver/config.in 2015-01-25 08:36:55.724884572 +0100
++++ gdb-7.8.90.20150125/gdb/gdbserver/config.in 2015-01-25 08:37:02.809915110 +0100
@@ -75,6 +75,9 @@
/* Define to 1 if you have the `mcheck' library (-lmcheck). */
#undef HAVE_LIBMCHECK
@@ -355,10 +355,10 @@ Index: gdb-7.8.50.20141228/gdb/gdbserver/config.in
/* Define to 1 if you have the header file. */
#undef HAVE_SGTTY_H
-Index: gdb-7.8.50.20141228/gdb/gdbserver/configure
+Index: gdb-7.8.90.20150125/gdb/gdbserver/configure
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/gdbserver/configure 2015-01-01 21:38:14.704209086 +0100
-+++ gdb-7.8.50.20141228/gdb/gdbserver/configure 2015-01-01 21:38:21.288204839 +0100
+--- gdb-7.8.90.20150125.orig/gdb/gdbserver/configure 2015-01-25 08:36:55.726884580 +0100
++++ gdb-7.8.90.20150125/gdb/gdbserver/configure 2015-01-25 08:37:02.811915118 +0100
@@ -6199,6 +6199,64 @@ if $want_ipa ; then
fi
fi
diff --git a/gdb-compile-warn_unused_result.patch b/gdb-compile-warn_unused_result.patch
deleted file mode 100644
index 4324004..0000000
--- a/gdb-compile-warn_unused_result.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- gdb-7.8.50.20141228/gdb/compile/compile.c-orig 2014-12-28 02:48:43.000000000 +0100
-+++ gdb-7.8.50.20141228/gdb/compile/compile.c 2015-01-05 23:03:33.383016039 +0100
-@@ -172,7 +172,7 @@ do_rmdir (void *arg)
-
- gdb_assert (strncmp (dir, TMP_PREFIX, strlen (TMP_PREFIX)) == 0);
- zap = concat ("rm -rf ", dir, (char *) NULL);
-- system (zap);
-+ if (system (zap)) {}
- }
-
- /* Return the name of the temporary directory to use for .o files, and
diff --git a/gdb-no-dg-extract-results-py.patch b/gdb-no-dg-extract-results-py.patch
new file mode 100644
index 0000000..40e1fea
--- /dev/null
+++ b/gdb-no-dg-extract-results-py.patch
@@ -0,0 +1,589 @@
+diff -dup -ruNp gdb-7.8.90.20150202-orig/gdb/testsuite/dg-extract-results.py gdb-7.8.90.20150202/gdb/testsuite/dg-extract-results.py
+--- gdb-7.8.90.20150202-orig/gdb/testsuite/dg-extract-results.py 2015-02-02 02:58:29.000000000 +0100
++++ gdb-7.8.90.20150202/gdb/testsuite/dg-extract-results.py 1970-01-01 01:00:00.000000000 +0100
+@@ -1,585 +0,0 @@
+-#!/usr/bin/python
+-#
+-# Copyright (C) 2014-2015 Free Software Foundation, Inc.
+-#
+-# This script 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 3, or (at your option)
+-# any later version.
+-
+-import sys
+-import getopt
+-import re
+-import io
+-from datetime import datetime
+-from operator import attrgetter
+-
+-# True if unrecognised lines should cause a fatal error. Might want to turn
+-# this on by default later.
+-strict = False
+-
+-# True if the order of .log segments should match the .sum file, false if
+-# they should keep the original order.
+-sort_logs = True
+-
+-# A version of open() that is safe against whatever binary output
+-# might be added to the log.
+-def safe_open (filename):
+- if sys.version_info >= (3, 0):
+- return open (filename, 'r', errors = 'surrogateescape')
+- return open (filename, 'r')
+-
+-# Force stdout to handle escape sequences from a safe_open file.
+-if sys.version_info >= (3, 0):
+- sys.stdout = io.TextIOWrapper (sys.stdout.buffer,
+- errors = 'surrogateescape')
+-
+-class Named:
+- def __init__ (self, name):
+- self.name = name
+-
+-class ToolRun (Named):
+- def __init__ (self, name):
+- Named.__init__ (self, name)
+- # The variations run for this tool, mapped by --target_board name.
+- self.variations = dict()
+-
+- # Return the VariationRun for variation NAME.
+- def get_variation (self, name):
+- if name not in self.variations:
+- self.variations[name] = VariationRun (name)
+- return self.variations[name]
+-
+-class VariationRun (Named):
+- def __init__ (self, name):
+- Named.__init__ (self, name)
+- # A segment of text before the harness runs start, describing which
+- # baseboard files were loaded for the target.
+- self.header = None
+- # The harnesses run for this variation, mapped by filename.
+- self.harnesses = dict()
+- # A list giving the number of times each type of result has
+- # been seen.
+- self.counts = []
+-
+- # Return the HarnessRun for harness NAME.
+- def get_harness (self, name):
+- if name not in self.harnesses:
+- self.harnesses[name] = HarnessRun (name)
+- return self.harnesses[name]
+-
+-class HarnessRun (Named):
+- def __init__ (self, name):
+- Named.__init__ (self, name)
+- # Segments of text that make up the harness run, mapped by a test-based
+- # key that can be used to order them.
+- self.segments = dict()
+- # Segments of text that make up the harness run but which have
+- # no recognized test results. These are typically harnesses that
+- # are completely skipped for the target.
+- self.empty = []
+- # A list of results. Each entry is a pair in which the first element
+- # is a unique sorting key and in which the second is the full
+- # PASS/FAIL line.
+- self.results = []
+-
+- # Add a segment of text to the harness run. If the segment includes
+- # test results, KEY is an example of one of them, and can be used to
+- # combine the individual segments in order. If the segment has no
+- # test results (e.g. because the harness doesn't do anything for the
+- # current configuration) then KEY is None instead. In that case
+- # just collect the segments in the order that we see them.
+- def add_segment (self, key, segment):
+- if key:
+- assert key not in self.segments
+- self.segments[key] = segment
+- else:
+- self.empty.append (segment)
+-
+-class Segment:
+- def __init__ (self, filename, start):
+- self.filename = filename
+- self.start = start
+- self.lines = 0
+-
+-class Prog:
+- def __init__ (self):
+- # The variations specified on the command line.
+- self.variations = []
+- # The variations seen in the input files.
+- self.known_variations = set()
+- # The tools specified on the command line.
+- self.tools = []
+- # Whether to create .sum rather than .log output.
+- self.do_sum = True
+- # Regexps used while parsing.
+- self.test_run_re = re.compile (r'^Test Run By (\S+) on (.*)$')
+- self.tool_re = re.compile (r'^\t\t=== (.*) tests ===$')
+- self.result_re = re.compile (r'^(PASS|XPASS|FAIL|XFAIL|UNRESOLVED'
+- r'|WARNING|ERROR|UNSUPPORTED|UNTESTED'
+- r'|KFAIL):\s*(.+)')
+- self.completed_re = re.compile (r'.* completed at (.*)')
+- # Pieces of text to write at the head of the output.
+- # start_line is a pair in which the first element is a datetime
+- # and in which the second is the associated 'Test Run By' line.
+- self.start_line = None
+- self.native_line = ''
+- self.target_line = ''
+- self.host_line = ''
+- self.acats_premable = ''
+- # Pieces of text to write at the end of the output.
+- # end_line is like start_line but for the 'runtest completed' line.
+- self.acats_failures = []
+- self.version_output = ''
+- self.end_line = None
+- # Known summary types.
+- self.count_names = [
+- '# of expected passes\t\t',
+- '# of unexpected failures\t',
+- '# of unexpected successes\t',
+- '# of expected failures\t\t',
+- '# of unknown successes\t\t',
+- '# of known failures\t\t',
+- '# of untested testcases\t\t',
+- '# of unresolved testcases\t',
+- '# of unsupported tests\t\t'
+- ]
+- self.runs = dict()
+-
+- def usage (self):
+- name = sys.argv[0]
+- sys.stderr.write ('Usage: ' + name
+- + ''' [-t tool] [-l variant-list] [-L] log-or-sum-file ...
+-
+- tool The tool (e.g. g++, libffi) for which to create a
+- new test summary file. If not specified then output
+- is created for all tools.
+- variant-list One or more test variant names. If the list is
+- not specified then one is constructed from all
+- variants in the files for .
+- sum-file A test summary file with the format of those
+- created by runtest from DejaGnu.
+- If -L is used, merge *.log files instead of *.sum. In this
+- mode the exact order of lines may not be preserved, just different
+- Running *.exp chunks should be in correct order.
+-''')
+- sys.exit (1)
+-
+- def fatal (self, what, string):
+- if not what:
+- what = sys.argv[0]
+- sys.stderr.write (what + ': ' + string + '\n')
+- sys.exit (1)
+-
+- # Parse the command-line arguments.
+- def parse_cmdline (self):
+- try:
+- (options, self.files) = getopt.getopt (sys.argv[1:], 'l:t:L')
+- if len (self.files) == 0:
+- self.usage()
+- for (option, value) in options:
+- if option == '-l':
+- self.variations.append (value)
+- elif option == '-t':
+- self.tools.append (value)
+- else:
+- self.do_sum = False
+- except getopt.GetoptError as e:
+- self.fatal (None, e.msg)
+-
+- # Try to parse time string TIME, returning an arbitrary time on failure.
+- # Getting this right is just a nice-to-have so failures should be silent.
+- def parse_time (self, time):
+- try:
+- return datetime.strptime (time, '%c')
+- except ValueError:
+- return datetime.now()
+-
+- # Parse an integer and abort on failure.
+- def parse_int (self, filename, value):
+- try:
+- return int (value)
+- except ValueError:
+- self.fatal (filename, 'expected an integer, got: ' + value)
+-
+- # Return a list that represents no test results.
+- def zero_counts (self):
+- return [0 for x in self.count_names]
+-
+- # Return the ToolRun for tool NAME.
+- def get_tool (self, name):
+- if name not in self.runs:
+- self.runs[name] = ToolRun (name)
+- return self.runs[name]
+-
+- # Add the result counts in list FROMC to TOC.
+- def accumulate_counts (self, toc, fromc):
+- for i in range (len (self.count_names)):
+- toc[i] += fromc[i]
+-
+- # Parse the list of variations after 'Schedule of variations:'.
+- # Return the number seen.
+- def parse_variations (self, filename, file):
+- num_variations = 0
+- while True:
+- line = file.readline()
+- if line == '':
+- self.fatal (filename, 'could not parse variation list')
+- if line == '\n':
+- break
+- self.known_variations.add (line.strip())
+- num_variations += 1
+- return num_variations
+-
+- # Parse from the first line after 'Running target ...' to the end
+- # of the run's summary.
+- def parse_run (self, filename, file, tool, variation, num_variations):
+- header = None
+- harness = None
+- segment = None
+- final_using = 0
+-
+- # If this is the first run for this variation, add any text before
+- # the first harness to the header.
+- if not variation.header:
+- segment = Segment (filename, file.tell())
+- variation.header = segment
+-
+- # Parse up until the first line of the summary.
+- if num_variations == 1:
+- end = '\t\t=== ' + tool.name + ' Summary ===\n'
+- else:
+- end = ('\t\t=== ' + tool.name + ' Summary for '
+- + variation.name + ' ===\n')
+- while True:
+- line = file.readline()
+- if line == '':
+- self.fatal (filename, 'no recognised summary line')
+- if line == end:
+- break
+-
+- # Look for the start of a new harness.
+- if line.startswith ('Running ') and line.endswith (' ...\n'):
+- # Close off the current harness segment, if any.
+- if harness:
+- segment.lines -= final_using
+- harness.add_segment (first_key, segment)
+- name = line[len ('Running '):-len(' ...\n')]
+- harness = variation.get_harness (name)
+- segment = Segment (filename, file.tell())
+- first_key = None
+- final_using = 0
+- continue
+-
+- # Record test results. Associate the first test result with
+- # the harness segment, so that if a run for a particular harness
+- # has been split up, we can reassemble the individual segments
+- # in a sensible order.
+- #
+- # dejagnu sometimes issues warnings about the testing environment
+- # before running any tests. Treat them as part of the header
+- # rather than as a test result.
+- match = self.result_re.match (line)
+- if match and (harness or not line.startswith ('WARNING:')):
+- if not harness:
+- self.fatal (filename, 'saw test result before harness name')
+- name = match.group (2)
+- # Ugly hack to get the right order for gfortran.
+- if name.startswith ('gfortran.dg/g77/'):
+- name = 'h' + name
+- key = (name, len (harness.results))
+- harness.results.append ((key, line))
+- if not first_key and sort_logs:
+- first_key = key
+-
+- # 'Using ...' lines are only interesting in a header. Splitting
+- # the test up into parallel runs leads to more 'Using ...' lines
+- # than there would be in a single log.
+- if line.startswith ('Using '):
+- final_using += 1
+- else:
+- final_using = 0
+-
+- # Add other text to the current segment, if any.
+- if segment:
+- segment.lines += 1
+-
+- # Close off the final harness segment, if any.
+- if harness:
+- segment.lines -= final_using
+- harness.add_segment (first_key, segment)
+-
+- # Parse the rest of the summary (the '# of ' lines).
+- if len (variation.counts) == 0:
+- variation.counts = self.zero_counts()
+- while True:
+- before = file.tell()
+- line = file.readline()
+- if line == '':
+- break
+- if line == '\n':
+- continue
+- if not line.startswith ('# '):
+- file.seek (before)
+- break
+- found = False
+- for i in range (len (self.count_names)):
+- if line.startswith (self.count_names[i]):
+- count = line[len (self.count_names[i]):-1].strip()
+- variation.counts[i] += self.parse_int (filename, count)
+- found = True
+- break
+- if not found:
+- self.fatal (filename, 'unknown test result: ' + line[:-1])
+-
+- # Parse an acats run, which uses a different format from dejagnu.
+- # We have just skipped over '=== acats configuration ==='.
+- def parse_acats_run (self, filename, file):
+- # Parse the preamble, which describes the configuration and logs
+- # the creation of support files.
+- record = (self.acats_premable == '')
+- if record:
+- self.acats_premable = '\t\t=== acats configuration ===\n'
+- while True:
+- line = file.readline()
+- if line == '':
+- self.fatal (filename, 'could not parse acats preamble')
+- if line == '\t\t=== acats tests ===\n':
+- break
+- if record:
+- self.acats_premable += line
+-
+- # Parse the test results themselves, using a dummy variation name.
+- tool = self.get_tool ('acats')
+- variation = tool.get_variation ('none')
+- self.parse_run (filename, file, tool, variation, 1)
+-
+- # Parse the failure list.
+- while True:
+- before = file.tell()
+- line = file.readline()
+- if line.startswith ('*** FAILURES: '):
+- self.acats_failures.append (line[len ('*** FAILURES: '):-1])
+- continue
+- file.seek (before)
+- break
+-
+- # Parse the final summary at the end of a log in order to capture
+- # the version output that follows it.
+- def parse_final_summary (self, filename, file):
+- record = (self.version_output == '')
+- while True:
+- line = file.readline()
+- if line == '':
+- break
+- if line.startswith ('# of '):
+- continue
+- if record:
+- self.version_output += line
+- if line == '\n':
+- break
+-
+- # Parse a .log or .sum file.
+- def parse_file (self, filename, file):
+- tool = None
+- target = None
+- num_variations = 1
+- while True:
+- line = file.readline()
+- if line == '':
+- return
+-
+- # Parse the list of variations, which comes before the test
+- # runs themselves.
+- if line.startswith ('Schedule of variations:'):
+- num_variations = self.parse_variations (filename, file)
+- continue
+-
+- # Parse a testsuite run for one tool/variation combination.
+- if line.startswith ('Running target '):
+- name = line[len ('Running target '):-1]
+- if not tool:
+- self.fatal (filename, 'could not parse tool name')
+- if name not in self.known_variations:
+- self.fatal (filename, 'unknown target: ' + name)
+- self.parse_run (filename, file, tool,
+- tool.get_variation (name),
+- num_variations)
+- # If there is only one variation then there is no separate
+- # summary for it. Record any following version output.
+- if num_variations == 1:
+- self.parse_final_summary (filename, file)
+- continue
+-
+- # Parse the start line. In the case where several files are being
+- # parsed, pick the one with the earliest time.
+- match = self.test_run_re.match (line)
+- if match:
+- time = self.parse_time (match.group (2))
+- if not self.start_line or self.start_line[0] > time:
+- self.start_line = (time, line)
+- continue
+-
+- # Parse the form used for native testing.
+- if line.startswith ('Native configuration is '):
+- self.native_line = line
+- continue
+-
+- # Parse the target triplet.
+- if line.startswith ('Target is '):
+- self.target_line = line
+- continue
+-
+- # Parse the host triplet.
+- if line.startswith ('Host is '):
+- self.host_line = line
+- continue
+-
+- # Parse the acats premable.
+- if line == '\t\t=== acats configuration ===\n':
+- self.parse_acats_run (filename, file)
+- continue
+-
+- # Parse the tool name.
+- match = self.tool_re.match (line)
+- if match:
+- tool = self.get_tool (match.group (1))
+- continue
+-
+- # Skip over the final summary (which we instead create from
+- # individual runs) and parse the version output.
+- if tool and line == '\t\t=== ' + tool.name + ' Summary ===\n':
+- if file.readline() != '\n':
+- self.fatal (filename, 'expected blank line after summary')
+- self.parse_final_summary (filename, file)
+- continue
+-
+- # Parse the completion line. In the case where several files
+- # are being parsed, pick the one with the latest time.
+- match = self.completed_re.match (line)
+- if match:
+- time = self.parse_time (match.group (1))
+- if not self.end_line or self.end_line[0] < time:
+- self.end_line = (time, line)
+- continue
+-
+- # Sanity check to make sure that important text doesn't get
+- # dropped accidentally.
+- if strict and line.strip() != '':
+- self.fatal (filename, 'unrecognised line: ' + line[:-1])
+-
+- # Output a segment of text.
+- def output_segment (self, segment):
+- with safe_open (segment.filename) as file:
+- file.seek (segment.start)
+- for i in range (segment.lines):
+- sys.stdout.write (file.readline())
+-
+- # Output a summary giving the number of times each type of result has
+- # been seen.
+- def output_summary (self, tool, counts):
+- for i in range (len (self.count_names)):
+- name = self.count_names[i]
+- # dejagnu only prints result types that were seen at least once,
+- # but acats always prints a number of unexpected failures.
+- if (counts[i] > 0
+- or (tool.name == 'acats'
+- and name.startswith ('# of unexpected failures'))):
+- sys.stdout.write ('%s%d\n' % (name, counts[i]))
+-
+- # Output unified .log or .sum information for a particular variation,
+- # with a summary at the end.
+- def output_variation (self, tool, variation):
+- self.output_segment (variation.header)
+- for harness in sorted (variation.harnesses.values(),
+- key = attrgetter ('name')):
+- sys.stdout.write ('Running ' + harness.name + ' ...\n')
+- if self.do_sum:
+- harness.results.sort()
+- for (key, line) in harness.results:
+- sys.stdout.write (line)
+- else:
+- # Rearrange the log segments into test order (but without
+- # rearranging text within those segments).
+- for key in sorted (harness.segments.keys()):
+- self.output_segment (harness.segments[key])
+- for segment in harness.empty:
+- self.output_segment (segment)
+- if len (self.variations) > 1:
+- sys.stdout.write ('\t\t=== ' + tool.name + ' Summary for '
+- + variation.name + ' ===\n\n')
+- self.output_summary (tool, variation.counts)
+-
+- # Output unified .log or .sum information for a particular tool,
+- # with a summary at the end.
+- def output_tool (self, tool):
+- counts = self.zero_counts()
+- if tool.name == 'acats':
+- # acats doesn't use variations, so just output everything.
+- # It also has a different approach to whitespace.
+- sys.stdout.write ('\t\t=== ' + tool.name + ' tests ===\n')
+- for variation in tool.variations.values():
+- self.output_variation (tool, variation)
+- self.accumulate_counts (counts, variation.counts)
+- sys.stdout.write ('\t\t=== ' + tool.name + ' Summary ===\n')
+- else:
+- # Output the results in the usual dejagnu runtest format.
+- sys.stdout.write ('\n\t\t=== ' + tool.name + ' tests ===\n\n'
+- 'Schedule of variations:\n')
+- for name in self.variations:
+- if name in tool.variations:
+- sys.stdout.write (' ' + name + '\n')
+- sys.stdout.write ('\n')
+- for name in self.variations:
+- if name in tool.variations:
+- variation = tool.variations[name]
+- sys.stdout.write ('Running target '
+- + variation.name + '\n')
+- self.output_variation (tool, variation)
+- self.accumulate_counts (counts, variation.counts)
+- sys.stdout.write ('\n\t\t=== ' + tool.name + ' Summary ===\n\n')
+- self.output_summary (tool, counts)
+-
+- def main (self):
+- self.parse_cmdline()
+- try:
+- # Parse the input files.
+- for filename in self.files:
+- with safe_open (filename) as file:
+- self.parse_file (filename, file)
+-
+- # Decide what to output.
+- if len (self.variations) == 0:
+- self.variations = sorted (self.known_variations)
+- else:
+- for name in self.variations:
+- if name not in self.known_variations:
+- self.fatal (None, 'no results for ' + name)
+- if len (self.tools) == 0:
+- self.tools = sorted (self.runs.keys())
+-
+- # Output the header.
+- if self.start_line:
+- sys.stdout.write (self.start_line[1])
+- sys.stdout.write (self.native_line)
+- sys.stdout.write (self.target_line)
+- sys.stdout.write (self.host_line)
+- sys.stdout.write (self.acats_premable)
+-
+- # Output the main body.
+- for name in self.tools:
+- if name not in self.runs:
+- self.fatal (None, 'no results for ' + name)
+- self.output_tool (self.runs[name])
+-
+- # Output the footer.
+- if len (self.acats_failures) > 0:
+- sys.stdout.write ('*** FAILURES: '
+- + ' '.join (self.acats_failures) + '\n')
+- sys.stdout.write (self.version_output)
+- if self.end_line:
+- sys.stdout.write (self.end_line[1])
+- except IOError as e:
+- self.fatal (e.filename, e.strerror)
+-
+-Prog().main()
diff --git a/gdb-py-frame-rip-test-fix.patch b/gdb-py-frame-rip-test-fix.patch
deleted file mode 100644
index 57a930c..0000000
--- a/gdb-py-frame-rip-test-fix.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-http://sourceware.org/ml/gdb-patches/2015-01/msg00110.html
-Subject: [testsuite patch] Fix new FAIL: py-frame.exp: test Frame.read_register(rip)
-
-
---/04w6evG8XlLl3ft
-Content-Type: text/plain; charset=us-ascii
-Content-Disposition: inline
-
-Hi,
-
-for x86_64 -m32 run one gets:
-
-+FAIL: gdb.python/py-frame.exp: test Frame.read_register(rip)
-
-I do not have x32 OS here but the %rip test should PASS there I think.
-
-OK for check-in?
-
-The code is there since:
- commit 5f3b99cfed3803f0b099152f54aac7cb90a2b926
- Author: Sasha Smundak
- Date: Wed Sep 3 16:34:47 2014 -0700
- Add support for reading frame registers to Python API.
-
-
-Jan
-
---/04w6evG8XlLl3ft
-Content-Type: text/plain; charset=us-ascii
-Content-Disposition: inline; filename=1
-
-gdb/testsuite/
-2015-01-07 Jan Kratochvil
-
- * gdb.python/py-frame.exp (test Frame.read_register(rip)): Use
- is_amd64_regs_target.
-
-diff --git a/gdb/testsuite/gdb.python/py-frame.exp b/gdb/testsuite/gdb.python/py-frame.exp
-index bf2e1ce..984acfc 100644
---- a/gdb/testsuite/gdb.python/py-frame.exp
-+++ b/gdb/testsuite/gdb.python/py-frame.exp
-@@ -106,7 +106,7 @@ gdb_test "python print ('result = %s' % (f0.read_register('pc') == f0.pc()))" \
- "test Frame.read_register(pc)"
-
- # On x86-64, PC is in $rip register.
--if {[istarget x86_64-*]} {
-+if {[is_amd64_regs_target]} {
- gdb_test "python print ('result = %s' % (f0.read_register('pc') == f0.read_register('rip')))" \
- " = True" \
- "test Frame.read_register(rip)"
-
---/04w6evG8XlLl3ft--
-
diff --git a/gdb-rhbz795424-bitpos-20of25.patch b/gdb-rhbz795424-bitpos-20of25.patch
index 28e6abc..f08f978 100644
--- a/gdb-rhbz795424-bitpos-20of25.patch
+++ b/gdb-rhbz795424-bitpos-20of25.patch
@@ -463,10 +463,10 @@ Content-Type: text/x-patch
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=bitpos-main.patch
-Index: gdb-7.8.50.20141228/gdb/ada-lang.c
+Index: gdb-7.8.90.20150125/gdb/ada-lang.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/ada-lang.c 2015-01-06 22:44:41.508318717 +0100
-+++ gdb-7.8.50.20141228/gdb/ada-lang.c 2015-01-06 22:44:43.164326752 +0100
+--- gdb-7.8.90.20150125.orig/gdb/ada-lang.c 2015-01-25 08:39:10.810466816 +0100
++++ gdb-7.8.90.20150125/gdb/ada-lang.c 2015-01-25 08:39:14.650483368 +0100
@@ -74,7 +74,7 @@ static struct type *desc_bounds_type (st
static struct value *desc_bounds (struct value *);
@@ -698,7 +698,7 @@ Index: gdb-7.8.50.20141228/gdb/ada-lang.c
gdb_byte *buf = alloca (len);
CORE_ADDR addr;
-@@ -6405,7 +6408,7 @@ value_tag_from_contents_and_address (str
+@@ -6436,7 +6439,7 @@ value_tag_from_contents_and_address (str
const gdb_byte *valaddr,
CORE_ADDR address)
{
@@ -707,7 +707,7 @@ Index: gdb-7.8.50.20141228/gdb/ada-lang.c
struct type *tag_type;
if (find_struct_field ("_tag", type, 0, &tag_type, &tag_byte_offset,
-@@ -6870,7 +6873,7 @@ ada_in_variant (LONGEST val, struct type
+@@ -6901,7 +6904,7 @@ ada_in_variant (LONGEST val, struct type
only in that it can handle packed values of arbitrary type. */
static struct value *
@@ -716,7 +716,7 @@ Index: gdb-7.8.50.20141228/gdb/ada-lang.c
struct type *arg_type)
{
struct type *type;
-@@ -6882,7 +6885,7 @@ ada_value_primitive_field (struct value
+@@ -6913,7 +6916,7 @@ ada_value_primitive_field (struct value
if (TYPE_FIELD_BITSIZE (arg_type, fieldno) != 0)
{
@@ -725,7 +725,7 @@ Index: gdb-7.8.50.20141228/gdb/ada-lang.c
int bit_size = TYPE_FIELD_BITSIZE (arg_type, fieldno);
return ada_value_primitive_packed_val (arg1, value_contents (arg1),
-@@ -6909,9 +6912,9 @@ ada_value_primitive_field (struct value
+@@ -6940,9 +6943,9 @@ ada_value_primitive_field (struct value
Returns 1 if found, 0 otherwise. */
static int
@@ -737,7 +737,7 @@ Index: gdb-7.8.50.20141228/gdb/ada-lang.c
int *index_p)
{
int i;
-@@ -6929,8 +6932,8 @@ find_struct_field (const char *name, str
+@@ -6960,8 +6963,8 @@ find_struct_field (const char *name, str
for (i = 0; i < TYPE_NFIELDS (type); i += 1)
{
@@ -748,7 +748,7 @@ Index: gdb-7.8.50.20141228/gdb/ada-lang.c
const char *t_field_name = TYPE_FIELD_NAME (type, i);
if (t_field_name == NULL)
-@@ -7000,7 +7003,7 @@ num_visible_fields (struct type *type)
+@@ -7031,7 +7034,7 @@ num_visible_fields (struct type *type)
Searches recursively through wrapper fields (e.g., '_parent'). */
static struct value *
@@ -757,7 +757,7 @@ Index: gdb-7.8.50.20141228/gdb/ada-lang.c
struct type *type)
{
int i;
-@@ -7033,7 +7036,7 @@ ada_search_struct_field (char *name, str
+@@ -7064,7 +7067,7 @@ ada_search_struct_field (char *name, str
int j;
struct type *field_type = ada_check_typedef (TYPE_FIELD_TYPE (type,
i));
@@ -766,7 +766,7 @@ Index: gdb-7.8.50.20141228/gdb/ada-lang.c
for (j = 0; j < TYPE_NFIELDS (field_type); j += 1)
{
-@@ -7051,8 +7054,8 @@ ada_search_struct_field (char *name, str
+@@ -7082,8 +7085,8 @@ ada_search_struct_field (char *name, str
return NULL;
}
@@ -777,7 +777,7 @@ Index: gdb-7.8.50.20141228/gdb/ada-lang.c
/* Return field #INDEX in ARG, where the index is that returned by
-@@ -7061,7 +7064,7 @@ static struct value *ada_index_struct_fi
+@@ -7092,7 +7095,7 @@ static struct value *ada_index_struct_fi
* If found, return value, else return NULL. */
static struct value *
@@ -786,7 +786,7 @@ Index: gdb-7.8.50.20141228/gdb/ada-lang.c
struct type *type)
{
return ada_index_struct_field_1 (&index, arg, offset, type);
-@@ -7073,7 +7076,7 @@ ada_index_struct_field (int index, struc
+@@ -7104,7 +7107,7 @@ ada_index_struct_field (int index, struc
* *INDEX_P. */
static struct value *
@@ -795,7 +795,7 @@ Index: gdb-7.8.50.20141228/gdb/ada-lang.c
struct type *type)
{
int i;
-@@ -7163,7 +7166,8 @@ ada_value_struct_elt (struct value *arg,
+@@ -7194,7 +7197,8 @@ ada_value_struct_elt (struct value *arg,
v = ada_search_struct_field (name, arg, 0, t);
else
{
@@ -805,7 +805,7 @@ Index: gdb-7.8.50.20141228/gdb/ada-lang.c
struct type *field_type;
CORE_ADDR address;
-@@ -7480,8 +7484,8 @@ ada_coerce_ref (struct value *val0)
+@@ -7511,8 +7515,8 @@ ada_coerce_ref (struct value *val0)
/* Return OFF rounded upward if necessary to a multiple of
ALIGNMENT (a power of 2). */
@@ -816,7 +816,7 @@ Index: gdb-7.8.50.20141228/gdb/ada-lang.c
{
return (off + alignment - 1) & ~(alignment - 1);
}
-@@ -7863,10 +7867,9 @@ ada_template_to_fixed_record_type_1 (str
+@@ -7894,10 +7898,9 @@ ada_template_to_fixed_record_type_1 (str
struct value *mark = value_mark ();
struct value *dval;
struct type *rtype;
@@ -829,7 +829,7 @@ Index: gdb-7.8.50.20141228/gdb/ada-lang.c
int f;
/* Compute the number of fields in this record type that are going
-@@ -7944,7 +7947,7 @@ ada_template_to_fixed_record_type_1 (str
+@@ -7975,7 +7978,7 @@ ada_template_to_fixed_record_type_1 (str
that follow this one. */
if (ada_is_aligner_type (field_type))
{
@@ -838,7 +838,7 @@ Index: gdb-7.8.50.20141228/gdb/ada-lang.c
field_valaddr = cond_offset_host (field_valaddr, field_offset);
field_address = cond_offset_target (field_address, field_offset);
-@@ -8080,11 +8083,11 @@ ada_template_to_fixed_record_type_1 (str
+@@ -8111,11 +8114,11 @@ ada_template_to_fixed_record_type_1 (str
if (TYPE_LENGTH (type) <= 0)
{
if (TYPE_NAME (rtype))
@@ -854,7 +854,7 @@ Index: gdb-7.8.50.20141228/gdb/ada-lang.c
}
else
{
-@@ -8508,7 +8511,8 @@ to_fixed_array_type (struct type *type0,
+@@ -8539,7 +8542,8 @@ to_fixed_array_type (struct type *type0,
type was a regular (non-packed) array type. As a result, the
bitsize of the array elements needs to be set again, and the array
length needs to be recomputed based on that bitsize. */
@@ -864,10 +864,10 @@ Index: gdb-7.8.50.20141228/gdb/ada-lang.c
int elt_bitsize = TYPE_FIELD_BITSIZE (type0, 0);
TYPE_FIELD_BITSIZE (result, 0) = TYPE_FIELD_BITSIZE (type0, 0);
-Index: gdb-7.8.50.20141228/gdb/ada-lang.h
+Index: gdb-7.8.90.20150125/gdb/ada-lang.h
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/ada-lang.h 2015-01-06 22:44:41.509318722 +0100
-+++ gdb-7.8.50.20141228/gdb/ada-lang.h 2015-01-06 22:44:43.164326752 +0100
+--- gdb-7.8.90.20150125.orig/gdb/ada-lang.h 2015-01-25 08:39:10.812466825 +0100
++++ gdb-7.8.90.20150125/gdb/ada-lang.h 2015-01-25 08:39:14.650483368 +0100
@@ -179,7 +179,7 @@ extern void ada_print_type (struct type
extern void ada_print_typedef (struct type *type, struct symbol *new_symbol,
struct ui_file *stream);
@@ -895,10 +895,10 @@ Index: gdb-7.8.50.20141228/gdb/ada-lang.h
struct type *);
extern struct type *ada_coerce_to_simple_array_type (struct type *);
-Index: gdb-7.8.50.20141228/gdb/ada-typeprint.c
+Index: gdb-7.8.90.20150125/gdb/ada-typeprint.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/ada-typeprint.c 2015-01-06 22:44:41.509318722 +0100
-+++ gdb-7.8.50.20141228/gdb/ada-typeprint.c 2015-01-06 22:44:43.165326757 +0100
+--- gdb-7.8.90.20150125.orig/gdb/ada-typeprint.c 2015-01-25 08:39:10.812466825 +0100
++++ gdb-7.8.90.20150125/gdb/ada-typeprint.c 2015-01-25 08:39:14.651483372 +0100
@@ -883,8 +883,8 @@ ada_print_type (struct type *type0, cons
const char *name = ada_type_name (type);
@@ -920,10 +920,10 @@ Index: gdb-7.8.50.20141228/gdb/ada-typeprint.c
break;
case TYPE_CODE_ENUM:
if (show < 0)
-Index: gdb-7.8.50.20141228/gdb/ada-valprint.c
+Index: gdb-7.8.90.20150125/gdb/ada-valprint.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/ada-valprint.c 2015-01-06 22:44:41.510318727 +0100
-+++ gdb-7.8.50.20141228/gdb/ada-valprint.c 2015-01-06 22:44:43.165326757 +0100
+--- gdb-7.8.90.20150125.orig/gdb/ada-valprint.c 2015-01-25 08:39:10.814466834 +0100
++++ gdb-7.8.90.20150125/gdb/ada-valprint.c 2015-01-25 08:39:14.651483372 +0100
@@ -33,11 +33,11 @@
#include "objfiles.h"
@@ -1077,10 +1077,10 @@ Index: gdb-7.8.50.20141228/gdb/ada-valprint.c
struct ui_file *stream, int recurse,
const struct value *val,
const struct value_print_options *options)
-Index: gdb-7.8.50.20141228/gdb/annotate.c
+Index: gdb-7.8.90.20150125/gdb/annotate.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/annotate.c 2015-01-06 22:44:41.510318727 +0100
-+++ gdb-7.8.50.20141228/gdb/annotate.c 2015-01-06 22:44:43.165326757 +0100
+--- gdb-7.8.90.20150125.orig/gdb/annotate.c 2015-01-25 08:39:10.814466834 +0100
++++ gdb-7.8.90.20150125/gdb/annotate.c 2015-01-25 08:39:14.652483376 +0100
@@ -542,21 +542,21 @@ annotate_frame_end (void)
}
@@ -1107,10 +1107,10 @@ Index: gdb-7.8.50.20141228/gdb/annotate.c
}
void
-Index: gdb-7.8.50.20141228/gdb/annotate.h
+Index: gdb-7.8.90.20150125/gdb/annotate.h
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/annotate.h 2015-01-06 22:44:41.510318727 +0100
-+++ gdb-7.8.50.20141228/gdb/annotate.h 2015-01-06 22:44:43.165326757 +0100
+--- gdb-7.8.90.20150125.orig/gdb/annotate.h 2015-01-25 08:39:10.815466838 +0100
++++ gdb-7.8.90.20150125/gdb/annotate.h 2015-01-25 08:39:14.652483376 +0100
@@ -92,8 +92,8 @@ extern void annotate_frame_source_end (v
extern void annotate_frame_where (void);
extern void annotate_frame_end (void);
@@ -1122,10 +1122,10 @@ Index: gdb-7.8.50.20141228/gdb/annotate.h
extern void annotate_elt_rep_end (void);
extern void annotate_elt (void);
extern void annotate_array_section_end (void);
-Index: gdb-7.8.50.20141228/gdb/arm-linux-nat.c
+Index: gdb-7.8.90.20150125/gdb/arm-linux-nat.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/arm-linux-nat.c 2015-01-06 22:44:41.511318732 +0100
-+++ gdb-7.8.50.20141228/gdb/arm-linux-nat.c 2015-01-06 22:44:43.166326762 +0100
+--- gdb-7.8.90.20150125.orig/gdb/arm-linux-nat.c 2015-01-25 08:39:10.815466838 +0100
++++ gdb-7.8.90.20150125/gdb/arm-linux-nat.c 2015-01-25 08:39:14.652483376 +0100
@@ -1186,7 +1186,7 @@ arm_linux_remove_hw_breakpoint (struct t
ADDR? */
static int
@@ -1135,10 +1135,10 @@ Index: gdb-7.8.50.20141228/gdb/arm-linux-nat.c
{
const struct arm_linux_hwbp_cap *cap = arm_linux_get_hwbp_cap ();
CORE_ADDR max_wp_length, aligned_addr;
-Index: gdb-7.8.50.20141228/gdb/ax-gdb.c
+Index: gdb-7.8.90.20150125/gdb/ax-gdb.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/ax-gdb.c 2015-01-06 22:44:41.512318737 +0100
-+++ gdb-7.8.50.20141228/gdb/ax-gdb.c 2015-01-06 22:44:43.166326762 +0100
+--- gdb-7.8.90.20150125.orig/gdb/ax-gdb.c 2015-01-25 08:39:10.817466846 +0100
++++ gdb-7.8.90.20150125/gdb/ax-gdb.c 2015-01-25 08:39:14.653483381 +0100
@@ -82,12 +82,12 @@ static void gen_traced_pop (struct gdbar
static void gen_sign_extend (struct agent_expr *, struct type *);
static void gen_extend (struct agent_expr *, struct type *);
@@ -1238,10 +1238,10 @@ Index: gdb-7.8.50.20141228/gdb/ax-gdb.c
{
int i, rslt;
int nbases = TYPE_N_BASECLASSES (type);
-Index: gdb-7.8.50.20141228/gdb/ax-general.c
+Index: gdb-7.8.90.20150125/gdb/ax-general.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/ax-general.c 2015-01-06 22:44:41.512318737 +0100
-+++ gdb-7.8.50.20141228/gdb/ax-general.c 2015-01-06 22:44:43.167326767 +0100
+--- gdb-7.8.90.20150125.orig/gdb/ax-general.c 2015-01-25 08:39:10.818466851 +0100
++++ gdb-7.8.90.20150125/gdb/ax-general.c 2015-01-25 08:39:14.653483381 +0100
@@ -193,7 +193,7 @@ ax_zero_ext (struct agent_expr *x, int n
/* Append a trace_quick instruction to EXPR, to record N bytes. */
@@ -1251,10 +1251,10 @@ Index: gdb-7.8.50.20141228/gdb/ax-general.c
{
/* N must fit in a byte. */
if (n < 0 || n > 255)
-Index: gdb-7.8.50.20141228/gdb/ax.h
+Index: gdb-7.8.90.20150125/gdb/ax.h
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/ax.h 2015-01-06 22:44:41.512318737 +0100
-+++ gdb-7.8.50.20141228/gdb/ax.h 2015-01-06 22:44:43.167326767 +0100
+--- gdb-7.8.90.20150125.orig/gdb/ax.h 2015-01-25 08:39:10.818466851 +0100
++++ gdb-7.8.90.20150125/gdb/ax.h 2015-01-25 08:39:14.654483385 +0100
@@ -207,7 +207,7 @@ extern void ax_ext (struct agent_expr *E
extern void ax_zero_ext (struct agent_expr *EXPR, int N);
@@ -1264,10 +1264,10 @@ Index: gdb-7.8.50.20141228/gdb/ax.h
/* Append a goto op to EXPR. OP is the actual op (must be aop_goto or
aop_if_goto). We assume we don't know the target offset yet,
-Index: gdb-7.8.50.20141228/gdb/breakpoint.c
+Index: gdb-7.8.90.20150125/gdb/breakpoint.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/breakpoint.c 2015-01-06 22:44:41.516318756 +0100
-+++ gdb-7.8.50.20141228/gdb/breakpoint.c 2015-01-06 22:44:43.170326781 +0100
+--- gdb-7.8.90.20150125.orig/gdb/breakpoint.c 2015-01-25 08:39:10.824466877 +0100
++++ gdb-7.8.90.20150125/gdb/breakpoint.c 2015-01-25 08:39:14.657483398 +0100
@@ -2191,9 +2191,9 @@ should_be_inserted (struct bp_location *
{
fprintf_unfiltered (gdb_stdlog,
@@ -1280,7 +1280,7 @@ Index: gdb-7.8.50.20141228/gdb/breakpoint.c
}
return 0;
}
-@@ -6943,7 +6943,7 @@ breakpoint_address_match (struct address
+@@ -6976,7 +6976,7 @@ breakpoint_address_match (struct address
static int
breakpoint_address_match_range (struct address_space *aspace1, CORE_ADDR addr1,
@@ -1289,7 +1289,7 @@ Index: gdb-7.8.50.20141228/gdb/breakpoint.c
CORE_ADDR addr2)
{
return ((gdbarch_has_global_breakpoints (target_gdbarch ())
-@@ -11667,7 +11667,7 @@ can_use_hardware_watchpoint (struct valu
+@@ -11700,7 +11700,7 @@ can_use_hardware_watchpoint (struct valu
&& TYPE_CODE (vtype) != TYPE_CODE_ARRAY))
{
CORE_ADDR vaddr = value_address (v);
@@ -1298,10 +1298,10 @@ Index: gdb-7.8.50.20141228/gdb/breakpoint.c
int num_regs;
len = (target_exact_watchpoints
-Index: gdb-7.8.50.20141228/gdb/breakpoint.h
+Index: gdb-7.8.90.20150125/gdb/breakpoint.h
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/breakpoint.h 2015-01-06 22:44:41.517318761 +0100
-+++ gdb-7.8.50.20141228/gdb/breakpoint.h 2015-01-06 22:44:43.170326781 +0100
+--- gdb-7.8.90.20150125.orig/gdb/breakpoint.h 2015-01-25 08:39:10.826466885 +0100
++++ gdb-7.8.90.20150125/gdb/breakpoint.h 2015-01-25 08:39:14.658483402 +0100
@@ -236,7 +236,7 @@ struct bp_target_info
/* If this is a ranged breakpoint, then this field contains the
@@ -1320,10 +1320,10 @@ Index: gdb-7.8.50.20141228/gdb/breakpoint.h
/* Type of hardware watchpoint. */
enum target_hw_bp_type watchpoint_type;
-Index: gdb-7.8.50.20141228/gdb/c-lang.c
+Index: gdb-7.8.90.20150125/gdb/c-lang.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/c-lang.c 2015-01-06 22:44:41.518318766 +0100
-+++ gdb-7.8.50.20141228/gdb/c-lang.c 2015-01-06 22:44:43.170326781 +0100
+--- gdb-7.8.90.20150125.orig/gdb/c-lang.c 2015-01-25 08:39:10.826466885 +0100
++++ gdb-7.8.90.20150125/gdb/c-lang.c 2015-01-25 08:39:14.658483402 +0100
@@ -187,7 +187,7 @@ c_printchar (int c, struct type *type, s
void
@@ -1351,10 +1351,10 @@ Index: gdb-7.8.50.20141228/gdb/c-lang.c
if (get_discrete_bounds (TYPE_INDEX_TYPE (expect_type),
&low_bound, &high_bound) < 0)
-Index: gdb-7.8.50.20141228/gdb/c-lang.h
+Index: gdb-7.8.90.20150125/gdb/c-lang.h
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/c-lang.h 2015-01-06 22:44:41.518318766 +0100
-+++ gdb-7.8.50.20141228/gdb/c-lang.h 2015-01-06 22:44:43.171326786 +0100
+--- gdb-7.8.90.20150125.orig/gdb/c-lang.h 2015-01-25 08:39:10.827466890 +0100
++++ gdb-7.8.90.20150125/gdb/c-lang.h 2015-01-25 08:39:14.659483406 +0100
@@ -74,7 +74,7 @@ extern void c_print_typedef (struct type
struct ui_file *);
@@ -1390,10 +1390,10 @@ Index: gdb-7.8.50.20141228/gdb/c-lang.h
struct ui_file *, int,
const struct value *,
const struct value_print_options *,
-Index: gdb-7.8.50.20141228/gdb/c-valprint.c
+Index: gdb-7.8.90.20150125/gdb/c-valprint.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/c-valprint.c 2015-01-06 22:44:41.518318766 +0100
-+++ gdb-7.8.50.20141228/gdb/c-valprint.c 2015-01-06 22:44:43.171326786 +0100
+--- gdb-7.8.90.20150125.orig/gdb/c-valprint.c 2015-01-25 08:39:10.827466890 +0100
++++ gdb-7.8.90.20150125/gdb/c-valprint.c 2015-01-25 08:39:14.659483406 +0100
@@ -132,7 +132,7 @@ static const struct generic_val_print_de
void
@@ -1435,10 +1435,10 @@ Index: gdb-7.8.50.20141228/gdb/c-valprint.c
struct value_print_options opts = *options;
opts.deref_ref = 1;
-Index: gdb-7.8.50.20141228/gdb/cp-abi.c
+Index: gdb-7.8.90.20150125/gdb/cp-abi.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/cp-abi.c 2015-01-06 22:44:41.518318766 +0100
-+++ gdb-7.8.50.20141228/gdb/cp-abi.c 2015-01-06 22:44:43.171326786 +0100
+--- gdb-7.8.90.20150125.orig/gdb/cp-abi.c 2015-01-25 08:39:10.827466890 +0100
++++ gdb-7.8.90.20150125/gdb/cp-abi.c 2015-01-25 08:39:14.659483406 +0100
@@ -64,13 +64,13 @@ is_operator_name (const char *name)
return (*current_cp_abi.is_operator_name) (name);
}
@@ -1474,10 +1474,10 @@ Index: gdb-7.8.50.20141228/gdb/cp-abi.c
{
struct type *ret = NULL;
volatile struct gdb_exception e;
-Index: gdb-7.8.50.20141228/gdb/cp-abi.h
+Index: gdb-7.8.90.20150125/gdb/cp-abi.h
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/cp-abi.h 2015-01-06 22:44:41.519318770 +0100
-+++ gdb-7.8.50.20141228/gdb/cp-abi.h 2015-01-06 22:44:43.171326786 +0100
+--- gdb-7.8.90.20150125.orig/gdb/cp-abi.h 2015-01-25 08:39:10.828466894 +0100
++++ gdb-7.8.90.20150125/gdb/cp-abi.h 2015-01-25 08:39:14.659483406 +0100
@@ -108,7 +108,7 @@ extern struct value *value_virtual_fn_fi
struct fn_field *f,
int j,
@@ -1532,10 +1532,10 @@ Index: gdb-7.8.50.20141228/gdb/cp-abi.h
void (*print_method_ptr) (const gdb_byte *contents,
struct type *type,
struct ui_file *stream);
-Index: gdb-7.8.50.20141228/gdb/cp-valprint.c
+Index: gdb-7.8.90.20150125/gdb/cp-valprint.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/cp-valprint.c 2015-01-06 22:44:41.519318770 +0100
-+++ gdb-7.8.50.20141228/gdb/cp-valprint.c 2015-01-06 22:44:43.172326791 +0100
+--- gdb-7.8.90.20150125.orig/gdb/cp-valprint.c 2015-01-25 08:39:10.829466898 +0100
++++ gdb-7.8.90.20150125/gdb/cp-valprint.c 2015-01-25 08:39:14.660483411 +0100
@@ -80,7 +80,7 @@ static void cp_print_static_field (struc
const struct value_print_options *);
@@ -1609,10 +1609,10 @@ Index: gdb-7.8.50.20141228/gdb/cp-valprint.c
int skip;
struct type *baseclass = check_typedef (TYPE_BASECLASS (type, i));
const char *basename = TYPE_NAME (baseclass);
-Index: gdb-7.8.50.20141228/gdb/d-lang.h
+Index: gdb-7.8.90.20150125/gdb/d-lang.h
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/d-lang.h 2015-01-06 22:44:41.519318770 +0100
-+++ gdb-7.8.50.20141228/gdb/d-lang.h 2015-01-06 22:44:43.172326791 +0100
+--- gdb-7.8.90.20150125.orig/gdb/d-lang.h 2015-01-25 08:39:10.829466898 +0100
++++ gdb-7.8.90.20150125/gdb/d-lang.h 2015-01-25 08:39:14.660483411 +0100
@@ -71,7 +71,7 @@ extern const struct builtin_d_type *buil
/* Defined in d-valprint.c */
@@ -1622,10 +1622,10 @@ Index: gdb-7.8.50.20141228/gdb/d-lang.h
struct ui_file *stream, int recurse,
const struct value *val,
const struct value_print_options *options);
-Index: gdb-7.8.50.20141228/gdb/d-valprint.c
+Index: gdb-7.8.90.20150125/gdb/d-valprint.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/d-valprint.c 2015-01-06 22:44:41.519318770 +0100
-+++ gdb-7.8.50.20141228/gdb/d-valprint.c 2015-01-06 22:44:43.172326791 +0100
+--- gdb-7.8.90.20150125.orig/gdb/d-valprint.c 2015-01-25 08:39:10.829466898 +0100
++++ gdb-7.8.90.20150125/gdb/d-valprint.c 2015-01-25 08:39:14.660483411 +0100
@@ -29,7 +29,7 @@
static int
@@ -1648,10 +1648,10 @@ Index: gdb-7.8.50.20141228/gdb/d-valprint.c
const struct value_print_options *options)
{
int ret;
-Index: gdb-7.8.50.20141228/gdb/doublest.c
+Index: gdb-7.8.90.20150125/gdb/doublest.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/doublest.c 2015-01-06 22:44:41.520318775 +0100
-+++ gdb-7.8.50.20141228/gdb/doublest.c 2015-01-06 22:44:43.172326791 +0100
+--- gdb-7.8.90.20150125.orig/gdb/doublest.c 2015-01-25 08:39:10.830466903 +0100
++++ gdb-7.8.90.20150125/gdb/doublest.c 2015-01-25 08:39:14.661483415 +0100
@@ -765,7 +765,7 @@ floatformat_from_doublest (const struct
but not passed on by GDB. This should be fixed. */
@@ -1672,10 +1672,10 @@ Index: gdb-7.8.50.20141228/gdb/doublest.c
return format;
}
-Index: gdb-7.8.50.20141228/gdb/dwarf2loc.c
+Index: gdb-7.8.90.20150125/gdb/dwarf2loc.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/dwarf2loc.c 2015-01-06 22:44:41.522318785 +0100
-+++ gdb-7.8.50.20141228/gdb/dwarf2loc.c 2015-01-06 22:44:43.173326796 +0100
+--- gdb-7.8.90.20150125.orig/gdb/dwarf2loc.c 2015-01-25 08:39:10.833466916 +0100
++++ gdb-7.8.90.20150125/gdb/dwarf2loc.c 2015-01-25 08:40:00.580681336 +0100
@@ -1557,19 +1557,19 @@ insert_bits (unsigned int datum,
BITS_BIG_ENDIAN is taken directly from gdbarch. */
@@ -1786,10 +1786,10 @@ Index: gdb-7.8.50.20141228/gdb/dwarf2loc.c
struct dwarf_expr_piece *piece = NULL;
- LONGEST byte_offset;
+ LONGEST byte_offset, bit_offset;
+ enum bfd_endian byte_order;
type = check_typedef (value_type (value));
- if (TYPE_CODE (type) != TYPE_CODE_PTR)
-@@ -2025,7 +2026,7 @@ indirect_pieced_value (struct value *val
+@@ -2026,7 +2027,7 @@ indirect_pieced_value (struct value *val
for (i = 0; i < c->n_pieces && bit_length > 0; i++)
{
struct dwarf_expr_piece *p = &c->pieces[i];
@@ -1798,7 +1798,7 @@ Index: gdb-7.8.50.20141228/gdb/dwarf2loc.c
if (bit_offset > 0)
{
-@@ -2303,7 +2304,7 @@ dwarf2_evaluate_loc_desc_full (struct ty
+@@ -2309,7 +2310,7 @@ dwarf2_evaluate_loc_desc_full (struct ty
struct value *value = dwarf_expr_fetch (ctx, 0);
gdb_byte *contents;
const gdb_byte *val_bytes;
@@ -1807,10 +1807,10 @@ Index: gdb-7.8.50.20141228/gdb/dwarf2loc.c
if (byte_offset + TYPE_LENGTH (type) > n)
invalid_synthetic_pointer ();
-Index: gdb-7.8.50.20141228/gdb/dwarf2read.c
+Index: gdb-7.8.90.20150125/gdb/dwarf2read.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/dwarf2read.c 2015-01-06 22:44:41.526318805 +0100
-+++ gdb-7.8.50.20141228/gdb/dwarf2read.c 2015-01-06 22:44:43.177326815 +0100
+--- gdb-7.8.90.20150125.orig/gdb/dwarf2read.c 2015-01-25 08:39:10.840466946 +0100
++++ gdb-7.8.90.20150125/gdb/dwarf2read.c 2015-01-25 08:39:14.667483441 +0100
@@ -1883,12 +1883,12 @@ dwarf2_complex_location_expr_complaint (
}
@@ -1839,10 +1839,10 @@ Index: gdb-7.8.50.20141228/gdb/dwarf2read.c
attr = dwarf2_attr (die, DW_AT_byte_size, cu);
if (attr)
-Index: gdb-7.8.50.20141228/gdb/eval.c
+Index: gdb-7.8.90.20150125/gdb/eval.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/eval.c 2015-01-06 22:44:41.528318814 +0100
-+++ gdb-7.8.50.20141228/gdb/eval.c 2015-01-06 22:44:43.178326820 +0100
+--- gdb-7.8.90.20150125.orig/gdb/eval.c 2015-01-25 08:39:10.842466954 +0100
++++ gdb-7.8.90.20150125/gdb/eval.c 2015-01-25 08:39:14.668483445 +0100
@@ -314,7 +314,8 @@ evaluate_struct_tuple (struct value *str
while (--nargs >= 0)
{
@@ -1905,10 +1905,10 @@ Index: gdb-7.8.50.20141228/gdb/eval.c
struct value_print_options opts;
get_user_print_options (&opts);
-Index: gdb-7.8.50.20141228/gdb/f-lang.c
+Index: gdb-7.8.90.20150125/gdb/f-lang.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/f-lang.c 2015-01-06 22:44:41.529318819 +0100
-+++ gdb-7.8.50.20141228/gdb/f-lang.c 2015-01-06 22:44:43.178326820 +0100
+--- gdb-7.8.90.20150125.orig/gdb/f-lang.c 2015-01-25 08:39:10.843466959 +0100
++++ gdb-7.8.90.20150125/gdb/f-lang.c 2015-01-25 08:39:14.668483445 +0100
@@ -103,7 +103,7 @@ f_printchar (int c, struct type *type, s
static void
@@ -1918,10 +1918,10 @@ Index: gdb-7.8.50.20141228/gdb/f-lang.c
const struct value_print_options *options)
{
const char *type_encoding = f_get_encoding (type);
-Index: gdb-7.8.50.20141228/gdb/f-lang.h
+Index: gdb-7.8.90.20150125/gdb/f-lang.h
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/f-lang.h 2015-01-06 22:44:41.529318819 +0100
-+++ gdb-7.8.50.20141228/gdb/f-lang.h 2015-01-06 22:44:43.178326820 +0100
+--- gdb-7.8.90.20150125.orig/gdb/f-lang.h 2015-01-25 08:39:10.843466959 +0100
++++ gdb-7.8.90.20150125/gdb/f-lang.h 2015-01-25 08:39:14.668483445 +0100
@@ -30,7 +30,7 @@ extern void f_error (char *); /* Defined
extern void f_print_type (struct type *, const char *, struct ui_file *, int,
int, const struct type_print_options *);
@@ -1931,10 +1931,10 @@ Index: gdb-7.8.50.20141228/gdb/f-lang.h
struct ui_file *, int,
const struct value *,
const struct value_print_options *);
-Index: gdb-7.8.50.20141228/gdb/f-valprint.c
+Index: gdb-7.8.90.20150125/gdb/f-valprint.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/f-valprint.c 2015-01-06 22:44:41.529318819 +0100
-+++ gdb-7.8.50.20141228/gdb/f-valprint.c 2015-01-06 22:45:07.746446028 +0100
+--- gdb-7.8.90.20150125.orig/gdb/f-valprint.c 2015-01-25 08:39:10.843466959 +0100
++++ gdb-7.8.90.20150125/gdb/f-valprint.c 2015-01-25 08:39:14.668483445 +0100
@@ -38,7 +38,7 @@ extern void _initialize_f_valprint (void
static void info_common_command (char *, int);
static void f77_get_dynamic_length_of_aggregate (struct type *);
@@ -1994,10 +1994,10 @@ Index: gdb-7.8.50.20141228/gdb/f-valprint.c
const struct value *original_value,
const struct value_print_options *options)
{
-Index: gdb-7.8.50.20141228/gdb/findvar.c
+Index: gdb-7.8.90.20150125/gdb/findvar.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/findvar.c 2015-01-06 22:44:41.529318819 +0100
-+++ gdb-7.8.50.20141228/gdb/findvar.c 2015-01-06 22:44:43.179326825 +0100
+--- gdb-7.8.90.20150125.orig/gdb/findvar.c 2015-01-25 08:39:10.844466963 +0100
++++ gdb-7.8.90.20150125/gdb/findvar.c 2015-01-25 08:39:14.669483449 +0100
@@ -626,7 +626,7 @@ struct value *
default_value_from_register (struct gdbarch *gdbarch, struct type *type,
int regnum, struct frame_id frame_id)
@@ -2030,10 +2030,10 @@ Index: gdb-7.8.50.20141228/gdb/findvar.c
/* If the register length is larger than the number of bytes
remaining to copy, then only copy the appropriate bytes. */
-Index: gdb-7.8.50.20141228/gdb/frame.c
+Index: gdb-7.8.90.20150125/gdb/frame.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/frame.c 2015-01-06 22:44:41.530318824 +0100
-+++ gdb-7.8.50.20141228/gdb/frame.c 2015-01-06 22:44:43.180326830 +0100
+--- gdb-7.8.90.20150125.orig/gdb/frame.c 2015-01-25 08:39:10.845466967 +0100
++++ gdb-7.8.90.20150125/gdb/frame.c 2015-01-25 08:39:14.669483449 +0100
@@ -1269,7 +1269,7 @@ deprecated_frame_register_read (struct f
int
@@ -2052,10 +2052,10 @@ Index: gdb-7.8.50.20141228/gdb/frame.c
/* Copy the data. */
while (len > 0)
-Index: gdb-7.8.50.20141228/gdb/frame.h
+Index: gdb-7.8.90.20150125/gdb/frame.h
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/frame.h 2015-01-06 22:44:41.530318824 +0100
-+++ gdb-7.8.50.20141228/gdb/frame.h 2015-01-06 22:44:43.180326830 +0100
+--- gdb-7.8.90.20150125.orig/gdb/frame.h 2015-01-25 08:39:10.845466967 +0100
++++ gdb-7.8.90.20150125/gdb/frame.h 2015-01-25 08:39:14.670483454 +0100
@@ -583,7 +583,7 @@ extern void put_frame_register (struct f
contents are optimized out or unavailable, set *OPTIMIZEDP,
*UNAVAILABLEP accordingly. */
@@ -2065,11 +2065,11 @@ Index: gdb-7.8.50.20141228/gdb/frame.h
gdb_byte *myaddr,
int *optimizedp, int *unavailablep);
-Index: gdb-7.8.50.20141228/gdb/gdbtypes.c
+Index: gdb-7.8.90.20150125/gdb/gdbtypes.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/gdbtypes.c 2015-01-06 22:44:41.532318834 +0100
-+++ gdb-7.8.50.20141228/gdb/gdbtypes.c 2015-01-06 22:44:43.181326835 +0100
-@@ -2477,7 +2477,7 @@ allocate_gnat_aux_type (struct type *typ
+--- gdb-7.8.90.20150125.orig/gdb/gdbtypes.c 2015-01-25 08:39:10.848466980 +0100
++++ gdb-7.8.90.20150125/gdb/gdbtypes.c 2015-01-25 08:39:14.671483458 +0100
+@@ -2478,7 +2478,7 @@ allocate_gnat_aux_type (struct type *typ
least as long as OBJFILE. */
struct type *
@@ -2078,7 +2078,7 @@ Index: gdb-7.8.50.20141228/gdb/gdbtypes.c
const char *name, struct objfile *objfile)
{
struct type *type;
-@@ -2717,8 +2717,8 @@ is_public_ancestor (struct type *base, s
+@@ -2718,8 +2718,8 @@ is_public_ancestor (struct type *base, s
static int
is_unique_ancestor_worker (struct type *base, struct type *dclass,
@@ -2089,7 +2089,7 @@ Index: gdb-7.8.50.20141228/gdb/gdbtypes.c
CORE_ADDR address, struct value *val)
{
int i, count = 0;
-@@ -2729,7 +2729,7 @@ is_unique_ancestor_worker (struct type *
+@@ -2730,7 +2730,7 @@ is_unique_ancestor_worker (struct type *
for (i = 0; i < TYPE_N_BASECLASSES (dclass) && count < 2; ++i)
{
struct type *iter;
@@ -2098,7 +2098,7 @@ Index: gdb-7.8.50.20141228/gdb/gdbtypes.c
iter = check_typedef (TYPE_BASECLASS (dclass, i));
-@@ -2770,7 +2770,7 @@ is_unique_ancestor_worker (struct type *
+@@ -2771,7 +2771,7 @@ is_unique_ancestor_worker (struct type *
int
is_unique_ancestor (struct type *base, struct value *val)
{
@@ -2107,7 +2107,7 @@ Index: gdb-7.8.50.20141228/gdb/gdbtypes.c
return is_unique_ancestor_worker (base, value_type (val), &offset,
value_contents_for_printing (val),
-@@ -3915,7 +3915,7 @@ recursive_dump_type (struct type *type,
+@@ -3916,7 +3916,7 @@ recursive_dump_type (struct type *type,
break;
}
puts_filtered ("\n");
@@ -2116,7 +2116,7 @@ Index: gdb-7.8.50.20141228/gdb/gdbtypes.c
if (TYPE_OBJFILE_OWNED (type))
{
printfi_filtered (spaces, "objfile ");
-@@ -4039,8 +4039,8 @@ recursive_dump_type (struct type *type,
+@@ -4040,8 +4040,8 @@ recursive_dump_type (struct type *type,
idx, plongest (TYPE_FIELD_ENUMVAL (type, idx)));
else
printfi_filtered (spaces + 2,
@@ -2127,7 +2127,7 @@ Index: gdb-7.8.50.20141228/gdb/gdbtypes.c
TYPE_FIELD_BITSIZE (type, idx));
gdb_print_host_address (TYPE_FIELD_TYPE (type, idx), gdb_stdout);
printf_filtered (" name '%s' (",
-@@ -4397,7 +4397,7 @@ copy_type (const struct type *type)
+@@ -4398,7 +4398,7 @@ copy_type (const struct type *type)
struct type *
arch_type (struct gdbarch *gdbarch,
@@ -2136,10 +2136,10 @@ Index: gdb-7.8.50.20141228/gdb/gdbtypes.c
{
struct type *type;
-Index: gdb-7.8.50.20141228/gdb/gdbtypes.h
+Index: gdb-7.8.90.20150125/gdb/gdbtypes.h
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/gdbtypes.h 2015-01-06 22:44:41.533318838 +0100
-+++ gdb-7.8.50.20141228/gdb/gdbtypes.h 2015-01-06 22:44:43.181326835 +0100
+--- gdb-7.8.90.20150125.orig/gdb/gdbtypes.h 2015-01-25 08:39:10.849466984 +0100
++++ gdb-7.8.90.20150125/gdb/gdbtypes.h 2015-01-25 08:39:14.671483458 +0100
@@ -598,7 +598,7 @@ struct main_type
gdbarch_bits_big_endian=0 targets, it is the bit offset to
the LSB. */
@@ -2173,10 +2173,10 @@ Index: gdb-7.8.50.20141228/gdb/gdbtypes.h
extern struct type *arch_integer_type (struct gdbarch *, int, int, char *);
extern struct type *arch_character_type (struct gdbarch *, int, int, char *);
extern struct type *arch_boolean_type (struct gdbarch *, int, int, char *);
-Index: gdb-7.8.50.20141228/gdb/gnu-v2-abi.c
+Index: gdb-7.8.90.20150125/gdb/gnu-v2-abi.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/gnu-v2-abi.c 2015-01-06 22:44:41.533318838 +0100
-+++ gdb-7.8.50.20141228/gdb/gnu-v2-abi.c 2015-01-06 22:44:43.181326835 +0100
+--- gdb-7.8.90.20150125.orig/gdb/gnu-v2-abi.c 2015-01-25 08:39:10.849466984 +0100
++++ gdb-7.8.90.20150125/gdb/gnu-v2-abi.c 2015-01-25 08:39:14.672483462 +0100
@@ -82,7 +82,7 @@ gnuv2_is_operator_name (const char *name
TYPE is the type in which F is located. */
static struct value *
@@ -2228,10 +2228,10 @@ Index: gdb-7.8.50.20141228/gdb/gnu-v2-abi.c
gnuv2_baseclass_offset (type, i, valaddr,
embedded_offset, address, val);
-Index: gdb-7.8.50.20141228/gdb/gnu-v3-abi.c
+Index: gdb-7.8.90.20150125/gdb/gnu-v3-abi.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/gnu-v3-abi.c 2015-01-06 22:44:41.534318843 +0100
-+++ gdb-7.8.50.20141228/gdb/gnu-v3-abi.c 2015-01-06 22:44:43.181326835 +0100
+--- gdb-7.8.90.20150125.orig/gdb/gnu-v3-abi.c 2015-01-25 08:39:10.850466989 +0100
++++ gdb-7.8.90.20150125/gdb/gnu-v3-abi.c 2015-01-25 08:39:14.672483462 +0100
@@ -108,7 +108,7 @@ build_gdb_vtable_type (struct gdbarch *a
{
struct type *t;
@@ -2306,10 +2306,10 @@ Index: gdb-7.8.50.20141228/gdb/gnu-v3-abi.c
struct type *basetype;
if (BASETYPE_VIA_VIRTUAL (domain, i))
-Index: gdb-7.8.50.20141228/gdb/go-lang.h
+Index: gdb-7.8.90.20150125/gdb/go-lang.h
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/go-lang.h 2015-01-06 22:44:41.534318843 +0100
-+++ gdb-7.8.50.20141228/gdb/go-lang.h 2015-01-06 22:44:43.182326840 +0100
+--- gdb-7.8.90.20150125.orig/gdb/go-lang.h 2015-01-25 08:39:10.850466989 +0100
++++ gdb-7.8.90.20150125/gdb/go-lang.h 2015-01-25 08:39:14.672483462 +0100
@@ -85,7 +85,7 @@ extern void go_print_type (struct type *
/* Defined in go-valprint.c. */
@@ -2319,10 +2319,10 @@ Index: gdb-7.8.50.20141228/gdb/go-lang.h
struct ui_file *stream, int recurse,
const struct value *val,
const struct value_print_options *options);
-Index: gdb-7.8.50.20141228/gdb/go-valprint.c
+Index: gdb-7.8.90.20150125/gdb/go-valprint.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/go-valprint.c 2015-01-06 22:44:41.534318843 +0100
-+++ gdb-7.8.50.20141228/gdb/go-valprint.c 2015-01-06 22:44:43.182326840 +0100
+--- gdb-7.8.90.20150125.orig/gdb/go-valprint.c 2015-01-25 08:39:10.851466993 +0100
++++ gdb-7.8.90.20150125/gdb/go-valprint.c 2015-01-25 08:39:14.672483462 +0100
@@ -37,7 +37,7 @@
static void
@@ -2345,10 +2345,10 @@ Index: gdb-7.8.50.20141228/gdb/go-valprint.c
const struct value_print_options *options)
{
CHECK_TYPEDEF (type);
-Index: gdb-7.8.50.20141228/gdb/inf-ttrace.c
+Index: gdb-7.8.90.20150125/gdb/inf-ttrace.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/inf-ttrace.c 2015-01-06 22:44:41.535318848 +0100
-+++ gdb-7.8.50.20141228/gdb/inf-ttrace.c 2015-01-06 22:44:43.182326840 +0100
+--- gdb-7.8.90.20150125.orig/gdb/inf-ttrace.c 2015-01-25 08:39:10.851466993 +0100
++++ gdb-7.8.90.20150125/gdb/inf-ttrace.c 2015-01-25 08:39:14.673483467 +0100
@@ -366,7 +366,7 @@ inf_ttrace_can_use_hw_breakpoint (struct
static int
@@ -2358,10 +2358,10 @@ Index: gdb-7.8.50.20141228/gdb/inf-ttrace.c
{
return 1;
}
-Index: gdb-7.8.50.20141228/gdb/jv-lang.c
+Index: gdb-7.8.90.20150125/gdb/jv-lang.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/jv-lang.c 2015-01-06 22:44:41.535318848 +0100
-+++ gdb-7.8.50.20141228/gdb/jv-lang.c 2015-01-06 22:44:43.182326840 +0100
+--- gdb-7.8.90.20150125.orig/gdb/jv-lang.c 2015-01-25 08:39:10.852466997 +0100
++++ gdb-7.8.90.20150125/gdb/jv-lang.c 2015-01-25 08:39:14.673483467 +0100
@@ -436,7 +436,7 @@ java_link_class_type (struct gdbarch *gd
for (i = TYPE_N_BASECLASSES (type); i < nfields; i++)
{
@@ -2380,10 +2380,10 @@ Index: gdb-7.8.50.20141228/gdb/jv-lang.c
const struct value_print_options *options)
{
const char *type_encoding = java_get_encoding (type);
-Index: gdb-7.8.50.20141228/gdb/jv-lang.h
+Index: gdb-7.8.90.20150125/gdb/jv-lang.h
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/jv-lang.h 2015-01-06 22:44:41.535318848 +0100
-+++ gdb-7.8.50.20141228/gdb/jv-lang.h 2015-01-06 22:44:43.182326840 +0100
+--- gdb-7.8.90.20150125.orig/gdb/jv-lang.h 2015-01-25 08:39:10.852466997 +0100
++++ gdb-7.8.90.20150125/gdb/jv-lang.h 2015-01-25 08:39:14.673483467 +0100
@@ -43,8 +43,8 @@ struct builtin_java_type
extern const struct builtin_java_type *builtin_java_type (struct gdbarch *);
@@ -2395,10 +2395,10 @@ Index: gdb-7.8.50.20141228/gdb/jv-lang.h
const struct value *,
const struct value_print_options *);
-Index: gdb-7.8.50.20141228/gdb/jv-valprint.c
+Index: gdb-7.8.90.20150125/gdb/jv-valprint.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/jv-valprint.c 2015-01-06 22:44:41.535318848 +0100
-+++ gdb-7.8.50.20141228/gdb/jv-valprint.c 2015-01-06 22:44:43.182326840 +0100
+--- gdb-7.8.90.20150125.orig/gdb/jv-valprint.c 2015-01-25 08:39:10.852466997 +0100
++++ gdb-7.8.90.20150125/gdb/jv-valprint.c 2015-01-25 08:39:14.674483471 +0100
@@ -265,7 +265,7 @@ java_value_print (struct value *val, str
static void
@@ -2417,10 +2417,10 @@ Index: gdb-7.8.50.20141228/gdb/jv-valprint.c
struct ui_file *stream, int recurse,
const struct value *val,
const struct value_print_options *options)
-Index: gdb-7.8.50.20141228/gdb/language.c
+Index: gdb-7.8.90.20150125/gdb/language.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/language.c 2015-01-06 22:44:41.536318853 +0100
-+++ gdb-7.8.50.20141228/gdb/language.c 2015-01-06 22:44:43.183326844 +0100
+--- gdb-7.8.90.20150125.orig/gdb/language.c 2015-01-25 08:39:10.853467002 +0100
++++ gdb-7.8.90.20150125/gdb/language.c 2015-01-25 08:39:14.674483471 +0100
@@ -720,7 +720,7 @@ unk_lang_printchar (int c, struct type *
static void
@@ -2439,10 +2439,10 @@ Index: gdb-7.8.50.20141228/gdb/language.c
struct ui_file *stream, int recurse,
const struct value *val,
const struct value_print_options *options)
-Index: gdb-7.8.50.20141228/gdb/language.h
+Index: gdb-7.8.90.20150125/gdb/language.h
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/language.h 2015-01-06 22:44:41.536318853 +0100
-+++ gdb-7.8.50.20141228/gdb/language.h 2015-01-06 22:44:43.183326844 +0100
+--- gdb-7.8.90.20150125.orig/gdb/language.h 2015-01-25 08:39:10.853467002 +0100
++++ gdb-7.8.90.20150125/gdb/language.h 2015-01-25 08:39:14.674483471 +0100
@@ -189,7 +189,7 @@ struct language_defn
struct ui_file * stream);
@@ -2461,10 +2461,10 @@ Index: gdb-7.8.50.20141228/gdb/language.h
struct ui_file *stream, int recurse,
const struct value *val,
const struct value_print_options *options);
-Index: gdb-7.8.50.20141228/gdb/m2-lang.c
+Index: gdb-7.8.90.20150125/gdb/m2-lang.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/m2-lang.c 2015-01-06 22:44:41.536318853 +0100
-+++ gdb-7.8.50.20141228/gdb/m2-lang.c 2015-01-06 22:44:43.183326844 +0100
+--- gdb-7.8.90.20150125.orig/gdb/m2-lang.c 2015-01-25 08:39:10.853467002 +0100
++++ gdb-7.8.90.20150125/gdb/m2-lang.c 2015-01-25 08:39:14.674483471 +0100
@@ -104,10 +104,10 @@ m2_printchar (int c, struct type *type,
static void
@@ -2499,10 +2499,10 @@ Index: gdb-7.8.50.20141228/gdb/m2-lang.c
i = rep1 - 1;
things_printed += options->repeat_count_threshold;
need_comma = 1;
-Index: gdb-7.8.50.20141228/gdb/m2-lang.h
+Index: gdb-7.8.90.20150125/gdb/m2-lang.h
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/m2-lang.h 2015-01-06 22:44:41.536318853 +0100
-+++ gdb-7.8.50.20141228/gdb/m2-lang.h 2015-01-06 22:44:43.183326844 +0100
+--- gdb-7.8.90.20150125.orig/gdb/m2-lang.h 2015-01-25 08:39:10.854467006 +0100
++++ gdb-7.8.90.20150125/gdb/m2-lang.h 2015-01-25 08:39:14.675483475 +0100
@@ -34,7 +34,7 @@ extern void m2_print_typedef (struct typ
extern int m2_is_long_set (struct type *type);
extern int m2_is_unbounded_array (struct type *type);
@@ -2512,10 +2512,10 @@ Index: gdb-7.8.50.20141228/gdb/m2-lang.h
struct ui_file *, int,
const struct value *,
const struct value_print_options *);
-Index: gdb-7.8.50.20141228/gdb/m2-typeprint.c
+Index: gdb-7.8.90.20150125/gdb/m2-typeprint.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/m2-typeprint.c 2015-01-06 22:44:41.537318858 +0100
-+++ gdb-7.8.50.20141228/gdb/m2-typeprint.c 2015-01-06 22:44:43.183326844 +0100
+--- gdb-7.8.90.20150125.orig/gdb/m2-typeprint.c 2015-01-25 08:39:10.854467006 +0100
++++ gdb-7.8.90.20150125/gdb/m2-typeprint.c 2015-01-25 08:39:14.675483475 +0100
@@ -230,9 +230,12 @@ static void m2_array (struct type *type,
m2_print_bounds (TYPE_INDEX_TYPE (type), stream, show, -1, 1);
}
@@ -2532,10 +2532,10 @@ Index: gdb-7.8.50.20141228/gdb/m2-typeprint.c
}
fprintf_filtered (stream, "] OF ");
m2_print_type (TYPE_TARGET_TYPE (type), "", stream, show, level, flags);
-Index: gdb-7.8.50.20141228/gdb/m2-valprint.c
+Index: gdb-7.8.90.20150125/gdb/m2-valprint.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/m2-valprint.c 2015-01-06 22:44:41.537318858 +0100
-+++ gdb-7.8.50.20141228/gdb/m2-valprint.c 2015-01-06 22:44:43.183326844 +0100
+--- gdb-7.8.90.20150125.orig/gdb/m2-valprint.c 2015-01-25 08:39:10.854467006 +0100
++++ gdb-7.8.90.20150125/gdb/m2-valprint.c 2015-01-25 08:39:14.675483475 +0100
@@ -35,7 +35,7 @@ static int print_unpacked_pointer (struc
struct ui_file *stream);
static void
@@ -2601,10 +2601,10 @@ Index: gdb-7.8.50.20141228/gdb/m2-valprint.c
/* Look for a NULL char. */
for (temp_len = 0;
-Index: gdb-7.8.50.20141228/gdb/memrange.c
+Index: gdb-7.8.90.20150125/gdb/memrange.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/memrange.c 2015-01-06 22:44:41.537318858 +0100
-+++ gdb-7.8.50.20141228/gdb/memrange.c 2015-01-06 22:44:43.184326849 +0100
+--- gdb-7.8.90.20150125.orig/gdb/memrange.c 2015-01-25 08:39:10.854467006 +0100
++++ gdb-7.8.90.20150125/gdb/memrange.c 2015-01-25 08:39:14.675483475 +0100
@@ -21,8 +21,8 @@
#include "memrange.h"
@@ -2616,10 +2616,10 @@ Index: gdb-7.8.50.20141228/gdb/memrange.c
{
ULONGEST h, l;
-Index: gdb-7.8.50.20141228/gdb/memrange.h
+Index: gdb-7.8.90.20150125/gdb/memrange.h
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/memrange.h 2015-01-06 22:44:41.537318858 +0100
-+++ gdb-7.8.50.20141228/gdb/memrange.h 2015-01-06 22:44:43.184326849 +0100
+--- gdb-7.8.90.20150125.orig/gdb/memrange.h 2015-01-25 08:39:10.855467010 +0100
++++ gdb-7.8.90.20150125/gdb/memrange.h 2015-01-25 08:39:14.675483475 +0100
@@ -30,7 +30,7 @@ struct mem_range
CORE_ADDR start;
@@ -2640,10 +2640,10 @@ Index: gdb-7.8.50.20141228/gdb/memrange.h
/* Returns true if ADDR is in RANGE. */
-Index: gdb-7.8.50.20141228/gdb/mips-linux-nat.c
+Index: gdb-7.8.90.20150125/gdb/mips-linux-nat.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/mips-linux-nat.c 2015-01-06 22:44:41.537318858 +0100
-+++ gdb-7.8.50.20141228/gdb/mips-linux-nat.c 2015-01-06 22:44:43.184326849 +0100
+--- gdb-7.8.90.20150125.orig/gdb/mips-linux-nat.c 2015-01-25 08:39:10.855467010 +0100
++++ gdb-7.8.90.20150125/gdb/mips-linux-nat.c 2015-01-25 08:39:14.676483480 +0100
@@ -586,7 +586,7 @@ mips_linux_stopped_data_address (struct
static int
@@ -2653,10 +2653,10 @@ Index: gdb-7.8.50.20141228/gdb/mips-linux-nat.c
{
struct pt_watch_regs dummy_regs;
int i;
-Index: gdb-7.8.50.20141228/gdb/opencl-lang.c
+Index: gdb-7.8.90.20150125/gdb/opencl-lang.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/opencl-lang.c 2015-01-06 22:44:41.538318863 +0100
-+++ gdb-7.8.50.20141228/gdb/opencl-lang.c 2015-01-06 22:44:43.184326849 +0100
+--- gdb-7.8.90.20150125.orig/gdb/opencl-lang.c 2015-01-25 08:39:10.856467015 +0100
++++ gdb-7.8.90.20150125/gdb/opencl-lang.c 2015-01-25 08:39:14.676483480 +0100
@@ -78,11 +78,11 @@ builtin_opencl_type (struct gdbarch *gdb
static struct type *
@@ -2733,10 +2733,10 @@ Index: gdb-7.8.50.20141228/gdb/opencl-lang.c
if (!value_bits_synthetic_pointer (c->val,
c->indices[i] * elsize + comp_offset,
-Index: gdb-7.8.50.20141228/gdb/p-lang.c
+Index: gdb-7.8.90.20150125/gdb/p-lang.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/p-lang.c 2015-01-06 22:44:41.538318863 +0100
-+++ gdb-7.8.50.20141228/gdb/p-lang.c 2015-01-06 22:44:43.184326849 +0100
+--- gdb-7.8.90.20150125.orig/gdb/p-lang.c 2015-01-25 08:39:10.856467015 +0100
++++ gdb-7.8.90.20150125/gdb/p-lang.c 2015-01-25 08:39:14.676483480 +0100
@@ -95,8 +95,8 @@ pascal_main_name (void)
are not multiple of TARGET_CHAR_BIT then the results are wrong
but this does not happen for Free Pascal nor for GPC. */
@@ -2784,10 +2784,10 @@ Index: gdb-7.8.50.20141228/gdb/p-lang.c
i = rep1 - 1;
things_printed += options->repeat_count_threshold;
need_comma = 1;
-Index: gdb-7.8.50.20141228/gdb/p-lang.h
+Index: gdb-7.8.90.20150125/gdb/p-lang.h
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/p-lang.h 2015-01-06 22:44:41.538318863 +0100
-+++ gdb-7.8.50.20141228/gdb/p-lang.h 2015-01-06 22:44:43.184326849 +0100
+--- gdb-7.8.90.20150125.orig/gdb/p-lang.h 2015-01-25 08:39:10.856467015 +0100
++++ gdb-7.8.90.20150125/gdb/p-lang.h 2015-01-25 08:39:14.676483480 +0100
@@ -36,7 +36,7 @@ extern void pascal_print_type (struct ty
extern void pascal_print_typedef (struct type *, struct symbol *,
struct ui_file *);
@@ -2822,10 +2822,10 @@ Index: gdb-7.8.50.20141228/gdb/p-lang.h
CORE_ADDR, struct ui_file *,
int,
const struct value *,
-Index: gdb-7.8.50.20141228/gdb/p-valprint.c
+Index: gdb-7.8.90.20150125/gdb/p-valprint.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/p-valprint.c 2015-01-06 22:44:41.539318868 +0100
-+++ gdb-7.8.50.20141228/gdb/p-valprint.c 2015-01-06 22:44:43.185326854 +0100
+--- gdb-7.8.90.20150125.orig/gdb/p-valprint.c 2015-01-25 08:39:10.857467019 +0100
++++ gdb-7.8.90.20150125/gdb/p-valprint.c 2015-01-25 08:39:14.677483484 +0100
@@ -57,7 +57,7 @@ static const struct generic_val_print_de
void
@@ -2887,10 +2887,10 @@ Index: gdb-7.8.50.20141228/gdb/p-valprint.c
volatile struct gdb_exception ex;
int skip = 0;
-Index: gdb-7.8.50.20141228/gdb/ppc-linux-nat.c
+Index: gdb-7.8.90.20150125/gdb/ppc-linux-nat.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/ppc-linux-nat.c 2015-01-06 22:44:41.539318868 +0100
-+++ gdb-7.8.50.20141228/gdb/ppc-linux-nat.c 2015-01-06 22:44:43.185326854 +0100
+--- gdb-7.8.90.20150125.orig/gdb/ppc-linux-nat.c 2015-01-25 08:39:10.858467023 +0100
++++ gdb-7.8.90.20150125/gdb/ppc-linux-nat.c 2015-01-25 08:39:14.677483484 +0100
@@ -1501,7 +1501,7 @@ ppc_linux_can_use_hw_breakpoint (struct
static int
@@ -2900,10 +2900,10 @@ Index: gdb-7.8.50.20141228/gdb/ppc-linux-nat.c
{
/* Handle sub-8-byte quantities. */
if (len <= 0)
-Index: gdb-7.8.50.20141228/gdb/printcmd.c
+Index: gdb-7.8.90.20150125/gdb/printcmd.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/printcmd.c 2015-01-06 22:44:41.540318872 +0100
-+++ gdb-7.8.50.20141228/gdb/printcmd.c 2015-01-06 22:44:43.185326854 +0100
+--- gdb-7.8.90.20150125.orig/gdb/printcmd.c 2015-01-25 08:39:10.858467023 +0100
++++ gdb-7.8.90.20150125/gdb/printcmd.c 2015-01-25 08:39:14.678483488 +0100
@@ -285,7 +285,7 @@ print_formatted (struct value *val, int
struct ui_file *stream)
{
@@ -2922,10 +2922,10 @@ Index: gdb-7.8.50.20141228/gdb/printcmd.c
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
/* String printing should go through val_print_scalar_formatted. */
-Index: gdb-7.8.50.20141228/gdb/procfs.c
+Index: gdb-7.8.90.20150125/gdb/procfs.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/procfs.c 2015-01-06 22:44:41.541318877 +0100
-+++ gdb-7.8.50.20141228/gdb/procfs.c 2015-01-06 22:44:43.186326859 +0100
+--- gdb-7.8.90.20150125.orig/gdb/procfs.c 2015-01-25 08:39:10.860467032 +0100
++++ gdb-7.8.90.20150125/gdb/procfs.c 2015-01-25 08:39:14.679483493 +0100
@@ -4859,7 +4859,7 @@ procfs_remove_watchpoint (struct target_
static int
@@ -2935,10 +2935,10 @@ Index: gdb-7.8.50.20141228/gdb/procfs.c
{
/* The man page for proc(4) on Solaris 2.6 and up says that the
system can support "thousands" of hardware watchpoints, but gives
-Index: gdb-7.8.50.20141228/gdb/python/py-prettyprint.c
+Index: gdb-7.8.90.20150125/gdb/python/py-prettyprint.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/python/py-prettyprint.c 2015-01-06 22:44:41.541318877 +0100
-+++ gdb-7.8.50.20141228/gdb/python/py-prettyprint.c 2015-01-06 22:44:43.186326859 +0100
+--- gdb-7.8.90.20150125.orig/gdb/python/py-prettyprint.c 2015-01-25 08:39:10.860467032 +0100
++++ gdb-7.8.90.20150125/gdb/python/py-prettyprint.c 2015-01-25 08:39:14.679483493 +0100
@@ -686,7 +686,7 @@ print_children (PyObject *printer, const
enum ext_lang_rc
gdbpy_apply_val_pretty_printer (const struct extension_language_defn *extlang,
@@ -2948,10 +2948,10 @@ Index: gdb-7.8.50.20141228/gdb/python/py-prettyprint.c
struct ui_file *stream, int recurse,
const struct value *val,
const struct value_print_options *options,
-Index: gdb-7.8.50.20141228/gdb/regcache.c
+Index: gdb-7.8.90.20150125/gdb/regcache.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/regcache.c 2015-01-06 22:44:41.542318882 +0100
-+++ gdb-7.8.50.20141228/gdb/regcache.c 2015-01-06 22:44:43.187326864 +0100
+--- gdb-7.8.90.20150125.orig/gdb/regcache.c 2015-01-25 08:39:10.861467036 +0100
++++ gdb-7.8.90.20150125/gdb/regcache.c 2015-01-25 08:39:14.680483497 +0100
@@ -941,7 +941,7 @@ typedef void (regcache_write_ftype) (str
static enum register_status
@@ -2997,10 +2997,10 @@ Index: gdb-7.8.50.20141228/gdb/regcache.c
{
struct regcache_descr *descr = regcache->descr;
-Index: gdb-7.8.50.20141228/gdb/regcache.h
+Index: gdb-7.8.90.20150125/gdb/regcache.h
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/regcache.h 2015-01-06 22:44:41.542318882 +0100
-+++ gdb-7.8.50.20141228/gdb/regcache.h 2015-01-06 22:44:43.187326864 +0100
+--- gdb-7.8.90.20150125.orig/gdb/regcache.h 2015-01-25 08:39:10.861467036 +0100
++++ gdb-7.8.90.20150125/gdb/regcache.h 2015-01-25 08:39:14.680483497 +0100
@@ -92,9 +92,9 @@ extern void regcache_raw_write_unsigned
extern enum register_status
@@ -3028,10 +3028,10 @@ Index: gdb-7.8.50.20141228/gdb/regcache.h
/* Special routines to read/write the PC. */
-Index: gdb-7.8.50.20141228/gdb/remote.c
+Index: gdb-7.8.90.20150125/gdb/remote.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/remote.c 2015-01-06 22:44:41.544318892 +0100
-+++ gdb-7.8.50.20141228/gdb/remote.c 2015-01-06 22:44:43.188326869 +0100
+--- gdb-7.8.90.20150125.orig/gdb/remote.c 2015-01-25 08:39:10.864467049 +0100
++++ gdb-7.8.90.20150125/gdb/remote.c 2015-01-25 08:39:14.682483505 +0100
@@ -8371,7 +8371,7 @@ int remote_hw_breakpoint_limit = -1;
static int
@@ -3041,10 +3041,10 @@ Index: gdb-7.8.50.20141228/gdb/remote.c
{
if (remote_hw_watchpoint_length_limit == 0)
return 0;
-Index: gdb-7.8.50.20141228/gdb/spu-multiarch.c
+Index: gdb-7.8.90.20150125/gdb/spu-multiarch.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/spu-multiarch.c 2015-01-06 22:44:41.545318897 +0100
-+++ gdb-7.8.50.20141228/gdb/spu-multiarch.c 2015-01-06 22:44:43.188326869 +0100
+--- gdb-7.8.90.20150125.orig/gdb/spu-multiarch.c 2015-01-25 08:39:10.865467053 +0100
++++ gdb-7.8.90.20150125/gdb/spu-multiarch.c 2015-01-25 08:39:14.683483510 +0100
@@ -117,7 +117,7 @@ spu_thread_architecture (struct target_o
/* Override the to_region_ok_for_hw_watchpoint routine. */
static int
@@ -3054,10 +3054,10 @@ Index: gdb-7.8.50.20141228/gdb/spu-multiarch.c
{
struct target_ops *ops_beneath = find_target_beneath (self);
-Index: gdb-7.8.50.20141228/gdb/stack.c
+Index: gdb-7.8.90.20150125/gdb/stack.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/stack.c 2015-01-06 22:44:41.546318902 +0100
-+++ gdb-7.8.50.20141228/gdb/stack.c 2015-01-06 22:44:43.189326874 +0100
+--- gdb-7.8.90.20150125.orig/gdb/stack.c 2015-01-25 08:39:10.866467058 +0100
++++ gdb-7.8.90.20150125/gdb/stack.c 2015-01-25 08:39:14.683483510 +0100
@@ -175,7 +175,7 @@ print_stack_frame (struct frame_info *fr
argument (not just the first nameless argument). */
@@ -3096,10 +3096,10 @@ Index: gdb-7.8.50.20141228/gdb/stack.c
if (highest_offset == -1)
start = gdbarch_frame_args_skip (get_frame_arch (frame));
-Index: gdb-7.8.50.20141228/gdb/symmisc.c
+Index: gdb-7.8.90.20150125/gdb/symmisc.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/symmisc.c 2015-01-06 22:44:41.546318902 +0100
-+++ gdb-7.8.50.20141228/gdb/symmisc.c 2015-01-06 22:44:43.189326874 +0100
+--- gdb-7.8.90.20150125.orig/gdb/symmisc.c 2015-01-25 08:39:10.866467058 +0100
++++ gdb-7.8.90.20150125/gdb/symmisc.c 2015-01-25 08:39:14.684483514 +0100
@@ -534,11 +534,11 @@ print_symbol (void *args)
case LOC_CONST_BYTES:
@@ -3115,10 +3115,10 @@ Index: gdb-7.8.50.20141228/gdb/symmisc.c
for (i = 0; i < TYPE_LENGTH (type); i++)
fprintf_filtered (outfile, " %02x",
(unsigned) SYMBOL_VALUE_BYTES (symbol)[i]);
-Index: gdb-7.8.50.20141228/gdb/target.c
+Index: gdb-7.8.90.20150125/gdb/target.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/target.c 2015-01-06 22:44:41.547318906 +0100
-+++ gdb-7.8.50.20141228/gdb/target.c 2015-01-06 22:44:43.190326878 +0100
+--- gdb-7.8.90.20150125.orig/gdb/target.c 2015-01-25 08:39:10.867467062 +0100
++++ gdb-7.8.90.20150125/gdb/target.c 2015-01-25 08:39:14.684483514 +0100
@@ -54,7 +54,7 @@ static int default_watchpoint_addr_withi
CORE_ADDR, CORE_ADDR, int);
@@ -3137,10 +3137,10 @@ Index: gdb-7.8.50.20141228/gdb/target.c
{
return (len <= gdbarch_ptr_bit (target_gdbarch ()) / TARGET_CHAR_BIT);
}
-Index: gdb-7.8.50.20141228/gdb/target.h
+Index: gdb-7.8.90.20150125/gdb/target.h
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/target.h 2015-01-06 22:44:41.547318906 +0100
-+++ gdb-7.8.50.20141228/gdb/target.h 2015-01-06 22:44:43.190326878 +0100
+--- gdb-7.8.90.20150125.orig/gdb/target.h 2015-01-25 08:39:10.868467066 +0100
++++ gdb-7.8.90.20150125/gdb/target.h 2015-01-25 08:39:14.685483518 +0100
@@ -489,7 +489,7 @@ struct target_ops
/* Documentation of this routine is provided with the corresponding
target_* macro. */
@@ -3150,10 +3150,10 @@ Index: gdb-7.8.50.20141228/gdb/target.h
TARGET_DEFAULT_FUNC (default_region_ok_for_hw_watchpoint);
int (*to_can_accel_watchpoint_condition) (struct target_ops *,
-Index: gdb-7.8.50.20141228/gdb/tracepoint.c
+Index: gdb-7.8.90.20150125/gdb/tracepoint.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/tracepoint.c 2015-01-06 22:44:41.549318916 +0100
-+++ gdb-7.8.50.20141228/gdb/tracepoint.c 2015-01-06 22:44:43.191326883 +0100
+--- gdb-7.8.90.20150125.orig/gdb/tracepoint.c 2015-01-25 08:39:10.870467075 +0100
++++ gdb-7.8.90.20150125/gdb/tracepoint.c 2015-01-25 08:39:14.686483523 +0100
@@ -928,13 +928,13 @@ add_register (struct collection_list *co
static void
add_memrange (struct collection_list *memranges,
@@ -3247,10 +3247,10 @@ Index: gdb-7.8.50.20141228/gdb/tracepoint.c
}
if (BLOCK_FUNCTION (block))
break;
-Index: gdb-7.8.50.20141228/gdb/typeprint.c
+Index: gdb-7.8.90.20150125/gdb/typeprint.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/typeprint.c 2015-01-06 22:44:41.550318921 +0100
-+++ gdb-7.8.50.20141228/gdb/typeprint.c 2015-01-06 22:44:43.191326883 +0100
+--- gdb-7.8.90.20150125.orig/gdb/typeprint.c 2015-01-25 08:39:10.871467079 +0100
++++ gdb-7.8.90.20150125/gdb/typeprint.c 2015-01-25 08:39:14.686483523 +0100
@@ -402,7 +402,7 @@ whatis_exp (char *exp, int show)
struct type *real_type = NULL;
struct type *type;
@@ -3260,10 +3260,10 @@ Index: gdb-7.8.50.20141228/gdb/typeprint.c
int using_enc = 0;
struct value_print_options opts;
struct type_print_options flags = default_ptype_flags;
-Index: gdb-7.8.50.20141228/gdb/valarith.c
+Index: gdb-7.8.90.20150125/gdb/valarith.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/valarith.c 2015-01-06 22:44:41.550318921 +0100
-+++ gdb-7.8.50.20141228/gdb/valarith.c 2015-01-06 22:45:54.011670512 +0100
+--- gdb-7.8.90.20150125.orig/gdb/valarith.c 2015-01-25 08:39:10.872467084 +0100
++++ gdb-7.8.90.20150125/gdb/valarith.c 2015-01-25 08:39:14.686483523 +0100
@@ -188,12 +188,13 @@ value_subscript (struct value *array, LO
to doubles, but no longer does. */
@@ -3323,10 +3323,10 @@ Index: gdb-7.8.50.20141228/gdb/valarith.c
for (i = 0; i < len; i++)
{
-Index: gdb-7.8.50.20141228/gdb/valops.c
+Index: gdb-7.8.90.20150125/gdb/valops.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/valops.c 2015-01-06 22:44:41.555318945 +0100
-+++ gdb-7.8.50.20141228/gdb/valops.c 2015-01-06 22:44:43.192326888 +0100
+--- gdb-7.8.90.20150125.orig/gdb/valops.c 2015-01-25 08:39:10.877467105 +0100
++++ gdb-7.8.90.20150125/gdb/valops.c 2015-01-25 08:39:14.687483527 +0100
@@ -47,11 +47,11 @@ static int typecmp (int staticp, int var
struct field t1[], struct value *t2[]);
@@ -3645,10 +3645,10 @@ Index: gdb-7.8.50.20141228/gdb/valops.c
int using_enc = 0;
struct value *new_val;
-Index: gdb-7.8.50.20141228/gdb/valprint.c
+Index: gdb-7.8.90.20150125/gdb/valprint.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/valprint.c 2015-01-06 22:44:41.557318955 +0100
-+++ gdb-7.8.50.20141228/gdb/valprint.c 2015-01-06 22:44:43.193326893 +0100
+--- gdb-7.8.90.20150125.orig/gdb/valprint.c 2015-01-25 08:39:10.879467114 +0100
++++ gdb-7.8.90.20150125/gdb/valprint.c 2015-01-25 08:39:14.688483531 +0100
@@ -298,7 +298,7 @@ val_print_scalar_type_p (struct type *ty
int
valprint_check_validity (struct ui_file *stream,
@@ -3741,10 +3741,10 @@ Index: gdb-7.8.50.20141228/gdb/valprint.c
const char *encoding, int force_ellipses,
int quote_char, int c_style_terminator,
const struct value_print_options *options)
-Index: gdb-7.8.50.20141228/gdb/valprint.h
+Index: gdb-7.8.90.20150125/gdb/valprint.h
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/valprint.h 2015-01-06 22:44:41.557318955 +0100
-+++ gdb-7.8.50.20141228/gdb/valprint.h 2015-01-06 22:44:43.193326893 +0100
+--- gdb-7.8.90.20150125.orig/gdb/valprint.h 2015-01-25 08:39:10.880467118 +0100
++++ gdb-7.8.90.20150125/gdb/valprint.h 2015-01-25 08:39:14.688483531 +0100
@@ -115,11 +115,11 @@ extern void maybe_print_array_index (str
struct ui_file *stream,
const struct value_print_options *);
@@ -3795,10 +3795,10 @@ Index: gdb-7.8.50.20141228/gdb/valprint.h
const char *encoding, int force_ellipses,
int quote_char, int c_style_terminator,
const struct value_print_options *options);
-Index: gdb-7.8.50.20141228/gdb/value.c
+Index: gdb-7.8.90.20150125/gdb/value.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/value.c 2015-01-06 22:44:41.562318979 +0100
-+++ gdb-7.8.50.20141228/gdb/value.c 2015-01-06 22:44:43.194326898 +0100
+--- gdb-7.8.90.20150125.orig/gdb/value.c 2015-01-25 08:39:10.885467140 +0100
++++ gdb-7.8.90.20150125/gdb/value.c 2015-01-25 08:39:14.689483536 +0100
@@ -66,10 +66,10 @@ struct internal_function
struct range
{
@@ -4129,10 +4129,10 @@ Index: gdb-7.8.50.20141228/gdb/value.c
/* Normalize BITPOS. */
addr += bitpos / 8;
-Index: gdb-7.8.50.20141228/gdb/value.h
+Index: gdb-7.8.90.20150125/gdb/value.h
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/value.h 2015-01-06 22:44:41.563318984 +0100
-+++ gdb-7.8.50.20141228/gdb/value.h 2015-01-06 22:44:43.195326903 +0100
+--- gdb-7.8.90.20150125.orig/gdb/value.h 2015-01-25 08:39:10.887467148 +0100
++++ gdb-7.8.90.20150125/gdb/value.h 2015-01-25 08:39:14.690483540 +0100
@@ -131,8 +131,8 @@ extern void set_value_parent (struct val
within the registers structure. Note also the member
embedded_offset below. */
@@ -4373,10 +4373,10 @@ Index: gdb-7.8.50.20141228/gdb/value.h
/* User function handler. */
-Index: gdb-7.8.50.20141228/gdb/s390-linux-nat.c
+Index: gdb-7.8.90.20150125/gdb/s390-linux-nat.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/s390-linux-nat.c 2015-01-06 22:44:41.564318989 +0100
-+++ gdb-7.8.50.20141228/gdb/s390-linux-nat.c 2015-01-06 22:44:43.195326903 +0100
+--- gdb-7.8.90.20150125.orig/gdb/s390-linux-nat.c 2015-01-25 08:39:10.887467148 +0100
++++ gdb-7.8.90.20150125/gdb/s390-linux-nat.c 2015-01-25 08:39:14.690483540 +0100
@@ -544,7 +544,7 @@ s390_can_use_hw_breakpoint (struct targe
static int
@@ -4386,10 +4386,10 @@ Index: gdb-7.8.50.20141228/gdb/s390-linux-nat.c
{
return 1;
}
-Index: gdb-7.8.50.20141228/gdb/extension-priv.h
+Index: gdb-7.8.90.20150125/gdb/extension-priv.h
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/extension-priv.h 2015-01-06 22:44:41.564318989 +0100
-+++ gdb-7.8.50.20141228/gdb/extension-priv.h 2015-01-06 22:44:43.195326903 +0100
+--- gdb-7.8.90.20150125.orig/gdb/extension-priv.h 2015-01-25 08:39:10.887467148 +0100
++++ gdb-7.8.90.20150125/gdb/extension-priv.h 2015-01-25 08:39:14.690483540 +0100
@@ -175,7 +175,7 @@ struct extension_language_ops
enum ext_lang_rc (*apply_val_pretty_printer)
(const struct extension_language_defn *,
@@ -4399,10 +4399,10 @@ Index: gdb-7.8.50.20141228/gdb/extension-priv.h
struct ui_file *stream, int recurse,
const struct value *val, const struct value_print_options *options,
const struct language_defn *language);
-Index: gdb-7.8.50.20141228/gdb/python/python-internal.h
+Index: gdb-7.8.90.20150125/gdb/python/python-internal.h
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/python/python-internal.h 2015-01-06 22:44:41.564318989 +0100
-+++ gdb-7.8.50.20141228/gdb/python/python-internal.h 2015-01-06 22:44:43.195326903 +0100
+--- gdb-7.8.90.20150125.orig/gdb/python/python-internal.h 2015-01-25 08:39:10.888467153 +0100
++++ gdb-7.8.90.20150125/gdb/python/python-internal.h 2015-01-25 08:39:14.691483544 +0100
@@ -313,7 +313,7 @@ extern int gdbpy_auto_load_enabled (cons
extern enum ext_lang_rc gdbpy_apply_val_pretty_printer
(const struct extension_language_defn *,
@@ -4412,10 +4412,10 @@ Index: gdb-7.8.50.20141228/gdb/python/python-internal.h
struct ui_file *stream, int recurse,
const struct value *val,
const struct value_print_options *options,
-Index: gdb-7.8.50.20141228/gdb/target-delegates.c
+Index: gdb-7.8.90.20150125/gdb/target-delegates.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/target-delegates.c 2015-01-06 22:44:41.565318994 +0100
-+++ gdb-7.8.50.20141228/gdb/target-delegates.c 2015-01-06 22:44:43.196326907 +0100
+--- gdb-7.8.90.20150125.orig/gdb/target-delegates.c 2015-01-25 08:39:10.889467157 +0100
++++ gdb-7.8.90.20150125/gdb/target-delegates.c 2015-01-25 08:39:14.691483544 +0100
@@ -634,14 +634,14 @@ debug_watchpoint_addr_within_range (stru
}
@@ -4442,10 +4442,10 @@ Index: gdb-7.8.50.20141228/gdb/target-delegates.c
fputs_unfiltered (") = ", gdb_stdlog);
target_debug_print_int (result);
fputs_unfiltered ("\n", gdb_stdlog);
-Index: gdb-7.8.50.20141228/gdb/aarch64-linux-nat.c
+Index: gdb-7.8.90.20150125/gdb/aarch64-linux-nat.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/aarch64-linux-nat.c 2015-01-06 22:44:41.565318994 +0100
-+++ gdb-7.8.50.20141228/gdb/aarch64-linux-nat.c 2015-01-06 22:44:43.196326907 +0100
+--- gdb-7.8.90.20150125.orig/gdb/aarch64-linux-nat.c 2015-01-25 08:39:10.889467157 +0100
++++ gdb-7.8.90.20150125/gdb/aarch64-linux-nat.c 2015-01-25 08:39:14.692483549 +0100
@@ -1389,7 +1389,7 @@ aarch64_linux_remove_watchpoint (struct
static int
@@ -4455,10 +4455,10 @@ Index: gdb-7.8.50.20141228/gdb/aarch64-linux-nat.c
{
CORE_ADDR aligned_addr;
-Index: gdb-7.8.50.20141228/gdb/nat/x86-dregs.c
+Index: gdb-7.8.90.20150125/gdb/nat/x86-dregs.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/nat/x86-dregs.c 2015-01-06 22:44:41.566318999 +0100
-+++ gdb-7.8.50.20141228/gdb/nat/x86-dregs.c 2015-01-06 22:44:43.197326912 +0100
+--- gdb-7.8.90.20150125.orig/gdb/nat/x86-dregs.c 2015-01-25 08:39:10.890467161 +0100
++++ gdb-7.8.90.20150125/gdb/nat/x86-dregs.c 2015-01-25 08:39:14.692483549 +0100
@@ -384,7 +384,7 @@ x86_remove_aligned_watchpoint (struct x8
static int
@@ -4477,10 +4477,10 @@ Index: gdb-7.8.50.20141228/gdb/nat/x86-dregs.c
{
int nregs;
-Index: gdb-7.8.50.20141228/gdb/compile/compile-c-support.c
+Index: gdb-7.8.90.20150125/gdb/compile/compile-c-support.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/compile/compile-c-support.c 2015-01-06 22:44:41.566318999 +0100
-+++ gdb-7.8.50.20141228/gdb/compile/compile-c-support.c 2015-01-06 22:44:43.197326912 +0100
+--- gdb-7.8.90.20150125.orig/gdb/compile/compile-c-support.c 2015-01-25 08:39:10.890467161 +0100
++++ gdb-7.8.90.20150125/gdb/compile/compile-c-support.c 2015-01-25 08:39:14.692483549 +0100
@@ -277,11 +277,11 @@ generate_register_struct (struct ui_file
default:
@@ -4495,10 +4495,10 @@ Index: gdb-7.8.50.20141228/gdb/compile/compile-c-support.c
}
fputs_unfiltered (";\n", stream);
-Index: gdb-7.8.50.20141228/gdb/nat/x86-dregs.h
+Index: gdb-7.8.90.20150125/gdb/nat/x86-dregs.h
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/nat/x86-dregs.h 2015-01-06 22:44:41.566318999 +0100
-+++ gdb-7.8.50.20141228/gdb/nat/x86-dregs.h 2015-01-06 22:44:43.197326912 +0100
+--- gdb-7.8.90.20150125.orig/gdb/nat/x86-dregs.h 2015-01-25 08:39:10.890467161 +0100
++++ gdb-7.8.90.20150125/gdb/nat/x86-dregs.h 2015-01-25 08:39:14.692483549 +0100
@@ -112,7 +112,7 @@ extern int x86_dr_remove_watchpoint (str
/* Return non-zero if we can watch a memory region that starts at
address ADDR and whose length is LEN bytes. */
@@ -4508,10 +4508,10 @@ Index: gdb-7.8.50.20141228/gdb/nat/x86-dregs.h
/* If the inferior has some break/watchpoint that triggered, set the
address associated with that break/watchpoint and return true.
-Index: gdb-7.8.50.20141228/gdb/x86-nat.c
+Index: gdb-7.8.90.20150125/gdb/x86-nat.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/x86-nat.c 2015-01-06 22:44:41.566318999 +0100
-+++ gdb-7.8.50.20141228/gdb/x86-nat.c 2015-01-06 22:44:43.197326912 +0100
+--- gdb-7.8.90.20150125.orig/gdb/x86-nat.c 2015-01-25 08:39:10.890467161 +0100
++++ gdb-7.8.90.20150125/gdb/x86-nat.c 2015-01-25 08:39:14.693483553 +0100
@@ -178,7 +178,7 @@ x86_remove_watchpoint (struct target_ops
static int
diff --git a/gdb-slow-gstack-performance.patch b/gdb-slow-gstack-performance.patch
deleted file mode 100644
index c895e7f..0000000
--- a/gdb-slow-gstack-performance.patch
+++ /dev/null
@@ -1,349 +0,0 @@
-Date: Thu, 2 Oct 2014 17:56:53 +0200
-From: Jan Kratochvil
-To: Doug Evans
-Cc: gdb-patches at sourceware dot org
-Subject: [patchv2] Fix 100x slowdown regression on DWZ files
-Message-ID: <20141002155653.GA9001@host2.jankratochvil.net>
-
---cNdxnHkX5QqsyA0e
-Content-Type: text/plain; charset=us-ascii
-Content-Disposition: inline
-
-On Thu, 02 Oct 2014 01:51:38 +0200, Doug Evans wrote:
-> I tested this patch with --target_board=dwarf4-gdb-index
-> and got a failure in m-static.exp:
-
-That is particularly with -fdebug-types-section.
-
-
-> Type units read the line table in a separate path,
-
-OK, therefore I dropped that separate struct dwarf2_lineinfo
-and reused struct line_header instead.
-
-
-> OTOH, I do want to avoid any confusion that this patch may inadvertently
-> introduce. For example, IIUC with your patch as is,
-> if we read a partial_unit first, before a compile_unit
-> that has the same stmt_list value, we'll do more processing in
-> dwarf_decode_lines than we really need to since we only need a file
-> number to symtab mapping. And if we later read in a compile_unit
-> with the same stmt_value we'll call dwarf_decode_lines again,
-> and this time we need the pc/line mapping it computes.
-> Whereas if we process these in the opposite order we'll only call
-> dwarf_decode_lines once. I'm sure this will be confusing at first
-> to some later developer going through this code.
-> [I could be missing something of course, and I'm happy for any corrections.]
-
-Implemented (omitting some story why I did not include it before).
-
-
-> The code that processes stmt_list for type_units is in setup_type_unit_groups.
-> Note that this code goes to the trouble of re-initializing the buildsym
-> machinery (see the calls to restart_symtab in dwarf2read.c) when we process
-> the second and subsequent type units that share a stmt_list value.
-> This is something that used to be done before your patch and will no
-> longer be done with your patch (since if we get a cache hit we exit).
-> It may be that the type_unit support is doing this unnecessarily,
-> which would be great because we can then simplify it.
-
-I hope this patch should no longer break -fdebug-types-section.
-If it additionally enables some future optimization for -fdebug-types-section
-the better.
-
-
-> > + /* Offset of line number information in .debug_line section. */
-> > + sect_offset offset;
-> > + unsigned offset_in_dwz : 1;
->
-> IWBN to document why offset_in_dwz is here.
-> It's not obvious why it's needed.
-+
-On Thu, 02 Oct 2014 01:57:03 +0200, Doug Evans wrote:
-> Ah, I guess the offset_in_dwz flag will ensure dwarf_decode_lines gets called
-> twice regardless of order. But is that the only reason for the flag?
-
-I have added there now:
-+ /* OFFSET is for struct dwz_file associated with dwarf2_per_objfile. */
-
-If one removes it regressions really happen. What happens is that this
-line_header_hash (former lineinfo_hash) is in struct dwarf2_per_objfile which
-is common for both objfile and its objfile.dwz (that one is normally in
-/usr/lib/debug/.dwz/ - common for multiple objfiles). And there are two
-different DIEs at offset 0xb - one in objfile and one in objfile.dwz - which
-would match single line_header if offset_in_dwz was not there.
-
-Also existing dwarf2read.c code usually transfers "dwz flag" together with DIE
-offset, such as:
- dwarf2_find_containing_comp_unit (sect_offset offset,
- unsigned int offset_in_dwz,
- struct objfile *objfile)
-This reminds me - why doesn't similar ambiguity happen also for dwp_file?
-I am unfortunately not much aware of the dwp implementation details.
-
-
-> > - struct line_header *line_header
-> > - = dwarf_decode_line_header (line_offset, cu);
-> > + dwarf2_per_objfile->lineinfo_hash =
->
-> As much as I prefer "=" going here, convention says to put it on the
-> next line.
-
-I have changed it but this was just blind copy from existing line 21818.
-
-
-> > + htab_create_alloc_ex (127, dwarf2_lineinfo_hash, dwarf2_lineinfo_eq,
->
-> I don't have any data, but 127 seems high.
-
-I have not changed it but this was just blind copy from existing line 21818.
-
-
-> I wouldn't change it, I just wanted to ask if you have any data
-> guiding this choice.
-
-Tuning some constants really makes no sense when GDB has missing + insanely
-complicated data structures and in consequence GDB is using inappropriate data
-structures with bad algorithmic complexity. One needs to switch GDB to C++
-and its STL before one can start talking about data structures performance.
-
-
-No regressions on {x86_64,x86_64-m32,i686}-fedora20-linux-gnu in DWZ mode and
-in -fdebug-types-section mode.
-
-
-Thanks,
-Jan
-
---cNdxnHkX5QqsyA0e
-Content-Type: text/plain; charset=us-ascii
-Content-Disposition: inline; filename="partialunit5.patch"
-
-gdb/
-2014-10-02 Jan Kratochvil
-
- Fix 100x slowdown regression on DWZ files.
- * dwarf2read.c (struct dwarf2_per_objfile): Add line_header_hash.
- (struct line_header): Add offset and offset_in_dwz.
- (dwarf_decode_lines): Add parameter decode_mapping to the declaration.
- (free_line_header_voidp): New declaration.
- (line_header_hash, line_header_eq): New functions.
- (dwarf2_build_include_psymtabs): Update dwarf_decode_lines caller.
- (handle_DW_AT_stmt_list): Use dwarf2_per_objfile->line_header_hash.
- (free_line_header_voidp): New function.
- (dwarf_decode_line_header): Initialize offset and offset_in_dwz.
- (dwarf_decode_lines): New parameter decode_mapping, use it.
-
-Index: gdb-7.8.50.20141228/gdb/dwarf2read.c
-===================================================================
---- gdb-7.8.50.20141228.orig/gdb/dwarf2read.c 2015-01-05 22:45:32.823240453 +0100
-+++ gdb-7.8.50.20141228/gdb/dwarf2read.c 2015-01-05 22:49:35.270332647 +0100
-@@ -309,6 +309,9 @@ struct dwarf2_per_objfile
-
- /* The CUs we recently read. */
- VEC (dwarf2_per_cu_ptr) *just_read_cus;
-+
-+ /* Table containing line_header indexed by offset and offset_in_dwz. */
-+ htab_t line_header_hash;
- };
-
- static struct dwarf2_per_objfile *dwarf2_per_objfile;
-@@ -1025,6 +1028,12 @@ typedef void (die_reader_func_ftype) (co
- which contains the following information. */
- struct line_header
- {
-+ /* Offset of line number information in .debug_line section. */
-+ sect_offset offset;
-+
-+ /* OFFSET is for struct dwz_file associated with dwarf2_per_objfile. */
-+ unsigned offset_in_dwz : 1;
-+
- unsigned int total_length;
- unsigned short version;
- unsigned int header_length;
-@@ -1513,7 +1522,7 @@ static struct line_header *dwarf_decode_
-
- static void dwarf_decode_lines (struct line_header *, const char *,
- struct dwarf2_cu *, struct partial_symtab *,
-- CORE_ADDR);
-+ CORE_ADDR, int decode_mapping);
-
- static void dwarf2_start_subfile (const char *, const char *);
-
-@@ -2057,6 +2066,8 @@ get_section_file_name (const struct dwar
- /* Return the id of SECTION.
- Returns 0 if SECTION doesn't exist. */
-
-+static void free_line_header_voidp (void *arg);
-+
- static int
- get_section_id (const struct dwarf2_section_info *section)
- {
-@@ -2461,6 +2472,29 @@ dwarf2_get_dwz_file (void)
- dwarf2_per_objfile->dwz_file = result;
- return result;
- }
-+
-+/* Hash function for line_header_hash. */
-+
-+static hashval_t
-+line_header_hash (const void *item)
-+{
-+ const struct line_header *ofs = item;
-+
-+ return ofs->offset.sect_off ^ ofs->offset_in_dwz;
-+}
-+
-+/* Equality function for line_header_hash. */
-+
-+static int
-+line_header_eq (const void *item_lhs, const void *item_rhs)
-+{
-+ const struct line_header *ofs_lhs = item_lhs;
-+ const struct line_header *ofs_rhs = item_rhs;
-+
-+ return (ofs_lhs->offset.sect_off == ofs_rhs->offset.sect_off
-+ && ofs_lhs->offset_in_dwz == ofs_rhs->offset_in_dwz);
-+}
-+
-
- /* DWARF quick_symbols_functions support. */
-
-@@ -4454,7 +4488,7 @@ dwarf2_build_include_psymtabs (struct dw
- return; /* No linetable, so no includes. */
-
- /* NOTE: pst->dirname is DW_AT_comp_dir (if present). */
-- dwarf_decode_lines (lh, pst->dirname, cu, pst, pst->textlow);
-+ dwarf_decode_lines (lh, pst->dirname, cu, pst, pst->textlow, 1);
-
- free_line_header (lh);
- }
-@@ -9002,24 +9036,64 @@ static void
- handle_DW_AT_stmt_list (struct die_info *die, struct dwarf2_cu *cu,
- const char *comp_dir, CORE_ADDR lowpc) /* ARI: editCase function */
- {
-+ struct objfile *objfile = dwarf2_per_objfile->objfile;
- struct attribute *attr;
-+ unsigned int line_offset;
-+ struct line_header *line_header, line_header_local;
-+ unsigned u;
-+ void **slot;
-+ int decode_mapping;
-
- gdb_assert (! cu->per_cu->is_debug_types);
-
- attr = dwarf2_attr (die, DW_AT_stmt_list, cu);
-- if (attr)
-+ if (attr == NULL)
-+ return;
-+
-+ line_offset = DW_UNSND (attr);
-+
-+ if (dwarf2_per_objfile->line_header_hash == NULL)
- {
-- unsigned int line_offset = DW_UNSND (attr);
-- struct line_header *line_header
-- = dwarf_decode_line_header (line_offset, cu);
--
-- if (line_header)
-- {
-- cu->line_header = line_header;
-- make_cleanup (free_cu_line_header, cu);
-- dwarf_decode_lines (line_header, comp_dir, cu, NULL, lowpc);
-- }
-+ dwarf2_per_objfile->line_header_hash
-+ = htab_create_alloc_ex (127, line_header_hash, line_header_eq,
-+ free_line_header_voidp,
-+ &objfile->objfile_obstack,
-+ hashtab_obstack_allocate,
-+ dummy_obstack_deallocate);
-+ }
-+
-+ line_header_local.offset.sect_off = line_offset;
-+ line_header_local.offset_in_dwz = cu->per_cu->is_dwz;
-+ slot = htab_find_slot (dwarf2_per_objfile->line_header_hash,
-+ &line_header_local, NO_INSERT);
-+
-+ /* For DW_TAG_compile_unit we need info like symtab::linetable which
-+ is not present in *SLOT. */
-+ if (die->tag == DW_TAG_partial_unit && slot != NULL)
-+ {
-+ gdb_assert (*slot != NULL);
-+ cu->line_header = *slot;
-+ return;
-+ }
-+
-+ line_header = dwarf_decode_line_header (line_offset, cu);
-+ if (line_header == NULL)
-+ return;
-+ cu->line_header = line_header;
-+
-+ slot = htab_find_slot (dwarf2_per_objfile->line_header_hash,
-+ &line_header_local, INSERT);
-+ gdb_assert (slot != NULL);
-+ if (*slot == NULL)
-+ *slot = line_header;
-+ else
-+ {
-+ gdb_assert (die->tag != DW_TAG_partial_unit);
-+ make_cleanup (free_cu_line_header, cu);
- }
-+ decode_mapping = (die->tag != DW_TAG_partial_unit);
-+ dwarf_decode_lines (line_header, comp_dir, cu, NULL, lowpc,
-+ decode_mapping);
- }
-
- /* Process DW_TAG_compile_unit or DW_TAG_partial_unit. */
-@@ -16917,6 +16991,16 @@ free_line_header (struct line_header *lh
- xfree (lh);
- }
-
-+/* Stub for free_line_header to match void * callback types. */
-+
-+static void
-+free_line_header_voidp (void *arg)
-+{
-+ struct line_header *lh = arg;
-+
-+ free_line_header (lh);
-+}
-+
- /* Add an entry to LH's include directory table. */
-
- static void
-@@ -17047,6 +17131,9 @@ dwarf_decode_line_header (unsigned int o
- back_to = make_cleanup ((make_cleanup_ftype *) free_line_header,
- (void *) lh);
-
-+ lh->offset.sect_off = offset;
-+ lh->offset_in_dwz = cu->per_cu->is_dwz;
-+
- line_ptr = section->buffer + offset;
-
- /* Read in the header. */
-@@ -17674,17 +17761,22 @@ dwarf_decode_lines_1 (struct line_header
- E.g. expand_line_sal requires this when finding psymtabs to expand.
- A good testcase for this is mb-inline.exp.
-
-- LOWPC is the lowest address in CU (or 0 if not known). */
-+ LOWPC is the lowest address in CU (or 0 if not known).
-+
-+ Boolean DECODE_MAPPING specifies we need to fully decode .debug_line
-+ for its PC<->lines mapping information. Otherwise only filenames
-+ tables is read in. */
-
- static void
- dwarf_decode_lines (struct line_header *lh, const char *comp_dir,
- struct dwarf2_cu *cu, struct partial_symtab *pst,
-- CORE_ADDR lowpc)
-+ CORE_ADDR lowpc, int decode_mapping)
- {
- struct objfile *objfile = cu->objfile;
- const int decode_for_pst_p = (pst != NULL);
-
-- dwarf_decode_lines_1 (lh, cu, decode_for_pst_p, lowpc);
-+ if (decode_mapping)
-+ dwarf_decode_lines_1 (lh, cu, decode_for_pst_p, lowpc);
-
- if (decode_for_pst_p)
- {
diff --git a/gdb-tekhex-regression-revert.patch b/gdb-tekhex-regression-revert.patch
deleted file mode 100644
index 683775f..0000000
--- a/gdb-tekhex-regression-revert.patch
+++ /dev/null
@@ -1,151 +0,0 @@
--R for 85880250e591a51624d24db653aaace0c5ce5943
-https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=85880250e591a51624d24db653aaace0c5ce5943;hp=fce10a8494efa8faec
-
-[buildbot] GDB regression on 85880250e591a51624d24db653aaace0c5ce5943
-https://sourceware.org/ml/binutils/2015-01/msg00044.html
-
-diff --git a/bfd/coff-i860.c b/bfd/coff-i860.c
-index 8573a8d..2122c0d 100644
---- a/bfd/coff-i860.c
-+++ b/bfd/coff-i860.c
-@@ -467,10 +467,7 @@ static reloc_howto_type howto_table[] =
- FIXME: This macro refers to symbols and asect; these are from the
- calling function, not the macro arguments. */
-
--/* PR 17512: file: 0a38fb7c
-- Set an addend value, even if it is not going to be used. A tool
-- like coffdump might be used to print out the contents of the reloc. */
--#define CALC_ADDEND(abfd, ptr, reloc, cache_ptr) (cache_ptr)->addend = 0
-+#define CALC_ADDEND(abfd, ptr, reloc, cache_ptr)
-
- /* We use the special COFF backend linker. */
- #define coff_relocate_section _bfd_coff_generic_relocate_section
-diff --git a/bfd/tekhex.c b/bfd/tekhex.c
-index 9444117..969b812 100644
---- a/bfd/tekhex.c
-+++ b/bfd/tekhex.c
-@@ -267,7 +267,7 @@ typedef struct tekhex_data_struct
- #define enda(x) (x->vma + x->size)
-
- static bfd_boolean
--getvalue (char **srcp, bfd_vma *valuep, char * endp)
-+getvalue (char **srcp, bfd_vma *valuep)
- {
- char *src = *srcp;
- bfd_vma value = 0;
-@@ -279,7 +279,7 @@ getvalue (char **srcp, bfd_vma *valuep, char * endp)
- len = hex_value (*src++);
- if (len == 0)
- len = 16;
-- while (len-- && src < endp)
-+ while (len--)
- {
- if (!ISHEX (*src))
- return FALSE;
-@@ -288,11 +288,11 @@ getvalue (char **srcp, bfd_vma *valuep, char * endp)
-
- *srcp = src;
- *valuep = value;
-- return len == 0;
-+ return TRUE;
- }
-
- static bfd_boolean
--getsym (char *dstp, char **srcp, unsigned int *lenp, char * endp)
-+getsym (char *dstp, char **srcp, unsigned int *lenp)
- {
- char *src = *srcp;
- unsigned int i;
-@@ -304,7 +304,7 @@ getsym (char *dstp, char **srcp, unsigned int *lenp, char * endp)
- len = hex_value (*src++);
- if (len == 0)
- len = 16;
-- for (i = 0; i < len && src < endp; i++)
-+ for (i = 0; i < len; i++)
- dstp[i] = src[i];
- dstp[i] = 0;
- *srcp = src + i;
-@@ -354,7 +354,7 @@ insert_byte (bfd *abfd, int value, bfd_vma addr)
- how big the data is. */
-
- static bfd_boolean
--first_phase (bfd *abfd, int type, char *src, char * src_end)
-+first_phase (bfd *abfd, int type, char *src)
- {
- asection *section, *alt_section;
- unsigned int len;
-@@ -368,21 +368,21 @@ first_phase (bfd *abfd, int type, char *src, char * src_end)
- {
- bfd_vma addr;
-
-- if (!getvalue (&src, &addr, src_end))
-+ if (!getvalue (&src, &addr))
- return FALSE;
-
-- while (*src && src < src_end - 1)
-+ while (*src)
- {
- insert_byte (abfd, HEX (src), addr);
- src += 2;
- addr++;
- }
-- return TRUE;
- }
-
-+ return TRUE;
- case '3':
- /* Symbol record, read the segment. */
-- if (!getsym (sym, &src, &len, src_end))
-+ if (!getsym (sym, &src, &len))
- return FALSE;
- section = bfd_get_section_by_name (abfd, sym);
- if (section == NULL)
-@@ -403,9 +403,9 @@ first_phase (bfd *abfd, int type, char *src, char * src_end)
- {
- case '1': /* Section range. */
- src++;
-- if (!getvalue (&src, §ion->vma, src_end))
-+ if (!getvalue (&src, §ion->vma))
- return FALSE;
-- if (!getvalue (&src, &val, src_end))
-+ if (!getvalue (&src, &val))
- return FALSE;
- section->size = val - section->vma;
- section->flags = SEC_HAS_CONTENTS | SEC_LOAD | SEC_ALLOC;
-@@ -432,7 +432,7 @@ first_phase (bfd *abfd, int type, char *src, char * src_end)
- abfd->flags |= HAS_SYMS;
- new_symbol->prev = abfd->tdata.tekhex_data->symbols;
- abfd->tdata.tekhex_data->symbols = new_symbol;
-- if (!getsym (sym, &src, &len, src_end))
-+ if (!getsym (sym, &src, &len))
- return FALSE;
- new_symbol->symbol.name = (const char *)
- bfd_alloc (abfd, (bfd_size_type) len + 1);
-@@ -480,7 +480,7 @@ first_phase (bfd *abfd, int type, char *src, char * src_end)
- new_symbol->symbol.section = alt_section;
- }
- }
-- if (!getvalue (&src, &val, src_end))
-+ if (!getvalue (&src, &val))
- return FALSE;
- new_symbol->symbol.value = val - section->vma;
- break;
-@@ -498,7 +498,7 @@ first_phase (bfd *abfd, int type, char *src, char * src_end)
- record. */
-
- static bfd_boolean
--pass_over (bfd *abfd, bfd_boolean (*func) (bfd *, int, char *, char *))
-+pass_over (bfd *abfd, bfd_boolean (*func) (bfd *, int, char *))
- {
- unsigned int chars_on_line;
- bfd_boolean is_eof = FALSE;
-@@ -539,7 +539,8 @@ pass_over (bfd *abfd, bfd_boolean (*func) (bfd *, int, char *, char *))
-
- /* Put a null at the end. */
- src[chars_on_line] = 0;
-- if (!func (abfd, type, src, src + chars_on_line))
-+
-+ if (!func (abfd, type, src))
- return FALSE;
- }
-
diff --git a/gdb-vla-intel.patch b/gdb-vla-intel.patch
index 17308f5..9b86bde 100644
--- a/gdb-vla-intel.patch
+++ b/gdb-vla-intel.patch
@@ -6,10 +6,10 @@ GIT snapshot:
commit 511bff520372ffc10fa2ff569c176bdf1e6e475d
-Index: gdb-7.8.50.20141228/gdb/c-valprint.c
+Index: gdb-7.8.90.20150126/gdb/c-valprint.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/c-valprint.c 2015-01-06 22:51:17.663240907 +0100
-+++ gdb-7.8.50.20141228/gdb/c-valprint.c 2015-01-06 23:03:07.424684753 +0100
+--- gdb-7.8.90.20150126.orig/gdb/c-valprint.c 2015-01-26 07:47:25.832758314 +0100
++++ gdb-7.8.90.20150126/gdb/c-valprint.c 2015-01-26 07:47:42.394829861 +0100
@@ -537,7 +537,16 @@ c_value_print (struct value *val, struct
{
/* normal case */
@@ -28,10 +28,10 @@ Index: gdb-7.8.50.20141228/gdb/c-valprint.c
fprintf_filtered (stream, ") ");
}
}
-Index: gdb-7.8.50.20141228/gdb/dwarf2loc.h
+Index: gdb-7.8.90.20150126/gdb/dwarf2loc.h
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/dwarf2loc.h 2015-01-06 22:51:17.663240907 +0100
-+++ gdb-7.8.50.20141228/gdb/dwarf2loc.h 2015-01-06 23:03:07.424684753 +0100
+--- gdb-7.8.90.20150126.orig/gdb/dwarf2loc.h 2015-01-26 07:47:25.832758314 +0100
++++ gdb-7.8.90.20150126/gdb/dwarf2loc.h 2015-01-26 07:47:42.395829865 +0100
@@ -111,6 +111,11 @@ int dwarf2_evaluate_property (const stru
CORE_ADDR address,
CORE_ADDR *value);
@@ -44,14 +44,14 @@ Index: gdb-7.8.50.20141228/gdb/dwarf2loc.h
/* A helper for the compiler interface that compiles a single dynamic
property to C code.
-Index: gdb-7.8.50.20141228/gdb/dwarf2read.c
+Index: gdb-7.8.90.20150126/gdb/dwarf2read.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/dwarf2read.c 2015-01-06 22:51:17.663240907 +0100
-+++ gdb-7.8.50.20141228/gdb/dwarf2read.c 2015-01-06 23:04:09.691986881 +0100
-@@ -1844,6 +1844,12 @@ static void free_dwo_file_cleanup (void
- static void process_cu_includes (void);
-
+--- gdb-7.8.90.20150126.orig/gdb/dwarf2read.c 2015-01-26 07:47:25.845758371 +0100
++++ gdb-7.8.90.20150126/gdb/dwarf2read.c 2015-01-26 07:48:05.833931116 +0100
+@@ -1855,6 +1855,12 @@ static void process_cu_includes (void);
static void check_producer (struct dwarf2_cu *cu);
+
+ static void free_line_header_voidp (void *arg);
+
+static int
+attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die,
@@ -61,7 +61,7 @@ Index: gdb-7.8.50.20141228/gdb/dwarf2read.c
/* Various complaints about symbol reading that don't abort the process. */
-@@ -14241,29 +14247,92 @@ read_tag_string_type (struct die_info *d
+@@ -14354,29 +14360,92 @@ read_tag_string_type (struct die_info *d
struct gdbarch *gdbarch = get_objfile_arch (objfile);
struct type *type, *range_type, *index_type, *char_type;
struct attribute *attr;
@@ -161,7 +161,7 @@ Index: gdb-7.8.50.20141228/gdb/dwarf2read.c
char_type = language_string_char_type (cu->language_defn, gdbarch);
type = create_string_type (NULL, char_type, range_type);
-@@ -14580,13 +14649,15 @@ read_base_type (struct die_info *die, st
+@@ -14693,13 +14762,15 @@ read_base_type (struct die_info *die, st
return set_die_type (die, type, cu);
}
@@ -178,7 +178,7 @@ Index: gdb-7.8.50.20141228/gdb/dwarf2read.c
{
struct dwarf2_property_baton *baton;
struct obstack *obstack = &cu->objfile->objfile_obstack;
-@@ -14599,8 +14670,25 @@ attr_to_dynamic_prop (const struct attri
+@@ -14712,8 +14783,25 @@ attr_to_dynamic_prop (const struct attri
baton = obstack_alloc (obstack, sizeof (*baton));
baton->referenced_type = NULL;
baton->locexpr.per_cu = cu->per_cu;
@@ -206,7 +206,7 @@ Index: gdb-7.8.50.20141228/gdb/dwarf2read.c
prop->data.baton = baton;
prop->kind = PROP_LOCEXPR;
gdb_assert (prop->data.baton != NULL);
-@@ -14630,8 +14718,28 @@ attr_to_dynamic_prop (const struct attri
+@@ -14743,8 +14831,28 @@ attr_to_dynamic_prop (const struct attri
baton = obstack_alloc (obstack, sizeof (*baton));
baton->referenced_type = die_type (target_die, target_cu);
baton->locexpr.per_cu = cu->per_cu;
@@ -237,7 +237,7 @@ Index: gdb-7.8.50.20141228/gdb/dwarf2read.c
prop->data.baton = baton;
prop->kind = PROP_LOCEXPR;
gdb_assert (prop->data.baton != NULL);
-@@ -14666,7 +14774,7 @@ read_subrange_type (struct die_info *die
+@@ -14779,7 +14887,7 @@ read_subrange_type (struct die_info *die
struct type *base_type, *orig_base_type;
struct type *range_type;
struct attribute *attr;
@@ -246,7 +246,7 @@ Index: gdb-7.8.50.20141228/gdb/dwarf2read.c
int low_default_is_valid;
int high_bound_is_count = 0;
const char *name;
-@@ -14686,7 +14794,9 @@ read_subrange_type (struct die_info *die
+@@ -14799,7 +14907,9 @@ read_subrange_type (struct die_info *die
low.kind = PROP_CONST;
high.kind = PROP_CONST;
@@ -256,7 +256,7 @@ Index: gdb-7.8.50.20141228/gdb/dwarf2read.c
/* Set LOW_DEFAULT_IS_VALID if current language and DWARF version allow
omitting DW_AT_lower_bound. */
-@@ -14719,19 +14829,26 @@ read_subrange_type (struct die_info *die
+@@ -14832,19 +14942,26 @@ read_subrange_type (struct die_info *die
break;
}
@@ -286,7 +286,7 @@ Index: gdb-7.8.50.20141228/gdb/dwarf2read.c
{
/* If bounds are constant do the final calculation here. */
if (low.kind == PROP_CONST && high.kind == PROP_CONST)
-@@ -14795,7 +14912,7 @@ read_subrange_type (struct die_info *die
+@@ -14908,7 +15025,7 @@ read_subrange_type (struct die_info *die
&& !TYPE_UNSIGNED (base_type) && (high.data.const_val & negative_mask))
high.data.const_val |= negative_mask;
@@ -295,7 +295,7 @@ Index: gdb-7.8.50.20141228/gdb/dwarf2read.c
if (high_bound_is_count)
TYPE_RANGE_DATA (range_type)->flag_upper_bound_is_count = 1;
-@@ -21860,7 +21977,44 @@ set_die_type (struct die_info *die, stru
+@@ -21994,7 +22111,44 @@ set_die_type (struct die_info *die, stru
/* Read DW_AT_data_location and set in type. */
attr = dwarf2_attr (die, DW_AT_data_location, cu);
@@ -341,10 +341,10 @@ Index: gdb-7.8.50.20141228/gdb/dwarf2read.c
{
TYPE_DATA_LOCATION (type)
= obstack_alloc (&objfile->objfile_obstack, sizeof (prop));
-Index: gdb-7.8.50.20141228/gdb/f-typeprint.c
+Index: gdb-7.8.90.20150126/gdb/f-typeprint.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/f-typeprint.c 2015-01-06 22:51:17.663240907 +0100
-+++ gdb-7.8.50.20141228/gdb/f-typeprint.c 2015-01-06 23:03:07.428684772 +0100
+--- gdb-7.8.90.20150126.orig/gdb/f-typeprint.c 2015-01-26 07:47:25.846758375 +0100
++++ gdb-7.8.90.20150126/gdb/f-typeprint.c 2015-01-26 07:47:42.402829895 +0100
@@ -30,6 +30,7 @@
#include "gdbcore.h"
#include "target.h"
@@ -429,10 +429,10 @@ Index: gdb-7.8.50.20141228/gdb/f-typeprint.c
if (arrayprint_recurse_level == 1)
fprintf_filtered (stream, ")");
else
-Index: gdb-7.8.50.20141228/gdb/f-valprint.c
+Index: gdb-7.8.90.20150126/gdb/f-valprint.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/f-valprint.c 2015-01-06 22:51:17.663240907 +0100
-+++ gdb-7.8.50.20141228/gdb/f-valprint.c 2015-01-06 23:03:07.428684772 +0100
+--- gdb-7.8.90.20150126.orig/gdb/f-valprint.c 2015-01-26 07:47:25.847758379 +0100
++++ gdb-7.8.90.20150126/gdb/f-valprint.c 2015-01-26 07:47:42.403829900 +0100
@@ -36,8 +36,6 @@
extern void _initialize_f_valprint (void);
@@ -619,10 +619,10 @@ Index: gdb-7.8.50.20141228/gdb/f-valprint.c
if (index != TYPE_NFIELDS (type) - 1)
fputs_filtered (", ", stream);
}
-Index: gdb-7.8.50.20141228/gdb/gdbtypes.c
+Index: gdb-7.8.90.20150126/gdb/gdbtypes.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/gdbtypes.c 2015-01-06 22:51:17.663240907 +0100
-+++ gdb-7.8.50.20141228/gdb/gdbtypes.c 2015-01-06 23:03:07.429684777 +0100
+--- gdb-7.8.90.20150126.orig/gdb/gdbtypes.c 2015-01-26 07:47:25.850758392 +0100
++++ gdb-7.8.90.20150126/gdb/gdbtypes.c 2015-01-26 07:47:42.404829904 +0100
@@ -815,7 +815,8 @@ allocate_stub_method (struct type *type)
struct type *
create_range_type (struct type *result_type, struct type *index_type,
@@ -946,10 +946,10 @@ Index: gdb-7.8.50.20141228/gdb/gdbtypes.c
return new_type;
}
-Index: gdb-7.8.50.20141228/gdb/gdbtypes.h
+Index: gdb-7.8.90.20150126/gdb/gdbtypes.h
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/gdbtypes.h 2015-01-06 22:51:17.663240907 +0100
-+++ gdb-7.8.50.20141228/gdb/gdbtypes.h 2015-01-06 23:03:07.429684777 +0100
+--- gdb-7.8.90.20150126.orig/gdb/gdbtypes.h 2015-01-26 07:47:25.852758401 +0100
++++ gdb-7.8.90.20150126/gdb/gdbtypes.h 2015-01-26 07:47:42.405829908 +0100
@@ -660,6 +660,10 @@ struct main_type
struct dynamic_prop high;
@@ -1038,10 +1038,10 @@ Index: gdb-7.8.50.20141228/gdb/gdbtypes.h
const struct dynamic_prop *);
extern struct type *create_array_type (struct type *, struct type *,
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-alloc-assoc.exp
+Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-alloc-assoc.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-alloc-assoc.exp 2015-01-06 23:03:07.429684777 +0100
++++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-alloc-assoc.exp 2015-01-26 07:47:42.405829908 +0100
@@ -0,0 +1,65 @@
+# Copyright 2014 Free Software Foundation, Inc.
+
@@ -1108,10 +1108,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-alloc-assoc.exp
+gdb_continue_to_breakpoint "vla2-deallocated"
+gdb_test "print l" " = \\.FALSE\\." "print vla2 deallocated"
+gdb_test "print vla2" " = " "print deallocated vla2"
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-datatypes.exp
+Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-datatypes.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-datatypes.exp 2015-01-06 23:03:07.429684777 +0100
++++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-datatypes.exp 2015-01-26 07:47:42.405829908 +0100
@@ -0,0 +1,82 @@
+# Copyright 2014 Free Software Foundation, Inc.
+
@@ -1195,10 +1195,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-datatypes.exp
+ "print logicalvla(5,5,5) (2nd)"
+gdb_test "print charactervla(5,5,5)" " = 'X'" \
+ "print charactervla(5,5,5) (2nd)"
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-datatypes.f90
+Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-datatypes.f90
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-datatypes.f90 2015-01-06 23:03:07.429684777 +0100
++++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-datatypes.f90 2015-01-26 07:47:42.405829908 +0100
@@ -0,0 +1,51 @@
+! Copyright 2014 Free Software Foundation, Inc.
+!
@@ -1251,10 +1251,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-datatypes.f90
+ ! dummy statement for bp
+ l = .FALSE. ! vlas-modified
+end program vla_primitives
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-func.exp
+Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-func.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-func.exp 2015-01-06 23:03:07.430684782 +0100
++++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-func.exp 2015-01-26 07:47:42.406829913 +0100
@@ -0,0 +1,61 @@
+# Copyright 2014 Free Software Foundation, Inc.
+
@@ -1317,10 +1317,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-func.exp
+ "print vla3 (after func2)"
+gdb_test "ptype vla3" "type = integer\\\(kind=4\\\) \\\(10\\\)" \
+ "ptype vla3 (after func2)"
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-func.f90
+Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-func.f90
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-func.f90 2015-01-06 23:03:07.430684782 +0100
++++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-func.f90 2015-01-26 07:47:42.406829913 +0100
@@ -0,0 +1,71 @@
+! Copyright 2014 Free Software Foundation, Inc.
+!
@@ -1393,10 +1393,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-func.f90
+
+ ret = .TRUE. ! func2-returned
+end program vla_func
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-history.exp
+Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-history.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-history.exp 2015-01-06 23:03:07.430684782 +0100
++++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-history.exp 2015-01-26 07:47:42.406829913 +0100
@@ -0,0 +1,62 @@
+# Copyright 2014 Free Software Foundation, Inc.
+
@@ -1460,10 +1460,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-history.exp
+# Try to access history values for vla values.
+gdb_test "print \$9" " = 1311" "print \$9"
+gdb_test "print \$10" " = 1001" "print \$10"
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-ptype-sub.exp
+Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-ptype-sub.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-ptype-sub.exp 2015-01-06 23:03:07.430684782 +0100
++++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-ptype-sub.exp 2015-01-26 07:47:42.406829913 +0100
@@ -0,0 +1,87 @@
+# Copyright 2014 Free Software Foundation, Inc.
+
@@ -1552,10 +1552,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-ptype-sub.exp
+ "ptype array1(100) (arbitrary length)"
+gdb_test "ptype array2(4,100)" "type = integer\\\(kind=4\\\)" \
+ "ptype array2(4,100) (arbitrary length)"
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-ptype.exp
+Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-ptype.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-ptype.exp 2015-01-06 23:03:07.430684782 +0100
++++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-ptype.exp 2015-01-26 07:47:42.406829913 +0100
@@ -0,0 +1,96 @@
+# Copyright 2014 Free Software Foundation, Inc.
+
@@ -1653,10 +1653,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-ptype.exp
+gdb_test "ptype vla2(5, 45, 20)" \
+ "no such vector element because not allocated" \
+ "ptype vla2(5, 45, 20) not allocated"
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-sizeof.exp
+Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-sizeof.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-sizeof.exp 2015-01-06 23:03:07.430684782 +0100
++++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-sizeof.exp 2015-01-26 07:47:42.406829913 +0100
@@ -0,0 +1,46 @@
+# Copyright 2014 Free Software Foundation, Inc.
+
@@ -1704,10 +1704,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-sizeof.exp
+gdb_breakpoint [gdb_get_line_number "pvla-associated"]
+gdb_continue_to_breakpoint "pvla-associated"
+gdb_test "print sizeof(pvla)" " = 4000" "print sizeof associated pvla"
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-stride.exp
+Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-stride.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-stride.exp 2015-01-06 23:03:07.430684782 +0100
++++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-stride.exp 2015-01-26 07:47:42.407829917 +0100
@@ -0,0 +1,44 @@
+# Copyright 2014 Free Software Foundation, Inc.
+
@@ -1753,10 +1753,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-stride.exp
+gdb_continue_to_breakpoint "single-element"
+gdb_test "print pvla" " = \\\(5\\\)" "print single-element"
+gdb_test "print pvla(1)" " = 5" "print one single-element"
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-stride.f90
+Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-stride.f90
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-stride.f90 2015-01-06 23:03:07.430684782 +0100
++++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-stride.f90 2015-01-26 07:47:42.407829917 +0100
@@ -0,0 +1,30 @@
+! Copyright 2014 Free Software Foundation, Inc.
+!
@@ -1788,10 +1788,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-stride.f90
+
+ pvla => null() ! single-element
+end program vla_stride
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-strings.exp
+Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-strings.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-strings.exp 2015-01-06 23:03:07.430684782 +0100
++++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-strings.exp 2015-01-26 07:47:42.407829917 +0100
@@ -0,0 +1,104 @@
+# Copyright 2014 Free Software Foundation, Inc.
+
@@ -1897,10 +1897,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-strings.exp
+ "whatis var_char_p after associated"
+gdb_test "ptype var_char_p" "type = PTR TO -> \\( character\\*7 \\)" \
+ "ptype var_char_p after associated"
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-strings.f90
+Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-strings.f90
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-strings.f90 2015-01-06 23:03:07.430684782 +0100
++++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-strings.f90 2015-01-26 07:47:42.407829917 +0100
@@ -0,0 +1,40 @@
+! Copyright 2014 Free Software Foundation, Inc.
+!
@@ -1942,10 +1942,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-strings.f90
+ var_char_p => null()
+ l = associated(var_char_p) ! var_char_p-not-associated
+end program vla_strings
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-sub.f90
+Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-sub.f90
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-sub.f90 2015-01-06 23:03:07.430684782 +0100
++++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-sub.f90 2015-01-26 07:47:42.407829917 +0100
@@ -0,0 +1,82 @@
+! Copyright 2014 Free Software Foundation, Inc.
+!
@@ -2029,10 +2029,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-sub.f90
+
+ call bar(sub_arr3, sub_arr1)
+end program vla_sub
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-value-sub-arbitrary.exp
+Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-value-sub-arbitrary.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-value-sub-arbitrary.exp 2015-01-06 23:03:07.430684782 +0100
++++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-value-sub-arbitrary.exp 2015-01-26 07:47:42.407829917 +0100
@@ -0,0 +1,35 @@
+# Copyright 2014 Free Software Foundation, Inc.
+
@@ -2069,10 +2069,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-value-sub-arbitrary.exp
+gdb_test "p array1(100)" " = 100" "print arbitary array1(100)"
+gdb_test "p array2(4,10)" " = 1" "print arbitary array2(4,10)"
+gdb_test "p array2(4,100)" " = 1" "print arbitary array2(4,100)"
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-value-sub-finish.exp
+Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-value-sub-finish.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-value-sub-finish.exp 2015-01-06 23:03:07.431684787 +0100
++++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-value-sub-finish.exp 2015-01-26 07:47:42.407829917 +0100
@@ -0,0 +1,49 @@
+# Copyright 2014 Free Software Foundation, Inc.
+
@@ -2123,10 +2123,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-value-sub-finish.exp
+gdb_test "p sub_arr2(1, 1, 1)" " = 30" "sub_arr2(1, 1, 1) after finish"
+gdb_test "p sub_arr2(2, 1, 1)" " = 20" "sub_arr2(2, 1, 1) after finish"
+
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-value-sub.exp
+Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-value-sub.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-value-sub.exp 2015-01-06 23:03:07.431684787 +0100
++++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-value-sub.exp 2015-01-26 07:47:42.408829922 +0100
@@ -0,0 +1,90 @@
+# Copyright 2014 Free Software Foundation, Inc.
+
@@ -2218,10 +2218,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-value-sub.exp
+ "set array(2,2,2) to 20 in subroutine (passed vla)"
+gdb_test "print array2" " = \\( *\\( *\\( *30, *20, *3,\[()3, .\]*\\)" \
+ "print array2 in foo after it was mofified in debugger (passed vla)"
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-value.exp
+Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-value.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-value.exp 2015-01-06 23:03:07.431684787 +0100
++++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-value.exp 2015-01-26 07:47:42.408829922 +0100
@@ -0,0 +1,148 @@
+# Copyright 2014 Free Software Foundation, Inc.
+
@@ -2371,10 +2371,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla-value.exp
+gdb_continue_to_breakpoint "pvla-deassociated"
+gdb_test "print \$mypvar(1,3,8)" " = 1001" \
+ "print \$mypvar(1,3,8) after deallocated"
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla.f90
+Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla.f90
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla.f90 2015-01-06 23:03:07.431684787 +0100
++++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla.f90 2015-01-26 07:47:42.408829922 +0100
@@ -0,0 +1,56 @@
+! Copyright 2014 Free Software Foundation, Inc.
+!
@@ -2432,10 +2432,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/vla.f90
+ allocate (vla3 (2,2)) ! vla2-deallocated
+ vla3(:,:) = 13
+end program vla
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.mi/mi-vla-fortran.exp
+Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.mi/mi-vla-fortran.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.mi/mi-vla-fortran.exp 2015-01-06 23:03:07.431684787 +0100
++++ gdb-7.8.90.20150126/gdb/testsuite/gdb.mi/mi-vla-fortran.exp 2015-01-26 07:47:42.408829922 +0100
@@ -0,0 +1,182 @@
+# Copyright 2014 Free Software Foundation, Inc.
+
@@ -2619,10 +2619,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.mi/mi-vla-fortran.exp
+
+mi_gdb_exit
+return 0
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.mi/vla.f90
+Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.mi/vla.f90
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.mi/vla.f90 2015-01-06 23:03:07.431684787 +0100
++++ gdb-7.8.90.20150126/gdb/testsuite/gdb.mi/vla.f90 2015-01-26 07:47:42.409829926 +0100
@@ -0,0 +1,42 @@
+! Copyright 2014 Free Software Foundation, Inc.
+!
@@ -2666,10 +2666,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.mi/vla.f90
+ pvla2 => null()
+ l = associated(pvla2) ! pvla2-set-to-null
+end program vla
-Index: gdb-7.8.50.20141228/gdb/typeprint.c
+Index: gdb-7.8.90.20150126/gdb/typeprint.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/typeprint.c 2015-01-06 22:51:17.663240907 +0100
-+++ gdb-7.8.50.20141228/gdb/typeprint.c 2015-01-06 23:03:07.431684787 +0100
+--- gdb-7.8.90.20150126.orig/gdb/typeprint.c 2015-01-26 07:47:25.856758418 +0100
++++ gdb-7.8.90.20150126/gdb/typeprint.c 2015-01-26 07:47:42.409829926 +0100
@@ -456,6 +456,13 @@ whatis_exp (char *exp, int show)
type = value_type (val);
@@ -2684,10 +2684,10 @@ Index: gdb-7.8.50.20141228/gdb/typeprint.c
get_user_print_options (&opts);
if (opts.objectprint)
{
-Index: gdb-7.8.50.20141228/gdb/valarith.c
+Index: gdb-7.8.90.20150126/gdb/valarith.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/valarith.c 2015-01-06 22:51:17.663240907 +0100
-+++ gdb-7.8.50.20141228/gdb/valarith.c 2015-01-06 23:03:07.432684792 +0100
+--- gdb-7.8.90.20150126.orig/gdb/valarith.c 2015-01-26 07:47:25.857758422 +0100
++++ gdb-7.8.90.20150126/gdb/valarith.c 2015-01-26 07:47:42.409829926 +0100
@@ -193,12 +193,31 @@ value_subscripted_rvalue (struct value *
struct type *array_type = check_typedef (value_type (array));
struct type *elt_type = check_typedef (TYPE_TARGET_TYPE (array_type));
@@ -2722,10 +2722,10 @@ Index: gdb-7.8.50.20141228/gdb/valarith.c
if (VALUE_LVAL (array) == lval_memory && value_lazy (array))
v = allocate_value_lazy (elt_type);
-Index: gdb-7.8.50.20141228/gdb/valprint.c
+Index: gdb-7.8.90.20150126/gdb/valprint.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/valprint.c 2015-01-06 22:51:17.663240907 +0100
-+++ gdb-7.8.50.20141228/gdb/valprint.c 2015-01-06 23:03:07.432684792 +0100
+--- gdb-7.8.90.20150126.orig/gdb/valprint.c 2015-01-26 07:47:25.858758427 +0100
++++ gdb-7.8.90.20150126/gdb/valprint.c 2015-01-26 07:47:42.410829930 +0100
@@ -303,6 +303,18 @@ valprint_check_validity (struct ui_file
{
CHECK_TYPEDEF (type);
@@ -2800,10 +2800,10 @@ Index: gdb-7.8.50.20141228/gdb/valprint.c
return 1;
}
-Index: gdb-7.8.50.20141228/gdb/valprint.h
+Index: gdb-7.8.90.20150126/gdb/valprint.h
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/valprint.h 2015-01-06 22:51:17.663240907 +0100
-+++ gdb-7.8.50.20141228/gdb/valprint.h 2015-01-06 23:03:07.432684792 +0100
+--- gdb-7.8.90.20150126.orig/gdb/valprint.h 2015-01-26 07:47:25.859758431 +0100
++++ gdb-7.8.90.20150126/gdb/valprint.h 2015-01-26 07:47:42.410829930 +0100
@@ -217,4 +217,8 @@ extern void output_command_const (const
extern int val_print_scalar_type_p (struct type *type);
@@ -2813,10 +2813,10 @@ Index: gdb-7.8.50.20141228/gdb/valprint.h
+extern void val_print_not_associated (struct ui_file *stream);
+
#endif
-Index: gdb-7.8.50.20141228/gdb/value.c
+Index: gdb-7.8.90.20150126/gdb/value.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/value.c 2015-01-06 22:51:17.663240907 +0100
-+++ gdb-7.8.50.20141228/gdb/value.c 2015-01-06 23:03:07.433684797 +0100
+--- gdb-7.8.90.20150126.orig/gdb/value.c 2015-01-26 07:47:25.860758435 +0100
++++ gdb-7.8.90.20150126/gdb/value.c 2015-01-26 07:47:42.411829935 +0100
@@ -40,6 +40,7 @@
#include "tracepoint.h"
#include "cp-abi.h"
@@ -2919,11 +2919,11 @@ Index: gdb-7.8.50.20141228/gdb/value.c
if (TYPE_LENGTH (type))
read_value_memory (val, 0, value_stack (val),
-Index: gdb-7.8.50.20141228/gdb/dwarf2loc.c
+Index: gdb-7.8.90.20150126/gdb/dwarf2loc.c
===================================================================
---- gdb-7.8.50.20141228.orig/gdb/dwarf2loc.c 2014-12-28 02:48:43.000000000 +0100
-+++ gdb-7.8.50.20141228/gdb/dwarf2loc.c 2015-01-06 23:05:55.296499287 +0100
-@@ -2326,6 +2346,11 @@ dwarf2_evaluate_loc_desc_full (struct ty
+--- gdb-7.8.90.20150126.orig/gdb/dwarf2loc.c 2015-01-26 07:47:25.862758444 +0100
++++ gdb-7.8.90.20150126/gdb/dwarf2loc.c 2015-01-26 07:47:42.412829939 +0100
+@@ -2293,6 +2293,11 @@ dwarf2_evaluate_loc_desc_full (struct ty
int in_stack_memory = dwarf_expr_fetch_in_stack_memory (ctx, 0);
do_cleanups (value_chain);
@@ -2935,7 +2935,7 @@ Index: gdb-7.8.50.20141228/gdb/dwarf2loc.c
retval = value_at_lazy (type, address + byte_offset);
if (in_stack_memory)
set_value_stack (retval, 1);
-@@ -2546,6 +2546,19 @@ dwarf2_compile_property_to_c (struct ui_
+@@ -2552,6 +2557,19 @@ dwarf2_compile_property_to_c (struct ui_
data, data + size, per_cu);
}
diff --git a/gdb.spec b/gdb.spec
index a1592c5..d4af92b 100644
--- a/gdb.spec
+++ b/gdb.spec
@@ -22,11 +22,11 @@ Name: %{?scl_prefix}gdb
# See timestamp of source gnulib installed into gdb/gnulib/ .
%global snapgnulib 20121213
%global tarname gdb-%{version}
-Version: 7.8.50.20150108
+Version: 7.8.90.20150202
# The release always contains a leading reserved number, start it at 1.
# `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and BSD and Public Domain and GFDL
Group: Development/Debuggers
@@ -520,19 +520,14 @@ Patch925: gdb-fortran-frame-string.patch
# Fix Python GIL with gdb.execute("continue") (Phil Muldoon, BZ 1116957).
Patch927: gdb-python-gil.patch
-# Fix 'Slow gstack performance' (RH BZ 1103894, Jan Kratochvil).
-Patch973: gdb-slow-gstack-performance.patch
-
-# Fix 'compile' compilation warning/error.
-Patch977: gdb-compile-warn_unused_result.patch
-
# Fix jit-reader.h for multi-lib.
Patch978: gdb-jit-reader-multilib.patch
# Fix gdb-7.9pre regressions / new FAILs.
Patch979: gdb-6.8-bz457187-largefile-test-regression-fix.patch
-Patch980: gdb-py-frame-rip-test-fix.patch
-Patch981: gdb-tekhex-regression-revert.patch
+
+# Temporarily disable dg-extract-results.py to fix gdb.sum sorting.
+Patch982: gdb-no-dg-extract-results-py.patch
%if 0%{!?rhel:1} || 0%{?rhel} > 6
# RL_STATE_FEDORA_GDB would not be found for:
@@ -815,12 +810,9 @@ find -name "*.info*"|xargs rm -f
%patch918 -p1
%patch925 -p1
%patch927 -p1
-%patch973 -p1
-%patch977 -p1
%patch978 -p1
%patch979 -p1
-%patch980 -p1
-%patch981 -p1
+%patch982 -p1
%patch848 -p1
%if 0%{!?el6:1}
@@ -1321,6 +1313,10 @@ then
fi
%changelog
+* Mon Feb 2 2015 Jan Kratochvil - 7.8.90.20150202-2.fc22
+- Rebase to 7.9-branch snapshot 7.8.90.20150202.
+- Temporarily disable dg-extract-results.py to fix gdb.sum sorting.
+
* Thu Jan 8 2015 Jan Kratochvil - 7.8.50.20150108-1.fc22
- Rebase to pre-7.9 snapshot 7.8.50.20150108.
- Fix jit-reader.h for multi-lib.
diff --git a/sources b/sources
index ed96386..848bde3 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
4981307aa9619bbec5b73261e4e41c8d gdb-libstdc++-v3-python-r155978.tar.bz2
-6b43f1079e9a6401c7277d6bd777bd7f gdb-7.8.50.20150108.tar.xz
+3821d055a639644d09bd9734e59b051c gdb-7.8.90.20150202.tar.xz