From 072837144cd6fe153f540c555471dbbedc4e603f Mon Sep 17 00:00:00 2001 From: Jan Kratochvil Date: Feb 02 2015 22:09:42 +0000 Subject: Rebase to 7.9-branch snapshot 7.8.90.20150202. - Temporarily disable dg-extract-results.py to fix gdb.sum sorting. --- 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