public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/gdb] gdb-17.2-rebase-f44: Rebase to FSF GDB 7.9.50.20150531 (pre-7.10 trunk snapshot).
@ 2026-06-27 23:57 Jan Kratochvil
  0 siblings, 0 replies; only message in thread
From: Jan Kratochvil @ 2026-06-27 23:57 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/gdb
Branch : gdb-17.2-rebase-f44
Commit : 32f92b2e340ea417a5951d7a25eb747051afa0f4
Author : Jan Kratochvil <jan.kratochvil@redhat.com>
Date   : 2015-05-31T20:47:21+02:00
Stats  : +1228/-2609 in 32 file(s)
URL    : https://src.fedoraproject.org/rpms/gdb/c/32f92b2e340ea417a5951d7a25eb747051afa0f4?branch=gdb-17.2-rebase-f44

Log:
Rebase to FSF GDB 7.9.50.20150531 (pre-7.10 trunk snapshot).

---
diff --git a/.gitignore b/.gitignore
index 54bd832..e58467b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,2 @@
 /gdb-libstdc++-v3-python-r155978.tar.bz2
-/gdb-7.9.1.tar.xz
+/gdb-7.9.50.20150531.tar.xz

diff --git a/gdb-6.3-readnever-20050907.patch b/gdb-6.3-readnever-20050907.patch
index 1e9addf..8eeb59c 100644
--- a/gdb-6.3-readnever-20050907.patch
+++ b/gdb-6.3-readnever-20050907.patch
@@ -11,10 +11,10 @@
 
         * gdb.texinfo (File Options): Document --readnever.
 
-Index: gdb-7.8.50.20141228/gdb/doc/gdb.texinfo
+Index: gdb-7.9.50.20150520/gdb/doc/gdb.texinfo
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/doc/gdb.texinfo	2015-01-01 17:01:08.308881292 +0100
-+++ gdb-7.8.50.20141228/gdb/doc/gdb.texinfo	2015-01-01 17:01:10.302880126 +0100
+--- gdb-7.9.50.20150520.orig/gdb/doc/gdb.texinfo	2015-05-31 16:34:58.436379663 +0200
++++ gdb-7.9.50.20150520/gdb/doc/gdb.texinfo	2015-05-31 16:35:03.452416381 +0200
 @@ -1032,6 +1032,12 @@ Read each symbol file's entire symbol ta
  the default, which is to read it incrementally as it is needed.
  This makes startup slower, but makes future operations faster.
@@ -28,19 +28,19 @@ Index: gdb-7.8.50.20141228/gdb/doc/gdb.texinfo
  @end table
  
  @node Mode Options
-Index: gdb-7.8.50.20141228/gdb/main.c
+Index: gdb-7.9.50.20150520/gdb/main.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/main.c	2015-01-01 17:01:08.312881290 +0100
-+++ gdb-7.8.50.20141228/gdb/main.c	2015-01-01 17:01:10.303880125 +0100
-@@ -590,6 +590,7 @@ captured_main (void *data)
-       {"xdb", no_argument, &xdb_commands, 1},
+--- gdb-7.9.50.20150520.orig/gdb/main.c	2015-05-31 16:34:58.439379685 +0200
++++ gdb-7.9.50.20150520/gdb/main.c	2015-05-31 16:35:20.547541518 +0200
+@@ -604,6 +604,7 @@ captured_main (void *data)
+       {"tui", no_argument, 0, OPT_TUI},
        {"dbx", no_argument, &dbx_commands, 1},
        {"readnow", no_argument, &readnow_symbol_files, 1},
 +      {"readnever", no_argument, &readnever_symbol_files, 1},
        {"r", no_argument, &readnow_symbol_files, 1},
        {"quiet", no_argument, &quiet, 1},
        {"q", no_argument, &quiet, 1},
-@@ -1245,6 +1246,7 @@ Selection of debuggee and its files:\n\n
+@@ -1253,6 +1254,7 @@ Selection of debuggee and its files:\n\n
    --se=FILE          Use FILE as symbol file and executable file.\n\
    --symbols=SYMFILE  Read symbols from SYMFILE.\n\
    --readnow          Fully read symbol files on first access.\n\
@@ -48,10 +48,10 @@ Index: gdb-7.8.50.20141228/gdb/main.c
    --write            Set writing into executable and core files.\n\n\
  "), stream);
    fputs_unfiltered (_("\
-Index: gdb-7.8.50.20141228/gdb/symfile.c
+Index: gdb-7.9.50.20150520/gdb/symfile.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/symfile.c	2015-01-01 17:01:08.313881289 +0100
-+++ gdb-7.8.50.20141228/gdb/symfile.c	2015-01-01 17:01:10.304880125 +0100
+--- gdb-7.9.50.20150520.orig/gdb/symfile.c	2015-05-31 16:34:58.440379692 +0200
++++ gdb-7.9.50.20150520/gdb/symfile.c	2015-05-31 16:35:03.454416395 +0200
 @@ -80,6 +80,7 @@ static void clear_symtab_users_cleanup (
  
  /* Global variables owned by this file.  */
@@ -60,10 +60,10 @@ Index: gdb-7.8.50.20141228/gdb/symfile.c
  
  /* Functions this file defines.  */
  
-Index: gdb-7.8.50.20141228/gdb/dwarf2read.c
+Index: gdb-7.9.50.20150520/gdb/dwarf2read.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/dwarf2read.c	2015-01-01 17:01:08.319881285 +0100
-+++ gdb-7.8.50.20141228/gdb/dwarf2read.c	2015-01-01 17:01:26.888870511 +0100
+--- gdb-7.9.50.20150520.orig/gdb/dwarf2read.c	2015-05-31 16:34:58.446379736 +0200
++++ gdb-7.9.50.20150520/gdb/dwarf2read.c	2015-05-31 16:35:03.459416432 +0200
 @@ -69,6 +69,7 @@
  #include "source.h"
  #include "filestuff.h"
@@ -72,7 +72,7 @@ Index: gdb-7.8.50.20141228/gdb/dwarf2read.c
  
  #include <fcntl.h>
  #include <sys/types.h>
-@@ -1989,7 +1990,8 @@ dwarf2_has_info (struct objfile *objfile
+@@ -2050,7 +2051,8 @@ dwarf2_has_info (struct objfile *objfile
                               (void *) names);
        dwarf2_per_objfile->objfile = objfile;
      }
@@ -82,10 +82,10 @@ Index: gdb-7.8.50.20141228/gdb/dwarf2read.c
  	  && dwarf2_per_objfile->info.s.asection != NULL
  	  && !dwarf2_per_objfile->abbrev.is_virtual
  	  && dwarf2_per_objfile->abbrev.s.asection != NULL);
-Index: gdb-7.8.50.20141228/gdb/top.h
+Index: gdb-7.9.50.20150520/gdb/top.h
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/top.h	2015-01-01 17:01:08.320881284 +0100
-+++ gdb-7.8.50.20141228/gdb/top.h	2015-01-01 17:01:10.310880121 +0100
+--- gdb-7.9.50.20150520.orig/gdb/top.h	2015-05-31 16:34:58.448379751 +0200
++++ gdb-7.9.50.20150520/gdb/top.h	2015-05-31 16:35:03.459416432 +0200
 @@ -67,6 +67,7 @@ extern void set_prompt (const char *s);
  
  /* From random places.  */

diff --git a/gdb-6.3-test-pie-20050107.patch b/gdb-6.3-test-pie-20050107.patch
index 1bd11ef..9b72ff8 100644
--- a/gdb-6.3-test-pie-20050107.patch
+++ b/gdb-6.3-test-pie-20050107.patch
@@ -1,40 +1,39 @@
-Index: gdb-7.8.50.20141228/gdb/testsuite/configure.ac
+Index: gdb-7.9.50.20150520/gdb/testsuite/configure.ac
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/testsuite/configure.ac	2015-01-01 17:00:26.123908948 +0100
-+++ gdb-7.8.50.20141228/gdb/testsuite/configure.ac	2015-01-01 17:00:43.168897773 +0100
-@@ -106,6 +106,6 @@ AC_OUTPUT([Makefile \
-   gdb.hp/gdb.aCC/Makefile gdb.hp/gdb.compat/Makefile \
-   gdb.hp/gdb.defects/Makefile gdb.guile/Makefile gdb.linespec/Makefile \
+--- gdb-7.9.50.20150520.orig/gdb/testsuite/configure.ac	2015-05-31 16:34:02.396969450 +0200
++++ gdb-7.9.50.20150520/gdb/testsuite/configure.ac	2015-05-31 16:34:33.443196711 +0200
+@@ -114,5 +114,5 @@ AC_OUTPUT([Makefile \
+   gdb.guile/Makefile gdb.linespec/Makefile \
    gdb.mi/Makefile gdb.modula2/Makefile gdb.multi/Makefile \
--  gdb.objc/Makefile gdb.opencl/Makefile gdb.opt/Makefile gdb.pascal/Makefile \
-+  gdb.objc/Makefile gdb.opencl/Makefile gdb.opt/Makefile gdb.pascal/Makefile gdb.pie/Makefile \
-   gdb.perf/Makefile gdb.python/Makefile gdb.reverse/Makefile gdb.stabs/Makefile \
+   gdb.objc/Makefile gdb.opencl/Makefile gdb.opt/Makefile gdb.pascal/Makefile \
+-  gdb.perf/Makefile gdb.python/Makefile gdb.reverse/Makefile gdb.stabs/Makefile \
++  gdb.perf/Makefile gdb.pie/Makefile gdb.python/Makefile gdb.reverse/Makefile gdb.stabs/Makefile \
    gdb.threads/Makefile gdb.trace/Makefile gdb.xml/Makefile])
-Index: gdb-7.8.50.20141228/gdb/testsuite/configure
+Index: gdb-7.9.50.20150520/gdb/testsuite/configure
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/testsuite/configure	2015-01-01 17:00:26.124908947 +0100
-+++ gdb-7.8.50.20141228/gdb/testsuite/configure	2015-01-01 17:00:59.467887088 +0100
-@@ -3458,7 +3458,7 @@ if test "${build}" = "${host}" -a "${hos
- fi
+--- gdb-7.9.50.20150520.orig/gdb/testsuite/configure	2015-05-31 16:33:53.154901798 +0200
++++ gdb-7.9.50.20150520/gdb/testsuite/configure	2015-05-31 16:34:48.654308057 +0200
+@@ -3514,7 +3514,7 @@ program_transform_name=`$as_echo "$progr
+ ac_config_files="$ac_config_files lib/pdtrace"
  
  
--ac_config_files="$ac_config_files Makefile gdb.ada/Makefile gdb.arch/Makefile gdb.asm/Makefile gdb.base/Makefile gdb.btrace/Makefile gdb.cell/Makefile gdb.compile/Makefile gdb.cp/Makefile gdb.disasm/Makefile gdb.dwarf2/Makefile gdb.dlang/Makefile gdb.fortran/Makefile gdb.gdb/Makefile gdb.go/Makefile gdb.server/Makefile gdb.java/Makefile gdb.hp/Makefile gdb.hp/gdb.objdbg/Makefile gdb.hp/gdb.base-hp/Makefile gdb.hp/gdb.aCC/Makefile gdb.hp/gdb.compat/Makefile gdb.hp/gdb.defects/Makefile gdb.guile/Makefile gdb.linespec/Makefile gdb.mi/Makefile gdb.modula2/Makefile gdb.multi/Makefile gdb.objc/Makefile gdb.opencl/Makefile gdb.opt/Makefile gdb.pascal/Makefile gdb.perf/Makefile gdb.python/Makefile gdb.reverse/Makefile gdb.stabs/Makefile gdb.threads/Makefile gdb.trace/Makefile gdb.xml/Makefile"
-+ac_config_files="$ac_config_files Makefile gdb.ada/Makefile gdb.arch/Makefile gdb.asm/Makefile gdb.base/Makefile gdb.btrace/Makefile gdb.cell/Makefile gdb.compile/Makefile gdb.cp/Makefile gdb.disasm/Makefile gdb.dwarf2/Makefile gdb.dlang/Makefile gdb.fortran/Makefile gdb.gdb/Makefile gdb.go/Makefile gdb.server/Makefile gdb.java/Makefile gdb.hp/Makefile gdb.hp/gdb.objdbg/Makefile gdb.hp/gdb.base-hp/Makefile gdb.hp/gdb.aCC/Makefile gdb.hp/gdb.compat/Makefile gdb.hp/gdb.defects/Makefile gdb.guile/Makefile gdb.linespec/Makefile gdb.mi/Makefile gdb.modula2/Makefile gdb.multi/Makefile gdb.objc/Makefile gdb.opencl/Makefile gdb.opt/Makefile gdb.pascal/Makefile gdb.pie/Makefile gdb.perf/Makefile gdb.python/Makefile gdb.reverse/Makefile gdb.stabs/Makefile gdb.threads/Makefile gdb.trace/Makefile gdb.xml/Makefile"
+-ac_config_files="$ac_config_files Makefile gdb.ada/Makefile gdb.arch/Makefile gdb.asm/Makefile gdb.base/Makefile gdb.btrace/Makefile gdb.cell/Makefile gdb.compile/Makefile gdb.cp/Makefile gdb.disasm/Makefile gdb.dwarf2/Makefile gdb.dlang/Makefile gdb.fortran/Makefile gdb.gdb/Makefile gdb.go/Makefile gdb.server/Makefile gdb.java/Makefile gdb.guile/Makefile gdb.linespec/Makefile gdb.mi/Makefile gdb.modula2/Makefile gdb.multi/Makefile gdb.objc/Makefile gdb.opencl/Makefile gdb.opt/Makefile gdb.pascal/Makefile gdb.perf/Makefile gdb.python/Makefile gdb.reverse/Makefile gdb.stabs/Makefile gdb.threads/Makefile gdb.trace/Makefile gdb.xml/Makefile"
++ac_config_files="$ac_config_files Makefile gdb.ada/Makefile gdb.arch/Makefile gdb.asm/Makefile gdb.base/Makefile gdb.btrace/Makefile gdb.cell/Makefile gdb.compile/Makefile gdb.cp/Makefile gdb.disasm/Makefile gdb.dwarf2/Makefile gdb.dlang/Makefile gdb.fortran/Makefile gdb.gdb/Makefile gdb.go/Makefile gdb.server/Makefile gdb.java/Makefile gdb.guile/Makefile gdb.linespec/Makefile gdb.mi/Makefile gdb.modula2/Makefile gdb.multi/Makefile gdb.objc/Makefile gdb.opencl/Makefile gdb.opt/Makefile gdb.pascal/Makefile gdb.perf/Makefile gdb.pie/Makefile gdb.python/Makefile gdb.reverse/Makefile gdb.stabs/Makefile gdb.threads/Makefile gdb.trace/Makefile gdb.xml/Makefile"
  
  cat >confcache <<\_ACEOF
  # This file is a shell script that caches the results of configure
-@@ -4190,6 +4190,7 @@ do
-     "gdb.opencl/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.opencl/Makefile" ;;
+@@ -4242,6 +4242,7 @@ do
      "gdb.opt/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.opt/Makefile" ;;
      "gdb.pascal/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.pascal/Makefile" ;;
-+    "gdb.pie/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.pie/Makefile" ;;
      "gdb.perf/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.perf/Makefile" ;;
++    "gdb.pie/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.pie/Makefile" ;;
      "gdb.python/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.python/Makefile" ;;
      "gdb.reverse/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.reverse/Makefile" ;;
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.pie/attach.c
+     "gdb.stabs/Makefile") CONFIG_FILES="$CONFIG_FILES gdb.stabs/Makefile" ;;
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.pie/attach.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.pie/attach.c	2015-01-01 17:00:43.169897773 +0100
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.pie/attach.c	2015-05-31 16:34:02.398969465 +0200
 @@ -0,0 +1,20 @@
 +/* This program is intended to be started outside of gdb, and then
 +   attached to by gdb.  Thus, it simply spins in a loop.  The loop
@@ -56,10 +55,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.pie/attach.c
 +    }
 +  return 0;
 +}
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.pie/attach2.c
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.pie/attach2.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.pie/attach2.c	2015-01-01 17:00:43.170897772 +0100
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.pie/attach2.c	2015-05-31 16:34:02.398969465 +0200
 @@ -0,0 +1,24 @@
 +/* This program is intended to be started outside of gdb, and then
 +   attached to by gdb.  Thus, it simply spins in a loop.  The loop
@@ -85,10 +84,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.pie/attach2.c
 +    }
 +  return (0);
 +}
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.pie/break.c
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.pie/break.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.pie/break.c	2015-01-01 17:00:43.170897772 +0100
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.pie/break.c	2015-05-31 16:34:02.399969472 +0200
 @@ -0,0 +1,146 @@
 +/* This testcase is part of GDB, the GNU debugger.
 +
@@ -236,10 +235,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.pie/break.c
 +    }
 +  return 0;
 +}
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.pie/break1.c
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.pie/break1.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.pie/break1.c	2015-01-01 17:00:43.170897772 +0100
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.pie/break1.c	2015-05-31 16:34:02.399969472 +0200
 @@ -0,0 +1,44 @@
 +/* This testcase is part of GDB, the GNU debugger.
 +
@@ -285,10 +284,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.pie/break1.c
 +void marker3 (a, b) char *a, *b; {}	/* set breakpoint 18 here */
 +void marker4 (d) long d; {}		/* set breakpoint 13 here */
 +#endif
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.pie/coremaker.c
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.pie/coremaker.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.pie/coremaker.c	2015-01-01 17:00:43.170897772 +0100
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.pie/coremaker.c	2015-05-31 16:34:02.399969472 +0200
 @@ -0,0 +1,142 @@
 +/* Copyright 1992, 1993, 1994, 1995, 1996, 1999
 +   Free Software Foundation, Inc.
@@ -432,10 +431,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.pie/coremaker.c
 +  return 0;
 +}
 +
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.pie/attach.exp
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.pie/attach.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.pie/attach.exp	2015-01-01 17:00:43.171897771 +0100
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.pie/attach.exp	2015-05-31 16:34:02.400969480 +0200
 @@ -0,0 +1,417 @@
 +#   Copyright 1997, 1999, 2002 Free Software Foundation, Inc.
 +
@@ -854,10 +853,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.pie/attach.exp
 +do_call_attach_tests
 +
 +return 0
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.pie/break.exp
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.pie/break.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.pie/break.exp	2015-01-01 17:00:43.172897771 +0100
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.pie/break.exp	2015-05-31 16:34:02.401969487 +0200
 @@ -0,0 +1,962 @@
 +#   Copyright 1988, 1990, 1991, 1992, 1994, 1995, 1996, 1997, 1998, 1999,
 +#   2000, 2002, 2003, 2004
@@ -1821,10 +1820,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.pie/break.exp
 +    send_gdb "set args main\n"
 +    gdb_expect -re ".*$gdb_prompt $" {}
 +}
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.pie/corefile.exp
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.pie/corefile.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.pie/corefile.exp	2015-01-01 17:00:43.172897771 +0100
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.pie/corefile.exp	2015-05-31 16:34:02.401969487 +0200
 @@ -0,0 +1,233 @@
 +# Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
 +# Free Software Foundation, Inc.
@@ -2059,10 +2058,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.pie/corefile.exp
 +gdb_test "up" "#\[0-9\]* *\[0-9xa-fH'\]* in .* \\(.*\\).*" "up in corefile.exp (reinit)"
 +
 +gdb_test "core" "No core file now."
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.pie/Makefile.in
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.pie/Makefile.in
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.pie/Makefile.in	2015-01-01 17:00:43.172897771 +0100
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.pie/Makefile.in	2015-05-31 16:34:02.401969487 +0200
 @@ -0,0 +1,19 @@
 +VPATH = @srcdir@
 +srcdir = @srcdir@

diff --git a/gdb-6.5-bz190810-gdbserver-arch-advice.patch b/gdb-6.5-bz190810-gdbserver-arch-advice.patch
deleted file mode 100644
index c702327..0000000
--- a/gdb-6.5-bz190810-gdbserver-arch-advice.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=190810
-
-
-2006-09-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
-
-	* remote.c (remote_wait): Suggestion on crash due to nonmatching target.
-	(remote_async_wait): Likewise.
-
-
-Index: gdb-6.8.50.20090818/gdb/remote.c
-===================================================================
---- gdb-6.8.50.20090818.orig/gdb/remote.c	2009-08-18 21:00:35.000000000 +0200
-+++ gdb-6.8.50.20090818/gdb/remote.c	2009-08-18 21:04:46.000000000 +0200
-@@ -4408,8 +4408,13 @@ Packet: '%s'\n"),
- 	      VEC_safe_push (cached_reg_t, event->regcache, &cached_reg);
- 	    }
- 
-+	  /* It may also occur on amd64 which defaults to 32-bit i386
-+	     target.  gdbserver(1) is not aware of the `set architecture'
-+	     name itself as it is not using libbfd.  */
- 	  if (*p != ';')
--	    error (_("Remote register badly formatted: %s\nhere: %s"),
-+	    error (_("Remote register badly formatted: %s\nhere: %s"
-+		     "\nTry to load the executable by `file' first,"
-+		     "\nyou may also check `set/show architecture'."),
- 		   buf, p);
- 	  ++p;
- 	}

diff --git a/gdb-6.6-buildid-locate-core-as-arg.patch b/gdb-6.6-buildid-locate-core-as-arg.patch
index c98e686..523b7e0 100644
--- a/gdb-6.6-buildid-locate-core-as-arg.patch
+++ b/gdb-6.6-buildid-locate-core-as-arg.patch
@@ -58,10 +58,10 @@ Http://sourceware.org/ml/gdb-patches/2010-01/msg00517.html
 	* exec.c (exec_file_attach): Print a more useful error message if the
 	user did "gdb core".
 
-Index: gdb-7.8.50.20141228/gdb/exec.c
+Index: gdb-7.9.50.20150531/gdb/exec.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/exec.c	2015-01-03 23:18:38.097427908 +0100
-+++ gdb-7.8.50.20141228/gdb/exec.c	2015-01-03 23:19:02.448556391 +0100
+--- gdb-7.9.50.20150531.orig/gdb/exec.c	2015-05-31 03:48:29.000000000 +0200
++++ gdb-7.9.50.20150531/gdb/exec.c	2015-05-31 20:07:35.092878685 +0200
 @@ -35,6 +35,7 @@
  #include "progspace.h"
  #include "gdb_bfd.h"
@@ -70,7 +70,7 @@ Index: gdb-7.8.50.20141228/gdb/exec.c
  
  #include <fcntl.h>
  #include "readline/readline.h"
-@@ -222,12 +223,27 @@ exec_file_attach (const char *filename,
+@@ -298,12 +299,27 @@ exec_file_attach (const char *filename,
  
        if (!bfd_check_format_matches (exec_bfd, bfd_object, &matching))
  	{
@@ -101,11 +101,11 @@ Index: gdb-7.8.50.20141228/gdb/exec.c
  	}
  
        if (build_section_table (exec_bfd, &sections, &sections_end))
-Index: gdb-7.8.50.20141228/gdb/main.c
+Index: gdb-7.9.50.20150531/gdb/main.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/main.c	2015-01-03 23:18:38.098427913 +0100
-+++ gdb-7.8.50.20141228/gdb/main.c	2015-01-03 23:22:10.157546792 +0100
-@@ -426,6 +426,36 @@ typedef struct cmdarg {
+--- gdb-7.9.50.20150531.orig/gdb/main.c	2015-05-31 20:07:34.183872824 +0200
++++ gdb-7.9.50.20150531/gdb/main.c	2015-05-31 20:10:05.095845935 +0200
+@@ -435,6 +435,37 @@ typedef struct cmdarg {
  /* Define type VEC (cmdarg_s).  */
  DEF_VEC_O (cmdarg_s);
  
@@ -120,11 +120,11 @@ Index: gdb-7.8.50.20141228/gdb/main.c
 +
 +  gdb_assert (exec_bfd == NULL);
 +
-+  TRY_CATCH (e, RETURN_MASK_ALL)
++  TRY
 +    {
 +      exec_file_attach (filename, from_tty);
 +    }
-+  if (e.reason < 0)
++  CATCH (e, RETURN_MASK_ALL)
 +    {
 +      if (e.error == IS_CORE_ERROR)
 +	{
@@ -137,12 +137,13 @@ Index: gdb-7.8.50.20141228/gdb/main.c
 +	}
 +      throw_exception (e);
 +    }
++  END_CATCH
 +}
 +
  static int
  captured_main (void *data)
  {
-@@ -910,6 +940,8 @@ captured_main (void *data)
+@@ -923,6 +954,8 @@ captured_main (void *data)
  	{
  	  symarg = argv[optind];
  	  execarg = argv[optind];
@@ -151,7 +152,7 @@ Index: gdb-7.8.50.20141228/gdb/main.c
  	  optind++;
  	}
  
-@@ -1069,11 +1101,26 @@ captured_main (void *data)
+@@ -1080,11 +1113,25 @@ captured_main (void *data)
        && symarg != NULL
        && strcmp (execarg, symarg) == 0)
      {
@@ -171,23 +172,22 @@ Index: gdb-7.8.50.20141228/gdb/main.c
           open it, better only print one error message.
 -         catch_command_errors returns non-zero on success!  */
 -      if (catch_command_errors_const (exec_file_attach, execarg,
--				      !batch_flag, RETURN_MASK_ALL))
+-				      !batch_flag))
 +         catch_command_errors returns non-zero on success!
 +	 Do not load EXECARG as a symbol file if it has been already processed
 +	 as a core file.  */
-+      if (catch_command_errors_const (func, execarg, !batch_flag,
-+				      RETURN_MASK_ALL)
++      if (catch_command_errors_const (func, execarg, !batch_flag)
 +	  && core_bfd == NULL)
  	catch_command_errors_const (symbol_file_add_main, symarg,
- 				    !batch_flag, RETURN_MASK_ALL);
+ 				    !batch_flag);
      }
-Index: gdb-7.8.50.20141228/gdb/common/common-exceptions.h
+Index: gdb-7.9.50.20150531/gdb/common/common-exceptions.h
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/common/common-exceptions.h	2015-01-03 23:18:38.097427908 +0100
-+++ gdb-7.8.50.20141228/gdb/common/common-exceptions.h	2015-01-03 23:19:02.449556396 +0100
-@@ -99,6 +99,9 @@ enum errors {
-   /* Requested feature, method, mechanism, etc. is not supported.  */
-   NOT_SUPPORTED_ERROR,
+--- gdb-7.9.50.20150531.orig/gdb/common/common-exceptions.h	2015-05-31 03:48:29.000000000 +0200
++++ gdb-7.9.50.20150531/gdb/common/common-exceptions.h	2015-05-31 20:07:35.093878692 +0200
+@@ -105,6 +105,9 @@ enum errors {
+      "_ERROR" is appended to the name.  */
+   MAX_COMPLETIONS_REACHED_ERROR,
  
 +  /* Attempt to load a core file as executable.  */
 +  IS_CORE_ERROR,

diff --git a/gdb-6.6-buildid-locate-solib-missing-ids.patch b/gdb-6.6-buildid-locate-solib-missing-ids.patch
index 9ad7fcb..5d314e0 100644
--- a/gdb-6.6-buildid-locate-solib-missing-ids.patch
+++ b/gdb-6.6-buildid-locate-solib-missing-ids.patch
@@ -9,12 +9,12 @@ Index: gdb-7.5.50.20130310/gdb/solib-svr4.c
 -	struct elf_build_id *build_id;
 +	struct elf_build_id *build_id = NULL;
  
- 	strncpy (new->so_original_name, buffer, SO_NAME_MAX_PATH_SIZE - 1);
- 	new->so_original_name[SO_NAME_MAX_PATH_SIZE - 1] = '\0';
+ 	strncpy (newobj->so_original_name, buffer, SO_NAME_MAX_PATH_SIZE - 1);
+ 	newobj->so_original_name[SO_NAME_MAX_PATH_SIZE - 1] = '\0';
  	/* May get overwritten below.  */
- 	strcpy (new->so_name, new->so_original_name);
+ 	strcpy (newobj->so_name, newobj->so_original_name);
  
--	build_id = build_id_addr_get (new->lm_info->l_ld);
+-	build_id = build_id_addr_get (newobj->lm_info->l_ld);
 +	/* In the case the main executable was found according to its build-id
 +	   (from a core file) prevent loading a different build of a library
 +	   with accidentally the same SO_NAME.
@@ -28,7 +28,7 @@ Index: gdb-7.5.50.20130310/gdb/solib-svr4.c
 +	   to the only existing file loaded that time - the executable.  */
 +	if (symfile_objfile != NULL
 +	    && (symfile_objfile->flags & OBJF_BUILD_ID_CORE_LOADED) != 0)
-+	  build_id = build_id_addr_get (new->lm_info->l_ld);
++	  build_id = build_id_addr_get (newobj->lm_info->l_ld);
  	if (build_id != NULL)
  	  {
  	    char *name, *build_id_filename;
@@ -37,7 +37,7 @@ Index: gdb-7.5.50.20130310/gdb/solib-svr4.c
  	      }
  	    else
 -	      {
--		debug_print_missing (new->so_name, build_id_filename);
+-		debug_print_missing (newobj->so_name, build_id_filename);
 -
 -		/* In the case the main executable was found according to
 -		   its build-id (from a core file) prevent loading
@@ -51,9 +51,9 @@ Index: gdb-7.5.50.20130310/gdb/solib-svr4.c
 -		if (symfile_objfile != NULL
 -		    && (symfile_objfile->flags
 -			& OBJF_BUILD_ID_CORE_LOADED) != 0)
--		  new->so_name[0] = 0;
+-		  newobj->so_name[0] = 0;
 -	      }
-+	      debug_print_missing (new->so_name, build_id_filename);
++	      debug_print_missing (newobj->so_name, build_id_filename);
  
  	    xfree (build_id_filename);
  	    xfree (build_id);

diff --git a/gdb-6.6-buildid-locate.patch b/gdb-6.6-buildid-locate.patch
index 71de4d0..e928ed0 100644
--- a/gdb-6.6-buildid-locate.patch
+++ b/gdb-6.6-buildid-locate.patch
@@ -1,7 +1,7 @@
-Index: gdb-7.8.50.20141228/gdb/corelow.c
+Index: gdb-7.9.50.20150520/gdb/corelow.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/corelow.c	2015-01-03 23:11:54.018270090 +0100
-+++ gdb-7.8.50.20141228/gdb/corelow.c	2015-01-03 23:12:08.691349454 +0100
+--- gdb-7.9.50.20150520.orig/gdb/corelow.c	2015-05-31 16:38:55.123112227 +0200
++++ gdb-7.9.50.20150520/gdb/corelow.c	2015-05-31 16:38:57.601130366 +0200
 @@ -45,6 +45,10 @@
  #include "gdb_bfd.h"
  #include "completer.h"
@@ -67,7 +67,7 @@ Index: gdb-7.8.50.20141228/gdb/corelow.c
  /* This routine opens and sets up the core file bfd.  */
  
  static void
-@@ -405,6 +456,14 @@ core_open (const char *arg, int from_tty
+@@ -404,6 +455,14 @@ core_open (const char *arg, int from_tty
  	switch_to_thread (thread->ptid);
      }
  
@@ -82,7 +82,7 @@ Index: gdb-7.8.50.20141228/gdb/corelow.c
    post_create_inferior (&core_ops, from_tty);
  
    /* Now go through the target stack looking for threads since there
-@@ -1035,4 +1094,11 @@ _initialize_corelow (void)
+@@ -1058,4 +1117,11 @@ _initialize_corelow (void)
    init_core_ops ();
  
    add_target_with_completer (&core_ops, filename_completer);
@@ -94,11 +94,11 @@ Index: gdb-7.8.50.20141228/gdb/corelow.c
 +			   NULL, NULL, NULL,
 +			   &setlist, &showlist);
  }
-Index: gdb-7.8.50.20141228/gdb/doc/gdb.texinfo
+Index: gdb-7.9.50.20150520/gdb/doc/gdb.texinfo
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/doc/gdb.texinfo	2015-01-03 23:11:54.018270090 +0100
-+++ gdb-7.8.50.20141228/gdb/doc/gdb.texinfo	2015-01-03 23:12:08.701349509 +0100
-@@ -17930,6 +17930,27 @@ information files.
+--- gdb-7.9.50.20150520.orig/gdb/doc/gdb.texinfo	2015-05-31 16:38:55.137112330 +0200
++++ gdb-7.9.50.20150520/gdb/doc/gdb.texinfo	2015-05-31 16:38:57.612130447 +0200
+@@ -18254,6 +18254,27 @@ information files.
  
  @end table
  
@@ -126,10 +126,10 @@ Index: gdb-7.8.50.20141228/gdb/doc/gdb.texinfo
  @cindex @code{.gnu_debuglink} sections
  @cindex debug link sections
  A debug link is a special section of the executable file named
-Index: gdb-7.8.50.20141228/gdb/solib-svr4.c
+Index: gdb-7.9.50.20150520/gdb/solib-svr4.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/solib-svr4.c	2015-01-03 23:11:54.018270090 +0100
-+++ gdb-7.8.50.20141228/gdb/solib-svr4.c	2015-01-03 23:12:08.702349514 +0100
+--- gdb-7.9.50.20150520.orig/gdb/solib-svr4.c	2015-05-31 16:38:55.142112366 +0200
++++ gdb-7.9.50.20150520/gdb/solib-svr4.c	2015-05-31 16:40:33.593819702 +0200
 @@ -45,6 +45,7 @@
  #include "auxv.h"
  #include "gdb_bfd.h"
@@ -138,22 +138,22 @@ Index: gdb-7.8.50.20141228/gdb/solib-svr4.c
  
  static struct link_map_offsets *svr4_fetch_link_map_offsets (void);
  static int svr4_have_link_map_offsets (void);
-@@ -1366,9 +1367,52 @@ svr4_read_so_list (CORE_ADDR lm, CORE_AD
+@@ -1379,9 +1380,52 @@ svr4_read_so_list (CORE_ADDR lm, CORE_AD
  	  continue;
  	}
  
--      strncpy (new->so_name, buffer, SO_NAME_MAX_PATH_SIZE - 1);
--      new->so_name[SO_NAME_MAX_PATH_SIZE - 1] = '\0';
--      strcpy (new->so_original_name, new->so_name);
+-      strncpy (newobj->so_name, buffer, SO_NAME_MAX_PATH_SIZE - 1);
+-      newobj->so_name[SO_NAME_MAX_PATH_SIZE - 1] = '\0';
+-      strcpy (newobj->so_original_name, newobj->so_name);
 +      {
 +	struct elf_build_id *build_id;
 +
-+	strncpy (new->so_original_name, buffer, SO_NAME_MAX_PATH_SIZE - 1);
-+	new->so_original_name[SO_NAME_MAX_PATH_SIZE - 1] = '\0';
++	strncpy (newobj->so_original_name, buffer, SO_NAME_MAX_PATH_SIZE - 1);
++	newobj->so_original_name[SO_NAME_MAX_PATH_SIZE - 1] = '\0';
 +	/* May get overwritten below.  */
-+	strcpy (new->so_name, new->so_original_name);
++	strcpy (newobj->so_name, newobj->so_original_name);
 +
-+	build_id = build_id_addr_get (new->lm_info->l_ld);
++	build_id = build_id_addr_get (newobj->lm_info->l_ld);
 +	if (build_id != NULL)
 +	  {
 +	    char *name, *build_id_filename;
@@ -163,13 +163,13 @@ Index: gdb-7.8.50.20141228/gdb/solib-svr4.c
 +	    name = build_id_to_filename (build_id, &build_id_filename);
 +	    if (name != NULL)
 +	      {
-+		strncpy (new->so_name, name, SO_NAME_MAX_PATH_SIZE - 1);
-+		new->so_name[SO_NAME_MAX_PATH_SIZE - 1] = '\0';
++		strncpy (newobj->so_name, name, SO_NAME_MAX_PATH_SIZE - 1);
++		newobj->so_name[SO_NAME_MAX_PATH_SIZE - 1] = '\0';
 +		xfree (name);
 +	      }
 +	    else
 +	      {
-+		debug_print_missing (new->so_name, build_id_filename);
++		debug_print_missing (newobj->so_name, build_id_filename);
 +
 +		/* In the case the main executable was found according to
 +		   its build-id (from a core file) prevent loading
@@ -183,7 +183,7 @@ Index: gdb-7.8.50.20141228/gdb/solib-svr4.c
 +		if (symfile_objfile != NULL
 +		    && (symfile_objfile->flags
 +			& OBJF_BUILD_ID_CORE_LOADED) != 0)
-+		  new->so_name[0] = 0;
++		  newobj->so_name[0] = 0;
 +	      }
 +
 +	    xfree (build_id_filename);
@@ -194,11 +194,11 @@ Index: gdb-7.8.50.20141228/gdb/solib-svr4.c
        xfree (buffer);
  
        /* If this entry has no name, or its name matches the name
-Index: gdb-7.8.50.20141228/gdb/elfread.c
+Index: gdb-7.9.50.20150520/gdb/elfread.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/elfread.c	2015-01-03 23:11:54.018270090 +0100
-+++ gdb-7.8.50.20141228/gdb/elfread.c	2015-01-03 23:12:08.703349519 +0100
-@@ -1339,9 +1339,10 @@ elf_symfile_read (struct objfile *objfil
+--- gdb-7.9.50.20150520.orig/gdb/elfread.c	2015-05-31 16:38:55.143112374 +0200
++++ gdb-7.9.50.20150520/gdb/elfread.c	2015-05-31 16:38:57.614130462 +0200
+@@ -1341,9 +1341,10 @@ elf_symfile_read (struct objfile *objfil
  	   && objfile->separate_debug_objfile == NULL
  	   && objfile->separate_debug_objfile_backlink == NULL)
      {
@@ -211,7 +211,7 @@ Index: gdb-7.8.50.20141228/gdb/elfread.c
  
        if (debugfile == NULL)
  	debugfile = find_separate_debug_file_by_debuglink (objfile);
-@@ -1355,6 +1356,12 @@ elf_symfile_read (struct objfile *objfil
+@@ -1357,6 +1358,12 @@ elf_symfile_read (struct objfile *objfil
  	  symbol_file_add_separate (abfd, debugfile, symfile_flags, objfile);
  	  do_cleanups (cleanup);
  	}
@@ -224,11 +224,11 @@ Index: gdb-7.8.50.20141228/gdb/elfread.c
      }
  }
  
-Index: gdb-7.8.50.20141228/gdb/symfile.h
+Index: gdb-7.9.50.20150520/gdb/symfile.h
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/symfile.h	2015-01-03 23:11:54.018270090 +0100
-+++ gdb-7.8.50.20141228/gdb/symfile.h	2015-01-03 23:12:08.703349519 +0100
-@@ -574,6 +574,10 @@ void expand_symtabs_matching (expand_sym
+--- gdb-7.9.50.20150520.orig/gdb/symfile.h	2015-05-31 16:38:55.143112374 +0200
++++ gdb-7.9.50.20150520/gdb/symfile.h	2015-05-31 16:38:57.614130462 +0200
+@@ -584,6 +584,10 @@ void expand_symtabs_matching (expand_sym
  void map_symbol_filenames (symbol_filename_ftype *fun, void *data,
  			   int need_fullname);
  
@@ -239,11 +239,11 @@ Index: gdb-7.8.50.20141228/gdb/symfile.h
  /* From dwarf2read.c */
  
  /* Names for a dwarf2 debugging section.  The field NORMAL is the normal
-Index: gdb-7.8.50.20141228/gdb/testsuite/lib/gdb.exp
+Index: gdb-7.9.50.20150520/gdb/testsuite/lib/gdb.exp
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/testsuite/lib/gdb.exp	2015-01-03 23:11:54.018270090 +0100
-+++ gdb-7.8.50.20141228/gdb/testsuite/lib/gdb.exp	2015-01-03 23:12:08.704349525 +0100
-@@ -1522,6 +1522,16 @@ proc default_gdb_start { } {
+--- gdb-7.9.50.20150520.orig/gdb/testsuite/lib/gdb.exp	2015-05-31 16:38:55.145112388 +0200
++++ gdb-7.9.50.20150520/gdb/testsuite/lib/gdb.exp	2015-05-31 16:38:57.615130469 +0200
+@@ -1573,6 +1573,16 @@ proc default_gdb_start { } {
  	    warning "Couldn't set the width to 0."
  	}
      }
@@ -260,10 +260,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/lib/gdb.exp
      return 0
  }
  
-Index: gdb-7.8.50.20141228/gdb/testsuite/lib/mi-support.exp
+Index: gdb-7.9.50.20150520/gdb/testsuite/lib/mi-support.exp
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/testsuite/lib/mi-support.exp	2015-01-03 23:11:54.018270090 +0100
-+++ gdb-7.8.50.20141228/gdb/testsuite/lib/mi-support.exp	2015-01-03 23:12:08.705349530 +0100
+--- gdb-7.9.50.20150520.orig/gdb/testsuite/lib/mi-support.exp	2015-05-31 16:38:55.146112396 +0200
++++ gdb-7.9.50.20150520/gdb/testsuite/lib/mi-support.exp	2015-05-31 16:38:57.616130476 +0200
 @@ -214,6 +214,16 @@ proc default_mi_gdb_start { args } {
  	    warning "Couldn't set the width to 0."
  	}
@@ -281,10 +281,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/lib/mi-support.exp
      # If allowing the inferior to have its own PTY then assign the inferior
      # its own terminal device here.
      if { $separate_inferior_pty } {
-Index: gdb-7.8.50.20141228/gdb/objfiles.h
+Index: gdb-7.9.50.20150520/gdb/objfiles.h
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/objfiles.h	2015-01-03 23:11:54.018270090 +0100
-+++ gdb-7.8.50.20141228/gdb/objfiles.h	2015-01-03 23:12:08.705349530 +0100
+--- gdb-7.9.50.20150520.orig/gdb/objfiles.h	2015-05-31 16:38:55.147112403 +0200
++++ gdb-7.9.50.20150520/gdb/objfiles.h	2015-05-31 16:38:57.616130476 +0200
 @@ -459,6 +459,10 @@ struct objfile
  
  #define OBJF_NOT_FILENAME (1 << 6)
@@ -296,10 +296,10 @@ Index: gdb-7.8.50.20141228/gdb/objfiles.h
  /* Declarations for functions defined in objfiles.c */
  
  extern struct objfile *allocate_objfile (bfd *, const char *name, int);
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.base/corefile.exp
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.base/corefile.exp
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/testsuite/gdb.base/corefile.exp	2015-01-03 23:11:54.018270090 +0100
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.base/corefile.exp	2015-01-03 23:12:08.705349530 +0100
+--- gdb-7.9.50.20150520.orig/gdb/testsuite/gdb.base/corefile.exp	2015-05-31 16:38:55.147112403 +0200
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.base/corefile.exp	2015-05-31 16:38:57.616130476 +0200
 @@ -293,3 +293,33 @@ gdb_test_multiple "core-file $corefile"
  	pass $test
      }
@@ -334,14 +334,14 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.base/corefile.exp
 +    gdb_test "info files" "Local exec file:\r\n\[ \t\]*`[string_to_regexp $debugdir/$buildid]', file type .*"
 +    pass $wholetest
 +}
-Index: gdb-7.8.50.20141228/gdb/build-id.c
+Index: gdb-7.9.50.20150520/gdb/build-id.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/build-id.c	2015-01-03 23:11:54.018270090 +0100
-+++ gdb-7.8.50.20141228/gdb/build-id.c	2015-01-03 23:12:40.792523085 +0100
-@@ -26,11 +26,64 @@
- #include "symfile.h"
+--- gdb-7.9.50.20150520.orig/gdb/build-id.c	2015-05-31 16:38:55.148112410 +0200
++++ gdb-7.9.50.20150520/gdb/build-id.c	2015-05-31 16:45:35.025722142 +0200
+@@ -27,11 +27,63 @@
  #include "objfiles.h"
  #include "filenames.h"
+ #include "gdbcore.h"
 +#include "libbfd.h"
 +#include "gdbcore.h"
 +#include "gdbcmd.h"
@@ -359,8 +359,6 @@ Index: gdb-7.8.50.20141228/gdb/build-id.c
 +  fprintf_filtered (file, _("Verbosity level of the build-id locator is %s.\n"),
 +		    value);
 +}
- 
--/* See build-id.h.  */
 +/* Locate NT_GNU_BUILD_ID and return its matching debug filename.
 +   FIXME: NOTE decoding should be unified with the BFD core notes decoding.  */
 +
@@ -389,23 +387,23 @@ Index: gdb-7.8.50.20141228/gdb/build-id.c
 +	  retval = xmalloc (sizeof *retval - 1 + size);
 +	  retval->size = size;
 +	  memcpy (retval->data, data, size);
- 
++
 +	  return retval;
 +	}
 +      p = descdata + BFD_ALIGN (descsz, 4);
 +    }
 +  return NULL;
 +}
-+
-+/* See build-id.h.  */
-+ 
+ 
+ /* See build-id.h.  */
+ 
  const struct elf_build_id *
 -build_id_bfd_get (bfd *abfd)
 +build_id_bfd_shdr_get (bfd *abfd)
  {
    if (!bfd_check_format (abfd, bfd_object)
        || bfd_get_flavour (abfd) != bfd_target_elf_flavour
-@@ -44,6 +97,348 @@ build_id_bfd_get (bfd *abfd)
+@@ -45,6 +97,348 @@ build_id_bfd_get (bfd *abfd)
    return elf_tdata (abfd)->build_id;
  }
  
@@ -754,7 +752,7 @@ Index: gdb-7.8.50.20141228/gdb/build-id.c
  /* See build-id.h.  */
  
  int
-@@ -52,7 +447,7 @@ build_id_verify (bfd *abfd, size_t check
+@@ -53,7 +447,7 @@ build_id_verify (bfd *abfd, size_t check
    const struct elf_build_id *found;
    int retval = 0;
  
@@ -763,7 +761,7 @@ Index: gdb-7.8.50.20141228/gdb/build-id.c
  
    if (found == NULL)
      warning (_("File \"%s\" has no build-id, file skipped"),
-@@ -67,20 +462,56 @@ build_id_verify (bfd *abfd, size_t check
+@@ -68,20 +462,56 @@ build_id_verify (bfd *abfd, size_t check
    return retval;
  }
  
@@ -824,7 +822,7 @@ Index: gdb-7.8.50.20141228/gdb/build-id.c
  
    /* Keep backward compatibility so that DEBUG_FILE_DIRECTORY being "" will
       cause "/.build-id/..." lookups.  */
-@@ -93,8 +524,11 @@ build_id_to_debug_bfd (size_t build_id_l
+@@ -94,8 +524,11 @@ build_id_to_debug_bfd (size_t build_id_l
        size_t debugdir_len = strlen (debugdir);
        const gdb_byte *data = build_id;
        size_t size = build_id_len;
@@ -837,7 +835,7 @@ Index: gdb-7.8.50.20141228/gdb/build-id.c
  
        memcpy (link, debugdir, debugdir_len);
        s = &link[debugdir_len];
-@@ -108,44 +542,282 @@ build_id_to_debug_bfd (size_t build_id_l
+@@ -109,44 +542,282 @@ build_id_to_debug_bfd (size_t build_id_l
  	*s++ = '/';
        while (size-- > 0)
  	s += sprintf (s, "%02x", (unsigned) *data++);
@@ -884,7 +882,7 @@ Index: gdb-7.8.50.20141228/gdb/build-id.c
 +	    continue;
 +
 +	  /* We expect to be silent on the non-existing files.  */
-+	  abfd = gdb_bfd_open_maybe_remote (filename);
++	  abfd = gdb_bfd_open (filename, gnutarget, -1);
 +	  if (abfd == NULL)
 +	    {
 +	      xfree (filename);
@@ -897,7 +895,7 @@ Index: gdb-7.8.50.20141228/gdb/build-id.c
 +	    break;
  
 -      /* We expect to be silent on the non-existing files.  */
--      abfd = gdb_bfd_open_maybe_remote (filename);
+-      abfd = gdb_bfd_open (filename, gnutarget, -1);
 -      if (abfd == NULL)
 -	continue;
 +	  gdb_bfd_unref (abfd);
@@ -1137,7 +1135,7 @@ Index: gdb-7.8.50.20141228/gdb/build-id.c
        /* Prevent looping on a stripped .debug file.  */
        if (abfd != NULL
  	  && filename_cmp (bfd_get_filename (abfd),
-@@ -165,3 +837,21 @@ find_separate_debug_file_by_buildid (str
+@@ -166,3 +837,21 @@ find_separate_debug_file_by_buildid (str
      }
    return NULL;
  }
@@ -1159,10 +1157,10 @@ Index: gdb-7.8.50.20141228/gdb/build-id.c
 +
 +  observer_attach_executable_changed (debug_print_executable_changed);
 +}
-Index: gdb-7.8.50.20141228/gdb/build-id.h
+Index: gdb-7.9.50.20150520/gdb/build-id.h
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/build-id.h	2015-01-03 23:11:54.018270090 +0100
-+++ gdb-7.8.50.20141228/gdb/build-id.h	2015-01-03 23:12:08.706349536 +0100
+--- gdb-7.9.50.20150520.orig/gdb/build-id.h	2015-05-31 16:38:55.149112418 +0200
++++ gdb-7.9.50.20150520/gdb/build-id.h	2015-05-31 16:38:57.618130491 +0200
 @@ -20,9 +20,10 @@
  #ifndef BUILD_ID_H
  #define BUILD_ID_H
@@ -1197,11 +1195,11 @@ Index: gdb-7.8.50.20141228/gdb/build-id.h
 +					       char **build_id_filename_return);
  
  #endif /* BUILD_ID_H */
-Index: gdb-7.8.50.20141228/gdb/dwarf2read.c
+Index: gdb-7.9.50.20150520/gdb/dwarf2read.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/dwarf2read.c	2015-01-03 23:11:54.018270090 +0100
-+++ gdb-7.8.50.20141228/gdb/dwarf2read.c	2015-01-03 23:12:08.711349563 +0100
-@@ -2443,7 +2443,7 @@ dwarf2_get_dwz_file (void)
+--- gdb-7.9.50.20150520.orig/gdb/dwarf2read.c	2015-05-31 16:38:55.156112469 +0200
++++ gdb-7.9.50.20150520/gdb/dwarf2read.c	2015-05-31 16:38:57.623130528 +0200
+@@ -2504,7 +2504,7 @@ dwarf2_get_dwz_file (void)
      }
  
    if (dwz_bfd == NULL)
@@ -1210,20 +1208,20 @@ Index: gdb-7.8.50.20141228/gdb/dwarf2read.c
  
    if (dwz_bfd == NULL)
      error (_("could not find '.gnu_debugaltlink' file for %s"),
-Index: gdb-7.8.50.20141228/gdb/python/py-objfile.c
+Index: gdb-7.9.50.20150520/gdb/python/py-objfile.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/python/py-objfile.c	2015-01-03 23:11:54.018270090 +0100
-+++ gdb-7.8.50.20141228/gdb/python/py-objfile.c	2015-01-03 23:12:08.712349568 +0100
-@@ -118,7 +118,7 @@ objfpy_get_build_id (PyObject *self, voi
+--- gdb-7.9.50.20150520.orig/gdb/python/py-objfile.c	2015-05-31 16:38:55.157112476 +0200
++++ gdb-7.9.50.20150520/gdb/python/py-objfile.c	2015-05-31 16:38:57.623130528 +0200
+@@ -140,7 +140,7 @@ objfpy_get_build_id (PyObject *self, voi
  
-   TRY_CATCH (except, RETURN_MASK_ALL)
+   TRY
      {
 -      build_id = build_id_bfd_get (objfile->obfd);
 +      build_id = build_id_bfd_shdr_get (objfile->obfd);
      }
-   GDB_PY_HANDLE_EXCEPTION (except);
- 
-@@ -467,7 +467,7 @@ objfpy_lookup_objfile_by_build_id (const
+   CATCH (except, RETURN_MASK_ALL)
+     {
+@@ -549,7 +549,7 @@ objfpy_lookup_objfile_by_build_id (const
        /* Don't return separate debug files.  */
        if (objfile->separate_debug_objfile_backlink != NULL)
  	continue;

diff --git a/gdb-6.6-bz235197-fork-detach-info.patch b/gdb-6.6-bz235197-fork-detach-info.patch
index 8df2924..26c928d 100644
--- a/gdb-6.6-bz235197-fork-detach-info.patch
+++ b/gdb-6.6-bz235197-fork-detach-info.patch
@@ -3,10 +3,10 @@
 	Port to GDB-6.8pre.
 	Remove the `[' character from the GDB-6.8 default message.
 
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.base/fork-detach.c
+Index: gdb-7.9.50.20150531/gdb/testsuite/gdb.base/fork-detach.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.base/fork-detach.c	2015-01-06 19:31:40.703988534 +0100
++++ gdb-7.9.50.20150531/gdb/testsuite/gdb.base/fork-detach.c	2015-05-31 18:23:49.008450716 +0200
 @@ -0,0 +1,57 @@
 +/* This testcase is part of GDB, the GNU debugger.
 +
@@ -65,10 +65,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.base/fork-detach.c
 +    }
 +  return 0;
 +}
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.base/fork-detach.exp
+Index: gdb-7.9.50.20150531/gdb/testsuite/gdb.base/fork-detach.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.base/fork-detach.exp	2015-01-06 19:31:40.704988538 +0100
++++ gdb-7.9.50.20150531/gdb/testsuite/gdb.base/fork-detach.exp	2015-05-31 18:23:49.008450716 +0200
 @@ -0,0 +1,36 @@
 +# Copyright 2007 Free Software Foundation, Inc.
 +
@@ -106,16 +106,16 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.base/fork-detach.exp
 +gdb_test "" \
 +         "Detaching after fork from child process.*\\\[Inferior .* exited normally\\\]" \
 +         "Info message caught"
-Index: gdb-7.8.50.20141228/gdb/infrun.c
+Index: gdb-7.9.50.20150531/gdb/infrun.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/infrun.c	2015-01-06 19:31:40.262986644 +0100
-+++ gdb-7.8.50.20141228/gdb/infrun.c	2015-01-06 19:43:54.865219096 +0100
-@@ -456,7 +456,7 @@ holding the child stopped.  Try \"set de
+--- gdb-7.9.50.20150531.orig/gdb/infrun.c	2015-05-31 18:23:41.703405617 +0200
++++ gdb-7.9.50.20150531/gdb/infrun.c	2015-05-31 18:23:49.011450735 +0200
+@@ -443,7 +443,7 @@ holding the child stopped.  Try \"set de
  	      remove_breakpoints_pid (ptid_get_pid (inferior_ptid));
  	    }
  
 -	  if (info_verbose || debug_infrun)
 +	  if (1 /* Fedora Bug 235197 */ || info_verbose || debug_infrun)
  	    {
- 	      target_terminal_ours_for_output ();
- 	      fprintf_filtered (gdb_stdlog,
+ 	      /* Ensure that we have a process ptid.  */
+ 	      ptid_t process_ptid = pid_to_ptid (ptid_get_pid (child_ptid));

diff --git a/gdb-6.6-scheduler_locking-step-sw-watchpoints2.patch b/gdb-6.6-scheduler_locking-step-sw-watchpoints2.patch
deleted file mode 100644
index 023a7ff..0000000
--- a/gdb-6.6-scheduler_locking-step-sw-watchpoints2.patch
+++ /dev/null
@@ -1,217 +0,0 @@
-2007-06-25  Jan Kratochvil  <jan.kratochvil@redhat.com>
-
-	* inferior.h (enum resume_step): New definition.
-	(resume): Change STEP parameter type to ENUM RESUME_STEP.
-	* infrun.c (resume): Likewise.  Extend debug printing of the STEP
-	parameter.  Lock the scheduler only for intentional stepping.
-	(proceed): Replace the variable ONESTEP with tristate RESUME_STEP.
-	Set the third RESUME_STEP state according to BPSTAT_SHOULD_STEP.
-	(currently_stepping): Change the return type to ENUM RESUME_STEP.
-	Return RESUME_STEP_NEEDED if it is just due to BPSTAT_SHOULD_STEP.
-	* linux-nat.c (select_singlestep_lwp_callback): Do not focus on
-	the software watchpoint events.
-	* linux-nat.h (struct lwp_info): Redeclare STEP as ENUM RESUME_STEP.
-
-2007-10-19  Jan Kratochvil  <jan.kratochvil@redhat.com>
-
-	* infrun.c (proceed): RESUME_STEP initialized for non-stepping.
-	RESUME_STEP set according to STEP only at the end of the function.
-
-2008-02-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
-
-	Port to GDB-6.8pre.
-
-Index: gdb-7.8.90.20150125/gdb/infrun.c
-===================================================================
---- 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);
- 
--static int currently_stepping (struct thread_info *tp);
-+static enum resume_step currently_stepping (struct thread_info *tp);
- 
- static void xdb_handle_command (char *args, int from_tty);
- 
-@@ -1998,7 +1998,7 @@ user_visible_resume_ptid (int step)
-       resume_ptid = inferior_ptid;
-     }
-   else if ((scheduler_mode == schedlock_on)
--	   || (scheduler_mode == schedlock_step && step))
-+	   || (scheduler_mode == schedlock_step && step == RESUME_STEP_USER))
-     {
-       /* User-settable 'scheduler' mode requires solo thread resume.  */
-       resume_ptid = inferior_ptid;
-@@ -2022,7 +2022,7 @@ user_visible_resume_ptid (int step)
-    STEP nonzero if we should step (zero to continue instead).
-    SIG is the signal to give the inferior (zero for none).  */
- void
--resume (int step, enum gdb_signal sig)
-+resume (enum resume_step step, enum gdb_signal sig)
- {
-   struct cleanup *old_cleanups = make_cleanup (resume_cleanups, 0);
-   struct regcache *regcache = get_current_regcache ();
-@@ -2064,9 +2064,13 @@ resume (int step, enum gdb_signal sig)
- 
-   if (debug_infrun)
-     fprintf_unfiltered (gdb_stdlog,
--			"infrun: resume (step=%d, signal=%s), "
-+			"infrun: resume (step=%s, signal=%s), "
- 			"trap_expected=%d, current thread [%s] at %s\n",
--			step, gdb_signal_to_symbol_string (sig),
-+			(step == RESUME_STEP_CONTINUE
-+			 ? "RESUME_STEP_CONTINUE"
-+			 : (step == RESUME_STEP_USER ? "RESUME_STEP_USER"
-+						     : "RESUME_STEP_NEEDED")),
-+			gdb_signal_to_symbol_string (sig),
- 			tp->control.trap_expected,
- 			target_pid_to_str (inferior_ptid),
- 			paddress (gdbarch, pc));
-@@ -2543,6 +2547,7 @@ proceed (CORE_ADDR addr, enum gdb_signal
-   struct thread_info *tp;
-   CORE_ADDR pc;
-   struct address_space *aspace;
-+  enum resume_step resume_step = RESUME_STEP_CONTINUE;
- 
-   /* If we're stopped at a fork/vfork, follow the branch set by the
-      "set follow-fork-mode" command; otherwise, we'll just proceed
-@@ -2586,13 +2591,19 @@ proceed (CORE_ADDR addr, enum gdb_signal
- 	   Note, we don't do this in reverse, because we won't
- 	   actually be executing the breakpoint insn anyway.
- 	   We'll be (un-)executing the previous instruction.  */
-+	{
- 	tp->stepping_over_breakpoint = 1;
-+	resume_step = RESUME_STEP_USER;
-+	}
-       else if (gdbarch_single_step_through_delay_p (gdbarch)
- 	       && gdbarch_single_step_through_delay (gdbarch,
- 						     get_current_frame ()))
- 	/* We stepped onto an instruction that needs to be stepped
- 	   again before re-inserting the breakpoint, do so.  */
-+	{
- 	tp->stepping_over_breakpoint = 1;
-+	resume_step = RESUME_STEP_USER;
-+	}
-     }
-   else
-     {
-@@ -2647,6 +2658,7 @@ proceed (CORE_ADDR addr, enum gdb_signal
- 	  tp->prev_pc = regcache_read_pc (get_current_regcache ());
- 	  switch_to_thread (step_over->ptid);
- 	  tp = step_over;
-+	  resume_step = RESUME_STEP_USER;
- 	}
-     }
- 
-@@ -2699,9 +2711,13 @@ proceed (CORE_ADDR addr, enum gdb_signal
-      correctly when the inferior is stopped.  */
-   tp->prev_pc = regcache_read_pc (get_current_regcache ());
- 
-+  if (tp->control.trap_expected || step)
-+    resume_step = RESUME_STEP_USER;
-+  if (resume_step == RESUME_STEP_CONTINUE && bpstat_should_step ())
-+    resume_step = RESUME_STEP_NEEDED;
-+
-   /* Resume inferior.  */
--  resume (tp->control.trap_expected || step || bpstat_should_step (),
--	  tp->suspend.stop_signal);
-+  resume (resume_step, tp->suspend.stop_signal);
- 
-   /* Wait for it to stop (if not standalone)
-      and in any case decode why it stopped, and act accordingly.  */
-@@ -5684,14 +5700,16 @@ switch_back_to_stepped_thread (struct ex
- 
- /* Is thread TP in the middle of single-stepping?  */
- 
--static int
-+static enum resume_step
- currently_stepping (struct thread_info *tp)
- {
--  return ((tp->control.step_range_end
-+  if     ((tp->control.step_range_end
- 	   && tp->control.step_resume_breakpoint == NULL)
--	  || tp->control.trap_expected
--	  || tp->stepped_breakpoint
--	  || bpstat_should_step ());
-+	  || tp->control.trap_expected)
-+    return RESUME_STEP_USER;
-+  if        (bpstat_should_step ())
-+    return RESUME_STEP_NEEDED;
-+  return RESUME_STEP_CONTINUE;
- }
- 
- /* Inferior has stepped into a subroutine call with source code that
-Index: gdb-7.8.90.20150125/gdb/linux-nat.c
-===================================================================
---- 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
--      && lp->status != 0)
-+      && lp->status != 0
-+      /* We do not focus on software watchpoints as we would not catch
-+	 STEPPING_PAST_SINGLESTEP_BREAKPOINT breakpoints in some other thread
-+	 as they would remain pending due to `Push back breakpoint for %s'.  */
-+      && lp->step == RESUME_STEP_USER)
-     return 1;
-   else
-     return 0;
-Index: gdb-7.8.90.20150125/gdb/linux-nat.h
-===================================================================
---- 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 <http://www.gnu.org/licenses/>.  */
- 
- #include "target.h"
-+#include "infrun.h"
- 
- #include <signal.h>
- 
-@@ -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;
- 
-   /* 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.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.
-    Normally, use `proceed', which handles a lot of bookkeeping.  */
--extern void resume (int, enum gdb_signal);
-+enum resume_step
-+  {
-+    /* currently_stepping () should return non-zero for non-continue.  */
-+    RESUME_STEP_CONTINUE = 0,
-+    RESUME_STEP_USER,          /* Stepping is intentional by the user.  */
-+    RESUME_STEP_NEEDED         /* Stepping only for software watchpoints.  */
-+  };
-+extern void resume (enum resume_step, enum gdb_signal);
- 
- /* Return a ptid representing the set of threads that we will proceed,
-    in the perspective of the user/frontend.  */
-Index: gdb-7.8.90.20150125/gdb/testsuite/gdb.threads/signal-while-stepping-over-bp-other-thread.exp
-===================================================================
---- 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 \
-     "step" \
--    ".*need to step-over.*resume \\(step=1.*signal arrived while stepping over breakpoint.*switching back to stepped thread.*stepped to a different line.*callme.*" \
-+    ".*need to step-over.*resume \\(step=RESUME_STEP_USER.*signal arrived while stepping over breakpoint.*switching back to stepped thread.*stepped to a different line.*callme.*" \
-     "step"
- 
- set cnt_after [get_value "args\[$my_number\]" "get count after step"]

diff --git a/gdb-6.8-attach-signalled-detach-stopped.patch b/gdb-6.8-attach-signalled-detach-stopped.patch
index fd66073..7c2618b 100644
--- a/gdb-6.8-attach-signalled-detach-stopped.patch
+++ b/gdb-6.8-attach-signalled-detach-stopped.patch
@@ -1,8 +1,8 @@
-Index: gdb-7.8.90.20150125/gdb/linux-nat.c
+Index: gdb-7.9.50.20150531/gdb/linux-nat.c
 ===================================================================
---- 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.  */
+--- gdb-7.9.50.20150531.orig/gdb/linux-nat.c	2015-05-31 18:23:56.147494790 +0200
++++ gdb-7.9.50.20150531/gdb/linux-nat.c	2015-05-31 18:24:01.935530759 +0200
+@@ -168,6 +168,9 @@ blocked.  */
  static struct target_ops *linux_ops;
  static struct target_ops linux_ops_saved;
  
@@ -12,7 +12,7 @@ Index: gdb-7.8.90.20150125/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 *);
  
-@@ -924,6 +927,7 @@ linux_nat_post_attach_wait (ptid_t ptid,
+@@ -981,6 +984,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.90.20150125/gdb/linux-nat.c
  
        /* The process is definitely stopped.  It is in a job control
  	 stop, unless the kernel predates the TASK_STOPPED /
-@@ -1424,6 +1428,9 @@ get_pending_status (struct lwp_info *lp,
+@@ -1468,6 +1472,9 @@ get_pending_status (struct lwp_info *lp,
  			    gdb_signal_to_string (signo));
      }
  
@@ -30,7 +30,7 @@ Index: gdb-7.8.90.20150125/gdb/linux-nat.c
    return 0;
  }
  
-@@ -1537,6 +1544,8 @@ linux_nat_detach (struct target_ops *ops
+@@ -1581,6 +1588,8 @@ linux_nat_detach (struct target_ops *ops
      }
    else
      linux_ops->to_detach (ops, args, from_tty);
@@ -39,7 +39,7 @@ Index: gdb-7.8.90.20150125/gdb/linux-nat.c
  }
  
  /* Resume execution of the inferior process.  If STEP is nonzero,
-@@ -1741,6 +1750,14 @@ linux_nat_resume (struct target_ops *ops
+@@ -1839,6 +1848,14 @@ linux_nat_resume (struct target_ops *ops
        return;
      }
  
@@ -54,7 +54,7 @@ Index: gdb-7.8.90.20150125/gdb/linux-nat.c
    if (resume_many)
      iterate_over_lwps (ptid, linux_nat_resume_callback, lp);
  
-@@ -3723,6 +3740,8 @@ linux_nat_mourn_inferior (struct target_
+@@ -3935,6 +3952,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.90.20150125/gdb/linux-nat.c
  }
  
  /* Convert a native/host siginfo object, into/from the siginfo in the
-Index: gdb-7.8.90.20150125/gdb/testsuite/gdb.threads/attach-stopped.exp
+Index: gdb-7.9.50.20150531/gdb/testsuite/gdb.threads/attach-stopped.exp
 ===================================================================
---- 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
+--- gdb-7.9.50.20150531.orig/gdb/testsuite/gdb.threads/attach-stopped.exp	2015-05-31 18:23:56.148494796 +0200
++++ gdb-7.9.50.20150531/gdb/testsuite/gdb.threads/attach-stopped.exp	2015-05-31 18:24:01.935530759 +0200
 @@ -61,7 +61,65 @@ proc corefunc { threadtype } {
      gdb_reinitialize_dir $srcdir/$subdir
      gdb_load ${binfile}
@@ -134,12 +134,12 @@ Index: gdb-7.8.90.20150125/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.90.20150125/gdb/infrun.c
+Index: gdb-7.9.50.20150531/gdb/infrun.c
 ===================================================================
---- 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);
+--- gdb-7.9.50.20150531.orig/gdb/infrun.c	2015-05-31 18:23:56.150494809 +0200
++++ gdb-7.9.50.20150531/gdb/infrun.c	2015-05-31 18:24:01.938530778 +0200
+@@ -591,6 +591,11 @@ holding the child stopped.  Try \"set de
+ 				target_pid_to_str (process_ptid));
  	    }
  
 +	  /* We should check PID_WAS_STOPPED and detach it stopped accordingly.

diff --git a/gdb-6.8-bz457187-largefile-test.patch b/gdb-6.8-bz457187-largefile-test.patch
deleted file mode 100644
index d2d6cf8..0000000
--- a/gdb-6.8-bz457187-largefile-test.patch
+++ /dev/null
@@ -1,105 +0,0 @@
---- /dev/null	2009-04-19 14:49:00.974648389 +0200
-+++ gdb-6.8/gdb/testsuite/gdb.arch/i386-biarch-core.exp	2009-04-19 16:30:12.000000000 +0200
-@@ -0,0 +1,61 @@
-+# This testcase is part of GDB, the GNU debugger.
-+
-+# Copyright 2009 Free Software Foundation, Inc.
-+
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; either version 2 of the License, or
-+# (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+# GNU General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program; if not, write to the Free Software
-+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  
-+
-+# Test ability to load an elf64-i386 core file.  The provided core file was
-+# elf64-x8664 one but it got binary patched to i386:
-+# Elf32_Ehdr.e_machine @0x12..0x13
-+# Elf64_Ehdr.e_machine @0x12..0x13
-+# #define EM_386           3              /* Intel 80386 */
-+# #define EM_X86_64       62              /* AMD x86-64 architecture */
-+# patch @0x12: 0x3E -> 0x03
-+
-+if { ![istarget "i?86-*-*"] && ![istarget "x86_64-*-*"] } then {
-+    verbose "Skipping i386-biarch-core test."
-+    return
-+}
-+
-+set testfile "i386-biarch-core"
-+set corebz2uufile ${srcdir}/${subdir}/${testfile}.core.bz2.uu
-+set corefile ${objdir}/${subdir}/${testfile}.core
-+# Entry point of the original executable.
-+set address 0x400078
-+
-+if {[catch "system \"uudecode -o - ${corebz2uufile} | bzip2 -dc >${corefile}\""] != 0} {
-+    untested "failed uudecode or bzip2"
-+    return -1
-+}
-+file stat ${corefile} corestat
-+if {$corestat(size) != 102400} {
-+    untested "uudecode or bzip2 produce invalid result"
-+    return -1
-+}
-+
-+gdb_exit
-+gdb_start
-+gdb_reinitialize_dir $srcdir/$subdir
-+
-+# Wrongly built GDB complains by:
-+# "..." is not a core dump: File format not recognized
-+# As the provided test core has 64bit PRSTATUS i386 built GDB cannot parse it.
-+# This is just a problem of the test care, real-world elf64-i386 file will have
-+# 32bit PRSTATUS.  One cannot prepare elf64-i386 core file from elf32-i386 by
-+# objcopy as it corrupts the core file beyond all recognition.
-+# "\r\nCore was generated by `\[^\r\n\]*'\\.\r\nProgram terminated with signal 11, Segmentation fault\\.\r\n.*"
-+gdb_test "core-file ${corefile}"
-+
-+gdb_test "x/i $address" "\r\n\[ \t\]*$address:\[ \t\]*hlt\[ \t\]*" ".text is readable"
---- /dev/null	2009-04-19 14:49:00.974648389 +0200
-+++ gdb-6.8/gdb/testsuite/gdb.arch/i386-biarch-core.S	2009-04-19 14:52:28.000000000 +0200
-@@ -0,0 +1,22 @@
-+/* This testcase is part of GDB, the GNU debugger.
-+
-+   Copyright 2009 Free Software Foundation, Inc.
-+  
-+   This program is free software; you can redistribute it and/or modify
-+   it under the terms of the GNU General Public License as published by
-+   the Free Software Foundation; either version 2 of the License, or
-+   (at your option) any later version.
-+  
-+   This program is distributed in the hope that it will be useful,
-+   but WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+   GNU General Public License for more details.
-+  
-+   You should have received a copy of the GNU General Public License
-+   along with this program; if not, write to the Free Software
-+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-+ */
-+
-+	.globl _start
-+_start:
-+	hlt
---- /dev/null	2009-04-19 14:49:00.974648389 +0200
-+++ gdb-6.8/gdb/testsuite/gdb.arch/i386-biarch-core.core.bz2.uu	2009-04-19 15:02:12.000000000 +0200
-@@ -0,0 +1,13 @@
-+begin 600 i386-biarch-core.core.bz2
-+M0EIH.3%!629361`P1\P`!)?_____\9'@"8Q)6P380'9@'&#`0D@``"``%(``
-+M@`#`"!<(L`%F"(:$GH13::F-)M&D&U,AD:`--#)M0&FT0XR9--,)D9`P(Q-&
-+M",(-&F``02)%38HT]0T`&AH```'H@``T^>9T*(,("&)SE`>`9@+GP=[,N)KB
-+M'I8BL(L]N5TCY\%V]/?DB.BN*UZ'U@]TN7-]UJ5\_%0QTT<*086#%MHT7XVJ
-+M9D"+C!"2*L:8D1XPD!`--M@*XT1H5RFYN&)(!0P0#:`I:;2;$5M&\*9"0@%:
-+MK@X[T()M)9N7`D$VA!^63)%,;@8LT`(7\K&[7G;U:"B6'!GG+46ALOZF.2F-
-+M!@>C*%86X$-]C2`KE;HG)UL(913VR2G]0BD:J=Z_`G@S,`W%.8RMS-#5P:J0
-+MAJ2\8&X?@DE;UF68QHM<,D`('::J65/S:PAG*R-09["8DBI)'V]Y.[(/AM*L
-+M"X_O^V;%FY.S6Q]FM=D37>5F,%4-F1ZF#,CFJVU;H*^IT<(%<V`.32$`JU["
-+/G`68?\7<D4X4)`0,$?,`
-+`
-+end

diff --git a/gdb-6.8-quit-never-aborts.patch b/gdb-6.8-quit-never-aborts.patch
index 3e637c9..f573c10 100644
--- a/gdb-6.8-quit-never-aborts.patch
+++ b/gdb-6.8-quit-never-aborts.patch
@@ -5,11 +5,11 @@ Some of the threads may not be properly PTRACE_DETACHed which hurts if they
 should have been detached with SIGSTOP (as they are accidentally left running
 on the debugger termination).
 
-Index: gdb-7.7.90.20140613/gdb/defs.h
+Index: gdb-7.9.50.20150520/gdb/defs.h
 ===================================================================
---- gdb-7.7.90.20140613.orig/gdb/defs.h	2014-06-13 23:10:18.876623018 +0200
-+++ gdb-7.7.90.20140613/gdb/defs.h	2014-06-13 23:10:52.450660505 +0200
-@@ -174,6 +174,7 @@ extern void set_quit_flag (void);
+--- gdb-7.9.50.20150520.orig/gdb/defs.h	2015-05-31 18:06:24.579002757 +0200
++++ gdb-7.9.50.20150520/gdb/defs.h	2015-05-31 18:06:29.253031613 +0200
+@@ -145,6 +145,7 @@ extern void set_quit_flag (void);
  /* Flag that function quit should call quit_force.  */
  extern volatile int sync_quit_force_run;
  
@@ -17,13 +17,13 @@ Index: gdb-7.7.90.20140613/gdb/defs.h
  extern int immediate_quit;
  
  extern void quit (void);
-Index: gdb-7.7.90.20140613/gdb/top.c
+Index: gdb-7.9.50.20150520/gdb/top.c
 ===================================================================
---- gdb-7.7.90.20140613.orig/gdb/top.c	2014-06-13 23:10:15.910619715 +0200
-+++ gdb-7.7.90.20140613/gdb/top.c	2014-06-13 23:10:18.877623020 +0200
-@@ -1378,7 +1378,9 @@ quit_force (char *args, int from_tty)
-   if (ex.reason < 0) \
-     exception_print (gdb_stderr, ex)
+--- gdb-7.9.50.20150520.orig/gdb/top.c	2015-05-31 18:06:24.580002763 +0200
++++ gdb-7.9.50.20150520/gdb/top.c	2015-05-31 18:06:29.254031619 +0200
+@@ -1463,7 +1463,9 @@ quit_force (char *args, int from_tty)
+   qt.args = args;
+   qt.from_tty = from_tty;
  
 -  /* We want to handle any quit errors and exit regardless.  */
 +  /* We want to handle any quit errors and exit regardless but we should never
@@ -31,12 +31,12 @@ Index: gdb-7.7.90.20140613/gdb/top.c
 +  quit_flag_cleanup = 1;
  
    /* Get out of tfind mode, and kill or detach all inferiors.  */
-   DO_TRY
-Index: gdb-7.7.90.20140613/gdb/utils.c
+   TRY
+Index: gdb-7.9.50.20150520/gdb/utils.c
 ===================================================================
---- gdb-7.7.90.20140613.orig/gdb/utils.c	2014-06-13 23:10:18.878623021 +0200
-+++ gdb-7.7.90.20140613/gdb/utils.c	2014-06-13 23:10:38.307644652 +0200
-@@ -125,6 +125,11 @@ int job_control;
+--- gdb-7.9.50.20150520.orig/gdb/utils.c	2015-05-31 18:06:24.582002776 +0200
++++ gdb-7.9.50.20150520/gdb/utils.c	2015-05-31 18:06:29.255031625 +0200
+@@ -122,6 +122,11 @@ int job_control;
  
  int immediate_quit;
  
@@ -48,11 +48,11 @@ Index: gdb-7.7.90.20140613/gdb/utils.c
  /* Nonzero means that strings with character values >0x7F should be printed
     as octal escapes.  Zero means just print the value (e.g. it's an
     international character, and the terminal or window can cope.)  */
-Index: gdb-7.7.90.20140613/gdb/extension.c
+Index: gdb-7.9.50.20150520/gdb/extension.c
 ===================================================================
---- gdb-7.7.90.20140613.orig/gdb/extension.c	2014-06-13 03:59:36.000000000 +0200
-+++ gdb-7.7.90.20140613/gdb/extension.c	2014-06-13 23:11:32.434704853 +0200
-@@ -817,6 +817,9 @@ check_quit_flag (void)
+--- gdb-7.9.50.20150520.orig/gdb/extension.c	2015-05-31 18:06:24.582002776 +0200
++++ gdb-7.9.50.20150520/gdb/extension.c	2015-05-31 18:06:29.256031632 +0200
+@@ -833,6 +833,9 @@ check_quit_flag (void)
    int i, result = 0;
    const struct extension_language_defn *extlang;
  

diff --git a/gdb-7.2.50-sparc-add-workaround-to-broken-debug-files.patch b/gdb-7.2.50-sparc-add-workaround-to-broken-debug-files.patch
index c5937f3..3e14a57 100644
--- a/gdb-7.2.50-sparc-add-workaround-to-broken-debug-files.patch
+++ b/gdb-7.2.50-sparc-add-workaround-to-broken-debug-files.patch
@@ -1,11 +1,11 @@
-Index: gdb-7.6.90.20140127/gdb/gdb_bfd.c
+Index: gdb-7.9.50.20150520/gdb/gdb_bfd.c
 ===================================================================
---- gdb-7.6.90.20140127.orig/gdb/gdb_bfd.c	2014-02-06 17:39:46.370096290 +0100
-+++ gdb-7.6.90.20140127/gdb/gdb_bfd.c	2014-02-06 17:40:14.996127247 +0100
-@@ -29,12 +29,14 @@
- #ifdef HAVE_ZLIB_H
- #include <zlib.h>
- #endif
+--- gdb-7.9.50.20150520.orig/gdb/gdb_bfd.c	2015-05-31 17:02:57.742303086 +0200
++++ gdb-7.9.50.20150520/gdb/gdb_bfd.c	2015-05-31 17:03:20.145444480 +0200
+@@ -24,12 +24,14 @@
+ #include "hashtab.h"
+ #include "filestuff.h"
+ #include "vec.h"
 +#ifndef __sparc__
  #ifdef HAVE_MMAP
  #include <sys/mman.h>
@@ -14,10 +14,10 @@ Index: gdb-7.6.90.20140127/gdb/gdb_bfd.c
  #endif
  #endif
 +#endif
+ #include "target.h"
+ #include "gdb/fileio.h"
  
- typedef bfd *bfdp;
- DEF_VEC_P (bfdp);
-@@ -210,6 +212,7 @@ free_one_bfd_section (bfd *abfd, asectio
+@@ -408,6 +410,7 @@ free_one_bfd_section (bfd *abfd, asectio
  
    if (sect != NULL && sect->data != NULL)
      {
@@ -25,7 +25,7 @@ Index: gdb-7.6.90.20140127/gdb/gdb_bfd.c
  #ifdef HAVE_MMAP
        if (sect->map_addr != NULL)
  	{
-@@ -220,6 +223,7 @@ free_one_bfd_section (bfd *abfd, asectio
+@@ -418,6 +421,7 @@ free_one_bfd_section (bfd *abfd, asectio
  	}
        else
  #endif
@@ -33,7 +33,7 @@ Index: gdb-7.6.90.20140127/gdb/gdb_bfd.c
  	xfree (sect->data);
      }
  }
-@@ -371,6 +375,7 @@ gdb_bfd_map_section (asection *sectp, bf
+@@ -569,6 +573,7 @@ gdb_bfd_map_section (asection *sectp, bf
    if (descriptor->data != NULL)
      goto done;
  
@@ -41,7 +41,7 @@ Index: gdb-7.6.90.20140127/gdb/gdb_bfd.c
  #ifdef HAVE_MMAP
    if (!bfd_is_section_compressed (abfd, sectp))
      {
-@@ -405,6 +410,7 @@ gdb_bfd_map_section (asection *sectp, bf
+@@ -603,6 +608,7 @@ gdb_bfd_map_section (asection *sectp, bf
  	}
      }
  #endif /* HAVE_MMAP */

diff --git a/gdb-archer-pie-addons.patch b/gdb-archer-pie-addons.patch
index 8f7cdea..85a6967 100644
--- a/gdb-archer-pie-addons.patch
+++ b/gdb-archer-pie-addons.patch
@@ -1,8 +1,8 @@
-Index: gdb-7.7.50.20140609/gdb/gdbtypes.h
+Index: gdb-7.9.50.20150520/gdb/gdbtypes.h
 ===================================================================
---- gdb-7.7.50.20140609.orig/gdb/gdbtypes.h	2014-06-13 20:23:55.210626427 +0200
-+++ gdb-7.7.50.20140609/gdb/gdbtypes.h	2014-06-13 20:24:26.156658622 +0200
-@@ -440,6 +440,7 @@ enum field_loc_kind
+--- gdb-7.9.50.20150520.orig/gdb/gdbtypes.h	2015-05-31 16:55:29.723475485 +0200
++++ gdb-7.9.50.20150520/gdb/gdbtypes.h	2015-05-31 16:55:49.716601669 +0200
+@@ -462,6 +462,7 @@ enum field_loc_kind
    {
      FIELD_LOC_KIND_BITPOS,	/**< bitpos */
      FIELD_LOC_KIND_ENUMVAL,	/**< enumval */
@@ -10,15 +10,15 @@ Index: gdb-7.7.50.20140609/gdb/gdbtypes.h
      FIELD_LOC_KIND_PHYSADDR,	/**< physaddr */
      FIELD_LOC_KIND_PHYSNAME,	/**< physname */
      FIELD_LOC_KIND_DWARF_BLOCK	/**< dwarf_block */
-@@ -617,6 +618,7 @@ struct main_type
- 	   field.  Otherwise, physname is the mangled label of the
- 	   static field.  */
+@@ -513,6 +514,7 @@ union field_location
+      field.  Otherwise, physname is the mangled label of the
+      static field.  */
  
-+	/* This address is unrelocated by the objfile's ANOFFSET.  */
- 	CORE_ADDR physaddr;
- 	const char *physname;
++  /* This address is unrelocated by the objfile's ANOFFSET.  */
+   CORE_ADDR physaddr;
+   const char *physname;
  
-@@ -1262,6 +1264,7 @@ extern void allocate_gnat_aux_type (stru
+@@ -1386,6 +1388,7 @@ extern void set_type_vptr_basetype (stru
  #define FIELD_ENUMVAL_LVAL(thisfld) ((thisfld).loc.enumval)
  #define FIELD_ENUMVAL(thisfld) (FIELD_ENUMVAL_LVAL (thisfld) + 0)
  #define FIELD_STATIC_PHYSNAME(thisfld) ((thisfld).loc.physname)
@@ -26,7 +26,7 @@ Index: gdb-7.7.50.20140609/gdb/gdbtypes.h
  #define FIELD_STATIC_PHYSADDR(thisfld) ((thisfld).loc.physaddr)
  #define FIELD_DWARF_BLOCK(thisfld) ((thisfld).loc.dwarf_block)
  #define SET_FIELD_BITPOS(thisfld, bitpos)			\
-@@ -1273,6 +1276,7 @@ extern void allocate_gnat_aux_type (stru
+@@ -1397,6 +1400,7 @@ extern void set_type_vptr_basetype (stru
  #define SET_FIELD_PHYSNAME(thisfld, name)			\
    (FIELD_LOC_KIND (thisfld) = FIELD_LOC_KIND_PHYSNAME,		\
     FIELD_STATIC_PHYSNAME (thisfld) = (name))
@@ -34,7 +34,7 @@ Index: gdb-7.7.50.20140609/gdb/gdbtypes.h
  #define SET_FIELD_PHYSADDR(thisfld, addr)			\
    (FIELD_LOC_KIND (thisfld) = FIELD_LOC_KIND_PHYSADDR,		\
     FIELD_STATIC_PHYSADDR (thisfld) = (addr))
-@@ -1289,6 +1293,7 @@ extern void allocate_gnat_aux_type (stru
+@@ -1413,6 +1417,7 @@ extern void set_type_vptr_basetype (stru
  #define TYPE_FIELD_BITPOS(thistype, n) FIELD_BITPOS (TYPE_FIELD (thistype, n))
  #define TYPE_FIELD_ENUMVAL(thistype, n) FIELD_ENUMVAL (TYPE_FIELD (thistype, n))
  #define TYPE_FIELD_STATIC_PHYSNAME(thistype, n) FIELD_STATIC_PHYSNAME (TYPE_FIELD (thistype, n))
@@ -42,10 +42,10 @@ Index: gdb-7.7.50.20140609/gdb/gdbtypes.h
  #define TYPE_FIELD_STATIC_PHYSADDR(thistype, n) FIELD_STATIC_PHYSADDR (TYPE_FIELD (thistype, n))
  #define TYPE_FIELD_DWARF_BLOCK(thistype, n) FIELD_DWARF_BLOCK (TYPE_FIELD (thistype, n))
  #define TYPE_FIELD_ARTIFICIAL(thistype, n) FIELD_ARTIFICIAL(TYPE_FIELD(thistype,n))
-Index: gdb-7.7.50.20140609/gdb/jv-lang.c
+Index: gdb-7.9.50.20150520/gdb/jv-lang.c
 ===================================================================
---- gdb-7.7.50.20140609.orig/gdb/jv-lang.c	2014-06-13 20:23:55.211626428 +0200
-+++ gdb-7.7.50.20140609/gdb/jv-lang.c	2014-06-13 20:23:56.278627534 +0200
+--- gdb-7.9.50.20150520.orig/gdb/jv-lang.c	2015-05-31 16:55:29.724475491 +0200
++++ gdb-7.9.50.20150520/gdb/jv-lang.c	2015-05-31 16:55:30.820482408 +0200
 @@ -427,7 +427,8 @@ java_link_class_type (struct gdbarch *gd
  
    fields = NULL;
@@ -66,11 +66,11 @@ Index: gdb-7.7.50.20140609/gdb/jv-lang.c
        else
  	SET_FIELD_BITPOS (TYPE_FIELD (type, i), 8 * boffset);
        if (accflags & 0x8000)	/* FIELD_UNRESOLVED_FLAG */
-Index: gdb-7.7.50.20140609/gdb/value.c
+Index: gdb-7.9.50.20150520/gdb/value.c
 ===================================================================
---- gdb-7.7.50.20140609.orig/gdb/value.c	2014-06-13 20:23:55.212626429 +0200
-+++ gdb-7.7.50.20140609/gdb/value.c	2014-06-13 20:23:56.279627535 +0200
-@@ -2783,7 +2783,8 @@ value_static_field (struct type *type, i
+--- gdb-7.9.50.20150520.orig/gdb/value.c	2015-05-31 16:55:29.725475497 +0200
++++ gdb-7.9.50.20150520/gdb/value.c	2015-05-31 16:55:30.821482415 +0200
+@@ -2951,7 +2951,8 @@ value_static_field (struct type *type, i
      {
      case FIELD_LOC_KIND_PHYSADDR:
        retval = value_at_lazy (TYPE_FIELD_TYPE (type, fieldno),

diff --git a/gdb-archer.patch b/gdb-archer.patch
index 7e76d7b..aef1dcf 100644
--- a/gdb-archer.patch
+++ b/gdb-archer.patch
@@ -2,7 +2,7 @@ http://sourceware.org/gdb/wiki/ProjectArcher
 http://sourceware.org/gdb/wiki/ArcherBranchManagement
 
 GIT snapshot:
-commit d1a09bf2f8e7e3f752a1bbeba135bc080bf0c865
+commit c8a8413e160d935c12cbc6e484dd8b7ab80f5f62
 
 tromey/python
 
@@ -16,10 +16,10 @@ index 0000000..173b8ea
 +This branch originally held the Python code for gdb.  It still exists
 +because a small amount of code here has not yet been merged upstream.
 diff --git a/gdb/Makefile.in b/gdb/Makefile.in
-index be69b6f..a4483e4 100644
+index 95104ef..a9b198a 100644
 --- a/gdb/Makefile.in
 +++ b/gdb/Makefile.in
-@@ -1515,6 +1515,12 @@ stamp-h: $(srcdir)/config.in config.status
+@@ -1534,6 +1534,12 @@ stamp-h: $(srcdir)/config.in config.status
  	  CONFIG_LINKS= \
  	  $(SHELL) config.status
  
@@ -33,11 +33,11 @@ index be69b6f..a4483e4 100644
  	$(SHELL) config.status --recheck
  
 diff --git a/gdb/data-directory/Makefile.in b/gdb/data-directory/Makefile.in
-index 00c70bb..f93ffdd 100644
+index 30cfd17..e977b30 100644
 --- a/gdb/data-directory/Makefile.in
 +++ b/gdb/data-directory/Makefile.in
-@@ -64,7 +64,10 @@ PYTHON_FILE_LIST = \
- 	gdb/printing.py \
+@@ -65,7 +65,10 @@ PYTHON_FILE_LIST = \
+ 	gdb/unwinder.py \
  	gdb/prompt.py \
  	gdb/xmethod.py \
 +	gdb/types.py \
@@ -46,8 +46,8 @@ index 00c70bb..f93ffdd 100644
 +	gdb/command/pahole.py \
  	gdb/command/xmethods.py \
  	gdb/command/frame_filters.py \
- 	gdb/command/type_printers.py \
-@@ -74,6 +77,8 @@ PYTHON_FILE_LIST = \
+ 	gdb/command/unwinders.py \
+@@ -76,6 +79,8 @@ PYTHON_FILE_LIST = \
  	gdb/function/__init__.py \
  	gdb/function/caller_is.py \
  	gdb/function/strfns.py \
@@ -57,7 +57,7 @@ index 00c70bb..f93ffdd 100644
  	gdb/printer/bound_registers.py
  
 diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
-index e086c33..5dfeb1d 100644
+index 1665372..c4caffc 100644
 --- a/gdb/doc/gdb.texinfo
 +++ b/gdb/doc/gdb.texinfo
 @@ -1225,6 +1225,16 @@ for remote debugging.
@@ -78,7 +78,7 @@ index e086c33..5dfeb1d 100644
  @item -tui
  @cindex @code{--tui}
 diff --git a/gdb/doc/python.texi b/gdb/doc/python.texi
-index 234ce5c..e940125 100644
+index 57ec22e..13beb05 100644
 --- a/gdb/doc/python.texi
 +++ b/gdb/doc/python.texi
 @@ -88,8 +88,6 @@ containing @code{end}.  For example:
@@ -111,7 +111,7 @@ index 05a38b2..9801fdf 100644
    set variable $gdb_init_done = 1
  
 diff --git a/gdb/main.c b/gdb/main.c
-index accd927..ed211f6 100644
+index aecd60a..d0f7834 100644
 --- a/gdb/main.c
 +++ b/gdb/main.c
 @@ -33,6 +33,7 @@
@@ -122,7 +122,7 @@ index accd927..ed211f6 100644
  #include "source.h"
  #include "cli/cli-cmds.h"
  #include "objfiles.h"
-@@ -444,6 +445,8 @@ captured_main (void *data)
+@@ -453,6 +454,8 @@ captured_main (void *data)
    char *cdarg = NULL;
    char *ttyarg = NULL;
  
@@ -131,7 +131,7 @@ index accd927..ed211f6 100644
    /* These are static so that we can take their address in an
       initializer.  */
    static int print_help;
-@@ -649,10 +652,14 @@ captured_main (void *data)
+@@ -663,10 +666,14 @@ captured_main (void *data)
        {"args", no_argument, &set_args, 1},
        {"l", required_argument, 0, 'l'},
        {"return-child-result", no_argument, &return_child_result, 1},
@@ -147,7 +147,7 @@ index accd927..ed211f6 100644
        {
  	int option_index;
  
-@@ -670,6 +677,9 @@ captured_main (void *data)
+@@ -684,6 +691,9 @@ captured_main (void *data)
  	  case 0:
  	    /* Long option that just sets a flag.  */
  	    break;
@@ -157,7 +157,7 @@ index accd927..ed211f6 100644
  	  case OPT_SE:
  	    symarg = optarg;
  	    execarg = optarg;
-@@ -851,7 +861,31 @@ captured_main (void *data)
+@@ -864,7 +874,31 @@ captured_main (void *data)
  
    /* Now that gdb_init has created the initial inferior, we're in
       position to set args for that inferior.  */
@@ -190,7 +190,7 @@ index accd927..ed211f6 100644
      {
        /* The remaining options are the command-line options for the
  	 inferior.  The first one is the sym/exec file, and the rest
-@@ -1129,7 +1163,8 @@ captured_main (void *data)
+@@ -1137,7 +1171,8 @@ captured_main (void *data)
  
    /* Read in the old history after all the command files have been
       read.  */
@@ -200,7 +200,7 @@ index accd927..ed211f6 100644
  
    if (batch_flag)
      {
-@@ -1140,13 +1175,25 @@ captured_main (void *data)
+@@ -1148,13 +1183,25 @@ captured_main (void *data)
    /* Show time and/or space usage.  */
    do_cleanups (pre_stat_chain);
  
@@ -232,7 +232,7 @@ index accd927..ed211f6 100644
      }
    /* No exit -- exit is through quit_command.  */
  }
-@@ -1180,6 +1227,12 @@ print_gdb_help (struct ui_file *stream)
+@@ -1188,6 +1235,12 @@ print_gdb_help (struct ui_file *stream)
    fputs_unfiltered (_("\
  This is the GNU debugger.  Usage:\n\n\
      gdb [options] [executable-file [core-file or process-id]]\n\
@@ -245,10 +245,10 @@ index accd927..ed211f6 100644
      gdb [options] --args executable-file [inferior-arguments ...]\n\n\
  "), stream);
    fputs_unfiltered (_("\
-@@ -1225,6 +1278,13 @@ Output and user interface control:\n\n\
+@@ -1232,6 +1285,13 @@ Output and user interface control:\n\n\
+ #endif
    fputs_unfiltered (_("\
    --dbx              DBX compatibility mode.\n\
-   --xdb              XDB compatibility mode.\n\
 +"), stream);
 +#if HAVE_PYTHON
 +  fputs_unfiltered (_("\
@@ -443,7 +443,7 @@ index 0000000..8742680
 +
 +InScope ()
 diff --git a/gdb/python/python.c b/gdb/python/python.c
-index b1d8283..54a2d9b 100644
+index 4f88b0e..870a1ba 100644
 --- a/gdb/python/python.c
 +++ b/gdb/python/python.c
 @@ -93,6 +93,8 @@ const struct extension_language_defn extension_language_python =
@@ -455,7 +455,7 @@ index b1d8283..54a2d9b 100644
  #include "target.h"
  #include "gdbthread.h"
  #include "interps.h"
-@@ -1220,6 +1222,83 @@ gdbpy_print_stack (void)
+@@ -1262,6 +1264,83 @@ gdbpy_print_stack (void)
  
  /* Return the current Progspace.
     There always is one.  */
@@ -539,7 +539,7 @@ index b1d8283..54a2d9b 100644
  
  static PyObject *
  gdbpy_get_current_progspace (PyObject *unused1, PyObject *unused2)
-@@ -1913,6 +1992,8 @@ static PyMethodDef GdbMethods[] =
+@@ -1982,6 +2061,8 @@ PyMethodDef python_GdbMethods[] =
  Evaluate command, a string, as a gdb CLI command.  Optionally returns\n\
  a Python String containing the output of the command if to_string is\n\
  set to True." },
@@ -549,7 +549,7 @@ index b1d8283..54a2d9b 100644
      "Return a gdb parameter's value" },
  
 diff --git a/gdb/python/python.h b/gdb/python/python.h
-index 9e99992..c776e59 100644
+index e6bfcca..688daa3 100644
 --- a/gdb/python/python.h
 +++ b/gdb/python/python.h
 @@ -25,4 +25,6 @@
@@ -560,7 +560,7 @@ index 9e99992..c776e59 100644
 +
  #endif /* GDB_PYTHON_H */
 diff --git a/gdb/testsuite/gdb.gdb/selftest.exp b/gdb/testsuite/gdb.gdb/selftest.exp
-index 0b11e12..e35e829 100644
+index 9f25a48..88b0842 100644
 --- a/gdb/testsuite/gdb.gdb/selftest.exp
 +++ b/gdb/testsuite/gdb.gdb/selftest.exp
 @@ -92,6 +92,10 @@ proc do_steps_and_nexts {} {
@@ -575,7 +575,7 @@ index 0b11e12..e35e829 100644
  		set description "next over make_command_stats_cleanup and everything it calls"
  		set command "next"
 diff --git a/gdb/testsuite/gdb.python/py-frame.exp b/gdb/testsuite/gdb.python/py-frame.exp
-index e47f340..a7e0a52 100644
+index 33fdbe5..264d00f 100644
 --- a/gdb/testsuite/gdb.python/py-frame.exp
 +++ b/gdb/testsuite/gdb.python/py-frame.exp
 @@ -95,6 +95,8 @@ gdb_test "python print ('result = %s' % f0.read_var ('a'))" " = 1" "test Frame.r
@@ -588,7 +588,7 @@ index e47f340..a7e0a52 100644
  gdb_test "python print ('result = %s' % (gdb.selected_frame ().read_register ('sp') == gdb.parse_and_eval ('\$sp')))" \
    " = True" \
 diff --git a/gdb/testsuite/gdb.python/py-value.exp b/gdb/testsuite/gdb.python/py-value.exp
-index f081ff0..58cce09 100644
+index baa17b7..45ad67e 100644
 --- a/gdb/testsuite/gdb.python/py-value.exp
 +++ b/gdb/testsuite/gdb.python/py-value.exp
 @@ -388,6 +388,15 @@ proc test_value_after_death {} {

diff --git a/gdb-attach-fail-reasons-5of5.patch b/gdb-attach-fail-reasons-5of5.patch
index 18198c5..bcd4a33 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.90.20150125/gdb/nat/linux-ptrace.c
+Index: gdb-7.9.50.20150520/gdb/nat/linux-ptrace.c
 ===================================================================
---- 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
+--- gdb-7.9.50.20150520.orig/gdb/nat/linux-ptrace.c	2015-05-31 18:16:54.348890746 +0200
++++ gdb-7.9.50.20150520/gdb/nat/linux-ptrace.c	2015-05-31 18:17:19.584046540 +0200
 @@ -25,6 +25,10 @@
  
  #include <stdint.h>
@@ -49,10 +49,10 @@ Index: gdb-7.8.90.20150125/gdb/nat/linux-ptrace.c
 +# include <selinux/selinux.h>
 +#endif /* HAVE_SELINUX_SELINUX_H */
 +
- /* Stores the currently supported ptrace options.  A value of
-    -1 means we did not check for features yet.  A value of 0 means
-    there are no supported features.  */
-@@ -53,6 +57,8 @@ linux_ptrace_attach_fail_reason (pid_t p
+ /* Stores the ptrace options supported by the running kernel.
+    A value of -1 means we did not check for features yet.  A value
+    of 0 means there are no supported features.  */
+@@ -49,6 +53,8 @@ linux_ptrace_attach_fail_reason (pid_t p
      buffer_xml_printf (buffer, _("process %d is a zombie "
  				 "- the process has already terminated"),
  		       (int) pid);
@@ -61,7 +61,7 @@ Index: gdb-7.8.90.20150125/gdb/nat/linux-ptrace.c
  }
  
  /* See linux-ptrace.h.  */
-@@ -595,6 +601,22 @@ linux_ptrace_init_warnings (void)
+@@ -583,6 +589,22 @@ linux_ptrace_init_warnings (void)
    linux_ptrace_test_ret_to_nx ();
  }
  
@@ -81,26 +81,26 @@ Index: gdb-7.8.90.20150125/gdb/nat/linux-ptrace.c
 +#endif /* HAVE_LIBSELINUX */
 +}
 +
- /* 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.90.20150125/gdb/nat/linux-ptrace.h
+ /* Extract extended ptrace event from wait status.  */
+ 
+ int
+Index: gdb-7.9.50.20150520/gdb/nat/linux-ptrace.h
 ===================================================================
---- 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
+--- gdb-7.9.50.20150520.orig/gdb/nat/linux-ptrace.h	2015-05-31 18:16:54.348890746 +0200
++++ gdb-7.9.50.20150520/gdb/nat/linux-ptrace.h	2015-05-31 18:17:19.584046540 +0200
+@@ -149,6 +149,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_init_warnings (void);
 +extern void linux_ptrace_create_warnings (struct buffer *buffer);
+ extern void linux_check_ptrace_features (void);
  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.90.20150125/gdb/configure.ac
+Index: gdb-7.9.50.20150520/gdb/configure.ac
 ===================================================================
---- 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
+--- gdb-7.9.50.20150520.orig/gdb/configure.ac	2015-05-31 18:16:54.348890746 +0200
++++ gdb-7.9.50.20150520/gdb/configure.ac	2015-05-31 18:17:19.585046546 +0200
+@@ -2130,6 +2130,10 @@ case $host_os in
  esac
  AC_DEFINE_UNQUOTED(GDBINIT,"$gdbinit",[The .gdbinit filename.])
  
@@ -111,11 +111,11 @@ Index: gdb-7.8.90.20150125/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.90.20150125/gdb/gdbserver/configure.ac
+Index: gdb-7.9.50.20150520/gdb/gdbserver/configure.ac
 ===================================================================
---- 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
+--- gdb-7.9.50.20150520.orig/gdb/gdbserver/configure.ac	2015-05-31 18:16:54.348890746 +0200
++++ gdb-7.9.50.20150520/gdb/gdbserver/configure.ac	2015-05-31 18:17:19.585046546 +0200
+@@ -499,6 +499,10 @@ if $want_ipa ; then
     fi
  fi
  
@@ -126,11 +126,11 @@ Index: gdb-7.8.90.20150125/gdb/gdbserver/configure.ac
  AC_SUBST(GDBSERVER_DEPFILES)
  AC_SUBST(GDBSERVER_LIBS)
  AC_SUBST(srv_xmlbuiltin)
-Index: gdb-7.8.90.20150125/gdb/gdbserver/linux-low.c
+Index: gdb-7.9.50.20150520/gdb/gdbserver/linux-low.c
 ===================================================================
---- 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)
+--- gdb-7.9.50.20150520.orig/gdb/gdbserver/linux-low.c	2015-05-31 18:16:54.348890746 +0200
++++ gdb-7.9.50.20150520/gdb/gdbserver/linux-low.c	2015-05-31 18:17:19.587046558 +0200
+@@ -749,6 +749,29 @@ add_lwp (ptid_t ptid)
    return lwp;
  }
  
@@ -160,7 +160,7 @@ Index: gdb-7.8.90.20150125/gdb/gdbserver/linux-low.c
  /* Start an inferior process and returns its pid.
     ALLARGS is a vector of program-name and args. */
  
-@@ -632,7 +655,7 @@ linux_create_inferior (char *program, ch
+@@ -772,7 +795,7 @@ linux_create_inferior (char *program, ch
    if (pid == 0)
      {
        close_most_fds ();
@@ -169,11 +169,11 @@ Index: gdb-7.8.90.20150125/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.90.20150125/gdb/inf-ptrace.c
+Index: gdb-7.9.50.20150520/gdb/inf-ptrace.c
 ===================================================================
---- 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
+--- gdb-7.9.50.20150520.orig/gdb/inf-ptrace.c	2015-05-31 18:16:54.348890746 +0200
++++ gdb-7.9.50.20150520/gdb/inf-ptrace.c	2015-05-31 18:17:19.588046565 +0200
+@@ -79,7 +79,15 @@ static void
  inf_ptrace_me (void)
  {
    /* "Trace me, Dr. Memory!"  */
@@ -189,36 +189,28 @@ Index: gdb-7.8.90.20150125/gdb/inf-ptrace.c
  }
  
  /* Start a new inferior Unix child process.  EXEC_FILE is the file to
-Index: gdb-7.8.90.20150125/gdb/linux-nat.c
+Index: gdb-7.9.50.20150520/gdb/linux-nat.c
 ===================================================================
---- 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 */
+--- gdb-7.9.50.20150520.orig/gdb/linux-nat.c	2015-05-31 18:16:54.348890746 +0200
++++ gdb-7.9.50.20150520/gdb/linux-nat.c	2015-05-31 18:17:56.214272683 +0200
+@@ -1179,6 +1179,7 @@ linux_nat_create_inferior (struct target
+ {
+   struct cleanup *restore_personality
+     = maybe_disable_address_space_randomization (disable_randomization);
 +  volatile struct gdb_exception ex;
  
    /* The fork_child mechanism is synchronous and calls target_wait, so
       we have to mask the async mode.  */
-@@ -1133,7 +1134,10 @@ linux_nat_create_inferior (struct target
+@@ -1186,7 +1187,28 @@ linux_nat_create_inferior (struct target
    /* Make sure we report all signals during startup.  */
    linux_nat_pass_signals (ops, 0, NULL);
  
 -  linux_ops->to_create_inferior (ops, exec_file, allargs, env, from_tty);
-+  TRY_CATCH (ex, RETURN_MASK_ERROR)
++  TRY
 +    {
 +      linux_ops->to_create_inferior (ops, exec_file, allargs, env, from_tty);
 +    }
- 
- #ifdef HAVE_PERSONALITY
-   if (personality_set)
-@@ -1145,6 +1149,24 @@ linux_nat_create_inferior (struct target
- 		 safe_strerror (errno));
-     }
- #endif /* HAVE_PERSONALITY */
-+
-+  if (ex.reason < 0)
++  CATCH (ex, RETURN_MASK_ERROR)
 +    {
 +      struct buffer buffer;
 +      char *message, *buffer_s;
@@ -235,14 +227,15 @@ Index: gdb-7.8.90.20150125/gdb/linux-nat.c
 +
 +      throw_error (ex.error, "%s%s", buffer_s, message);
 +    }
- }
++  END_CATCH
  
- /* Callback for linux_proc_attach_tgid_threads.  Attach to PTID if not
-Index: gdb-7.8.90.20150125/gdb/config.in
+   do_cleanups (restore_personality);
+ }
+Index: gdb-7.9.50.20150520/gdb/config.in
 ===================================================================
---- 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 @@
+--- gdb-7.9.50.20150520.orig/gdb/config.in	2015-05-31 18:16:54.348890746 +0200
++++ gdb-7.9.50.20150520/gdb/config.in	2015-05-31 18:17:19.589046571 +0200
+@@ -261,6 +261,9 @@
  /* Define if librpm library is being used. */
  #undef HAVE_LIBRPM
  
@@ -252,7 +245,7 @@ Index: gdb-7.8.90.20150125/gdb/config.in
  /* Define to 1 if you have the <libunwind-ia64.h> header file. */
  #undef HAVE_LIBUNWIND_IA64_H
  
-@@ -342,6 +345,9 @@
+@@ -393,6 +396,9 @@
  /* Define to 1 if you have the `scm_new_smob' function. */
  #undef HAVE_SCM_NEW_SMOB
  
@@ -262,11 +255,11 @@ Index: gdb-7.8.90.20150125/gdb/config.in
  /* Define to 1 if you have the `setlocale' function. */
  #undef HAVE_SETLOCALE
  
-Index: gdb-7.8.90.20150125/gdb/configure
+Index: gdb-7.9.50.20150520/gdb/configure
 ===================================================================
---- 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
+--- gdb-7.9.50.20150520.orig/gdb/configure	2015-05-31 18:16:54.348890746 +0200
++++ gdb-7.9.50.20150520/gdb/configure	2015-05-31 18:17:19.594046602 +0200
+@@ -13730,6 +13730,64 @@ cat >>confdefs.h <<_ACEOF
  _ACEOF
  
  
@@ -331,11 +324,11 @@ Index: gdb-7.8.90.20150125/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.90.20150125/gdb/gdbserver/config.in
+Index: gdb-7.9.50.20150520/gdb/gdbserver/config.in
 ===================================================================
---- 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 @@
+--- gdb-7.9.50.20150520.orig/gdb/gdbserver/config.in	2015-05-31 18:16:54.348890746 +0200
++++ gdb-7.9.50.20150520/gdb/gdbserver/config.in	2015-05-31 18:17:19.594046602 +0200
+@@ -113,6 +113,9 @@
  /* Define to 1 if you have the `mcheck' library (-lmcheck). */
  #undef HAVE_LIBMCHECK
  
@@ -345,7 +338,7 @@ Index: gdb-7.8.90.20150125/gdb/gdbserver/config.in
  /* Define if the target supports branch tracing. */
  #undef HAVE_LINUX_BTRACE
  
-@@ -142,6 +145,9 @@
+@@ -186,6 +189,9 @@
  /* Define to 1 if you have the `pwrite' function. */
  #undef HAVE_PWRITE
  
@@ -355,11 +348,11 @@ Index: gdb-7.8.90.20150125/gdb/gdbserver/config.in
  /* Define to 1 if you have the <sgtty.h> header file. */
  #undef HAVE_SGTTY_H
  
-Index: gdb-7.8.90.20150125/gdb/gdbserver/configure
+Index: gdb-7.9.50.20150520/gdb/gdbserver/configure
 ===================================================================
---- 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
+--- gdb-7.9.50.20150520.orig/gdb/gdbserver/configure	2015-05-31 18:16:54.348890746 +0200
++++ gdb-7.9.50.20150520/gdb/gdbserver/configure	2015-05-31 18:17:19.596046614 +0200
+@@ -7022,6 +7022,64 @@ if $want_ipa ; then
     fi
  fi
  

diff --git a/gdb-btrobust.patch b/gdb-btrobust.patch
index a297bee..b797723 100644
--- a/gdb-btrobust.patch
+++ b/gdb-btrobust.patch
@@ -3,19 +3,19 @@ printed, but a default backtrace will occur in this case.
 
 --
 
-Index: gdb-7.8.90.20150214/gdb/python/py-framefilter.c
+Index: gdb-7.9.50.20150520/gdb/python/py-framefilter.c
 ===================================================================
---- gdb-7.8.90.20150214.orig/gdb/python/py-framefilter.c	2015-02-14 17:35:12.277653200 +0100
-+++ gdb-7.8.90.20150214/gdb/python/py-framefilter.c	2015-02-14 17:36:15.737953789 +0100
-@@ -1506,6 +1506,7 @@ gdbpy_apply_frame_filter (const struct e
-   volatile struct gdb_exception except;
+--- gdb-7.9.50.20150520.orig/gdb/python/py-framefilter.c	2015-05-31 17:36:34.681952530 +0200
++++ gdb-7.9.50.20150520/gdb/python/py-framefilter.c	2015-05-31 17:55:01.884788031 +0200
+@@ -1523,6 +1523,7 @@ gdbpy_apply_frame_filter (const struct e
+   PyObject *iterable;
    PyObject *item;
    htab_t levels_printed;
 +  int count_printed = 0;
  
    if (!gdb_python_initialized)
      return EXT_LANG_BT_NO_FILTERS;
-@@ -1525,24 +1526,7 @@ gdbpy_apply_frame_filter (const struct e
+@@ -1543,24 +1544,7 @@ gdbpy_apply_frame_filter (const struct e
    iterable = bootstrap_python_frame_filters (frame, frame_low, frame_high);
  
    if (iterable == NULL)
@@ -41,7 +41,7 @@ Index: gdb-7.8.90.20150214/gdb/python/py-framefilter.c
  
    /* If iterable is None, then there are no frame filters registered.
       If this is the case, defer to default GDB printing routines in MI
-@@ -1573,15 +1557,40 @@ gdbpy_apply_frame_filter (const struct e
+@@ -1591,15 +1575,40 @@ gdbpy_apply_frame_filter (const struct e
  	 error and continue with other frames.  */
        if (success == EXT_LANG_BT_ERROR)
  	gdbpy_print_stack ();

diff --git a/gdb-bz541866-rwatch-before-run.patch b/gdb-bz541866-rwatch-before-run.patch
index 95829f9..83b3a35 100644
--- a/gdb-bz541866-rwatch-before-run.patch
+++ b/gdb-bz541866-rwatch-before-run.patch
@@ -1,20 +1,20 @@
-Index: gdb-7.8.50.20141228/gdb/config/i386/linux64.mh
+Index: gdb-7.9.50.20150520/gdb/config/i386/linux64.mh
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/config/i386/linux64.mh	2015-01-01 17:12:53.965472227 +0100
-+++ gdb-7.8.50.20141228/gdb/config/i386/linux64.mh	2015-01-01 17:12:55.367471414 +0100
-@@ -6,7 +6,7 @@ NATDEPFILES= inf-ptrace.o fork-child.o \
- 	proc-service.o linux-thread-db.o linux-fork.o \
+--- gdb-7.9.50.20150520.orig/gdb/config/i386/linux64.mh	2015-05-31 16:59:34.258018827 +0200
++++ gdb-7.9.50.20150520/gdb/config/i386/linux64.mh	2015-05-31 16:59:47.779104163 +0200
+@@ -7,7 +7,7 @@ NATDEPFILES= inf-ptrace.o fork-child.o \
  	linux-procfs.o linux-ptrace.o linux-btrace.o \
- 	linux-waitpid.o
+ 	linux-waitpid.o linux-personality.o x86-linux.o \
+ 	x86-linux-dregs.o
 -NAT_FILE= config/nm-linux.h
 +NAT_FILE= nm-linux64.h
  NAT_CDEPS = $(srcdir)/proc-service.list
  
  # The dynamically loaded libthread_db needs access to symbols in the
-Index: gdb-7.8.50.20141228/gdb/config/i386/linux.mh
+Index: gdb-7.9.50.20150520/gdb/config/i386/linux.mh
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/config/i386/linux.mh	2015-01-01 17:12:55.367471414 +0100
-+++ gdb-7.8.50.20141228/gdb/config/i386/linux.mh	2015-01-01 17:13:07.568464342 +0100
+--- gdb-7.9.50.20150520.orig/gdb/config/i386/linux.mh	2015-05-31 16:56:12.869747796 +0200
++++ gdb-7.9.50.20150520/gdb/config/i386/linux.mh	2015-05-31 16:59:34.259018833 +0200
 @@ -1,6 +1,6 @@
  # Host: Intel 386 running GNU/Linux.
  
@@ -23,10 +23,10 @@ Index: gdb-7.8.50.20141228/gdb/config/i386/linux.mh
  NATDEPFILES= inf-ptrace.o fork-child.o \
  	x86-nat.o x86-dregs.o i386-linux-nat.o x86-linux-nat.o \
  	proc-service.o linux-thread-db.o \
-Index: gdb-7.8.50.20141228/gdb/config/i386/nm-linux.h
+Index: gdb-7.9.50.20150520/gdb/config/i386/nm-linux.h
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/config/i386/nm-linux.h	2015-01-01 17:12:55.368471414 +0100
++++ gdb-7.9.50.20150520/gdb/config/i386/nm-linux.h	2015-05-31 16:59:34.259018833 +0200
 @@ -0,0 +1,28 @@
 +/* Native support for GNU/Linux i386.
 +
@@ -56,10 +56,10 @@ Index: gdb-7.8.50.20141228/gdb/config/i386/nm-linux.h
 +#define target_can_use_hardware_watchpoint(type, cnt, ot) 1
 +
 +#endif /* NM_LINUX64_H */
-Index: gdb-7.8.50.20141228/gdb/config/i386/nm-linux64.h
+Index: gdb-7.9.50.20150520/gdb/config/i386/nm-linux64.h
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/config/i386/nm-linux64.h	2015-01-01 17:12:55.368471414 +0100
++++ gdb-7.9.50.20150520/gdb/config/i386/nm-linux64.h	2015-05-31 16:59:34.259018833 +0200
 @@ -0,0 +1,28 @@
 +/* Native support for GNU/Linux amd64.
 +
@@ -89,26 +89,26 @@ Index: gdb-7.8.50.20141228/gdb/config/i386/nm-linux64.h
 +#define target_can_use_hardware_watchpoint(type, cnt, ot) 1
 +
 +#endif /* NM_LINUX64_H */
-Index: gdb-7.8.50.20141228/gdb/target.h
+Index: gdb-7.9.50.20150520/gdb/target.h
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/target.h	2015-01-01 17:12:53.967472226 +0100
-+++ gdb-7.8.50.20141228/gdb/target.h	2015-01-01 17:12:55.368471414 +0100
-@@ -1754,9 +1754,11 @@ extern char *target_thread_name (struct
-    bp_hardware_breakpoint.  CNT is the number of such watchpoints used so far
-    (including this one?).  OTHERTYPE is who knows what...  */
+--- gdb-7.9.50.20150520.orig/gdb/target.h	2015-05-31 16:59:34.260018839 +0200
++++ gdb-7.9.50.20150520/gdb/target.h	2015-05-31 17:00:11.067251143 +0200
+@@ -1820,9 +1820,11 @@ extern char *target_thread_name (struct
+    CNT is the number of such watchpoints used so far, including this
+    one.  OTHERTYPE is who knows what...  */
  
 +#ifndef target_can_use_hardware_watchpoint
  #define target_can_use_hardware_watchpoint(TYPE,CNT,OTHERTYPE) \
   (*current_target.to_can_use_hw_breakpoint) (&current_target,  \
- 					     TYPE, CNT, OTHERTYPE);
+ 					     TYPE, CNT, OTHERTYPE)
 +#endif
  
  /* Returns the number of debug registers needed to watch the given
     memory region, or zero if not supported.  */
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.base/watchpoint-hw-before-run.exp
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.base/watchpoint-hw-before-run.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.base/watchpoint-hw-before-run.exp	2015-01-01 17:12:55.369471413 +0100
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.base/watchpoint-hw-before-run.exp	2015-05-31 16:59:34.261018846 +0200
 @@ -0,0 +1,40 @@
 +# Copyright 2009, 2010 Free Software Foundation, Inc.
 +

diff --git a/gdb-dts-rhel6-python-compat.patch b/gdb-dts-rhel6-python-compat.patch
index 749e2cf..8388c86 100644
--- a/gdb-dts-rhel6-python-compat.patch
+++ b/gdb-dts-rhel6-python-compat.patch
@@ -1,9 +1,9 @@
 https://bugzilla.redhat.com/show_bug.cgi?id=1020004
 
-Index: gdb-7.8.50.20141228/gdb/data-directory/Makefile.in
+Index: gdb-7.9.50.20150520/gdb/data-directory/Makefile.in
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/data-directory/Makefile.in	2015-01-05 22:51:10.707756810 +0100
-+++ gdb-7.8.50.20141228/gdb/data-directory/Makefile.in	2015-01-05 22:51:48.608923139 +0100
+--- gdb-7.9.50.20150520.orig/gdb/data-directory/Makefile.in	2015-05-31 18:05:43.046746351 +0200
++++ gdb-7.9.50.20150520/gdb/data-directory/Makefile.in	2015-05-31 18:05:58.483841655 +0200
 @@ -60,6 +60,8 @@ PYTHON_FILE_LIST = \
  	gdb/frames.py \
  	gdb/FrameIterator.py \
@@ -12,8 +12,8 @@ Index: gdb-7.8.50.20141228/gdb/data-directory/Makefile.in
 +	gdb/backtrace.py \
  	gdb/types.py \
  	gdb/printing.py \
- 	gdb/prompt.py \
-@@ -74,6 +76,7 @@ PYTHON_FILE_LIST = \
+ 	gdb/unwinder.py \
+@@ -76,6 +78,7 @@ PYTHON_FILE_LIST = \
  	gdb/command/pretty_printers.py \
  	gdb/command/prompt.py \
  	gdb/command/explore.py \
@@ -21,10 +21,10 @@ Index: gdb-7.8.50.20141228/gdb/data-directory/Makefile.in
  	gdb/function/__init__.py \
  	gdb/function/caller_is.py \
  	gdb/function/strfns.py \
-Index: gdb-7.8.50.20141228/gdb/python/lib/gdb/FrameWrapper.py
+Index: gdb-7.9.50.20150520/gdb/python/lib/gdb/FrameWrapper.py
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/python/lib/gdb/FrameWrapper.py	2015-01-05 22:51:24.706818245 +0100
++++ gdb-7.9.50.20150520/gdb/python/lib/gdb/FrameWrapper.py	2015-05-31 18:05:58.484841661 +0200
 @@ -0,0 +1,122 @@
 +# Wrapper API for frames.
 +
@@ -148,10 +148,10 @@ Index: gdb-7.8.50.20141228/gdb/python/lib/gdb/FrameWrapper.py
 +
 +    def __getattr__ (self, name):
 +        return getattr (self.frame, name)
-Index: gdb-7.8.50.20141228/gdb/python/lib/gdb/backtrace.py
+Index: gdb-7.9.50.20150520/gdb/python/lib/gdb/backtrace.py
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/python/lib/gdb/backtrace.py	2015-01-05 22:51:24.706818245 +0100
++++ gdb-7.9.50.20150520/gdb/python/lib/gdb/backtrace.py	2015-05-31 18:05:58.484841661 +0200
 @@ -0,0 +1,42 @@
 +# Filtering backtrace.
 +
@@ -195,10 +195,10 @@ Index: gdb-7.8.50.20141228/gdb/python/lib/gdb/backtrace.py
 +        return iter
 +    return old_frame_filter (iter)
 +
-Index: gdb-7.8.50.20141228/gdb/python/lib/gdb/command/backtrace.py
+Index: gdb-7.9.50.20150520/gdb/python/lib/gdb/command/backtrace.py
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/python/lib/gdb/command/backtrace.py	2015-01-05 22:51:24.707818249 +0100
++++ gdb-7.9.50.20150520/gdb/python/lib/gdb/command/backtrace.py	2015-05-31 18:05:58.484841661 +0200
 @@ -0,0 +1,106 @@
 +# New backtrace command.
 +

diff --git a/gdb-enable-count-crash.patch b/gdb-enable-count-crash.patch
deleted file mode 100644
index 4cdd5ba..0000000
--- a/gdb-enable-count-crash.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-http://sourceware.org/ml/gdb-patches/2013-06/msg00788.html
-Subject: [PATCH] "enable count" user input error handling (PR gdb/15678)
-
-Typing "enable count" by itself crashes GDB. Also, if you omit the
-breakpoint number/range, the error message is not very clear:
-
-(gdb) enable count 2
-warning: bad breakpoint number at or near ''
-(gdb) enable count
-Segmentation fault (core dumped)
-
-With this patch, the error messages are slightly more helpful:
-
-(gdb) enable count 2
-Argument required (one or more breakpoint numbers).
-(gdb) enable count
-Argument required (hit count).
-
-They are not as helpful to the user as I would like, but it's better
-than crashing. Suggestions are welcome.
-
-Simon
-
-gdb/ChangeLog:
-2013-06-26  Simon Marchi  <simon.marchi@ericsson.com>
-
-	* breakpoint.c (map_breakpoint_numbers): Check for empty args
-	string.
-	(enable_count_command): Check args for NULL value.
-
-gdb/testsuite/ChangeLog:
-2013-06-26  Simon Marchi  <simon.marchi@ericsson.com>
-
-	* gdb.base/ena-dis-br.exp: Test "enable count" for bad user input.
----
- gdb/breakpoint.c                      | 9 +++++++--
- gdb/testsuite/gdb.base/ena-dis-br.exp | 8 ++++++++
- 2 files changed, 15 insertions(+), 2 deletions(-)
-
-Index: gdb-7.8.50.20141228/gdb/breakpoint.c
-===================================================================
---- gdb-7.8.50.20141228.orig/gdb/breakpoint.c	2015-01-05 22:21:47.631801558 +0100
-+++ gdb-7.8.50.20141228/gdb/breakpoint.c	2015-01-05 22:26:13.165005049 +0100
-@@ -14849,7 +14849,7 @@ map_breakpoint_numbers (char *args, void
-   int match;
-   struct get_number_or_range_state state;
- 
--  if (args == 0)
-+  if (args == 0 || *args == '\0')
-     error_no_arg (_("one or more breakpoint numbers"));
- 
-   init_number_or_range (&state, args);
-@@ -15186,7 +15186,12 @@ do_map_enable_count_breakpoint (struct b
- static void
- enable_count_command (char *args, int from_tty)
- {
--  int count = get_number (&args);
-+  int count;
-+
-+  if (args == NULL)
-+    error_no_arg (_("hit count"));
-+
-+  count = get_number (&args);
- 
-   map_breakpoint_numbers (args, do_map_enable_count_breakpoint, &count);
- }
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.base/ena-dis-br.exp
-===================================================================
---- gdb-7.8.50.20141228.orig/gdb/testsuite/gdb.base/ena-dis-br.exp	2015-01-05 22:26:13.165005049 +0100
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.base/ena-dis-br.exp	2015-01-05 22:26:51.357178150 +0100
-@@ -151,6 +151,14 @@ set bp [break_at $bp_location7 "line $bp
- 
- set bp2 [break_at marker1 " line $bp_location15"]
- 
-+gdb_test "enable count" \
-+    "Argument required \\(hit count\\)\\." \
-+    "enable count missing arguments"
-+
-+gdb_test "enable count 2" \
-+    "Argument required \\(one or more breakpoint numbers\\)\\." \
-+    "enable count missing last argument"
-+
- gdb_test_no_output "enable count 2 $bp" "disable break with count"
- 
- gdb_test "continue" \

diff --git a/gdb-glibc-vdso-workaround.patch b/gdb-glibc-vdso-workaround.patch
index 48646d7..601cf2a 100644
--- a/gdb-glibc-vdso-workaround.patch
+++ b/gdb-glibc-vdso-workaround.patch
@@ -11,11 +11,13 @@ gdb/
 	Work around PR libc/13097.
 	* solib.c (update_solib_list): Ignore "linux-vdso.so.1".
 
---- a/gdb/solib.c
-+++ b/gdb/solib.c
-@@ -783,8 +783,11 @@ update_solib_list (int from_tty, struct target_ops *target)
+Index: gdb-7.9.50.20150520/gdb/solib.c
+===================================================================
+--- gdb-7.9.50.20150520.orig/gdb/solib.c	2015-05-31 17:04:16.870802493 +0200
++++ gdb-7.9.50.20150520/gdb/solib.c	2015-05-31 17:04:38.824941054 +0200
+@@ -893,8 +893,11 @@ update_solib_list (int from_tty, struct
  
- 	  TRY_CATCH (e, RETURN_MASK_ERROR)
+ 	  TRY
  	    {
 -	      /* Fill in the rest of the `struct so_list' node.  */
 -	      if (!solib_map_sections (i))
@@ -27,4 +29,3 @@ gdb/
  		{
  		  not_found++;
  		  if (not_found_filename == NULL)
-

diff --git a/gdb-no-dg-extract-results-py.patch b/gdb-no-dg-extract-results-py.patch
deleted file mode 100644
index 40e1fea..0000000
--- a/gdb-no-dg-extract-results-py.patch
+++ /dev/null
@@ -1,589 +0,0 @@
-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 <tool>.
--    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-python-gil.patch b/gdb-python-gil.patch
index b2d9de9..1e3b0b9 100644
--- a/gdb-python-gil.patch
+++ b/gdb-python-gil.patch
@@ -1,7 +1,8 @@
-diff -dup -ruNp gdb-7.8-orig/gdb/doc/python.texi gdb-7.8/gdb/doc/python.texi
---- gdb-7.8-orig/gdb/doc/python.texi	2014-08-13 22:04:14.162441271 +0200
-+++ gdb-7.8/gdb/doc/python.texi	2014-08-13 22:07:20.894643853 +0200
-@@ -228,6 +228,14 @@ returned as a string.  The default is @c
+Index: gdb-7.9.50.20150520/gdb/doc/python.texi
+===================================================================
+--- gdb-7.9.50.20150520.orig/gdb/doc/python.texi	2015-05-31 17:57:12.431593983 +0200
++++ gdb-7.9.50.20150520/gdb/doc/python.texi	2015-05-31 17:57:14.654607708 +0200
+@@ -229,6 +229,14 @@ returned as a string.  The default is @c
  return value is @code{None}.  If @var{to_string} is @code{True}, the
  @value{GDBN} virtual terminal will be temporarily set to unlimited width
  and height, and its pagination will be disabled; @pxref{Screen Size}.
@@ -16,10 +17,11 @@ diff -dup -ruNp gdb-7.8-orig/gdb/doc/python.texi gdb-7.8/gdb/doc/python.texi
  @end defun
  
  @findex gdb.breakpoints
-diff -dup -ruNp gdb-7.8-orig/gdb/python/python-internal.h gdb-7.8/gdb/python/python-internal.h
---- gdb-7.8-orig/gdb/python/python-internal.h	2014-08-13 22:04:14.835441977 +0200
-+++ gdb-7.8/gdb/python/python-internal.h	2014-08-13 22:07:20.895643867 +0200
-@@ -143,6 +143,8 @@ typedef int Py_ssize_t;
+Index: gdb-7.9.50.20150520/gdb/python/python-internal.h
+===================================================================
+--- gdb-7.9.50.20150520.orig/gdb/python/python-internal.h	2015-05-31 17:57:12.432593989 +0200
++++ gdb-7.9.50.20150520/gdb/python/python-internal.h	2015-05-31 17:57:14.654607708 +0200
+@@ -142,6 +142,8 @@ typedef int Py_ssize_t;
  #define PyGILState_Release(ARG) ((void)(ARG))
  #define PyEval_InitThreads()
  #define PyThreadState_Swap(ARG) ((void)(ARG))
@@ -28,18 +30,18 @@ diff -dup -ruNp gdb-7.8-orig/gdb/python/python-internal.h gdb-7.8/gdb/python/pyt
  #define PyEval_ReleaseLock()
  #endif
  
-diff -dup -ruNp gdb-7.8-orig/gdb/python/python.c gdb-7.8/gdb/python/python.c
---- gdb-7.8-orig/gdb/python/python.c	2014-08-13 22:04:14.164441273 +0200
-+++ gdb-7.8/gdb/python/python.c	2014-08-13 22:07:20.895643867 +0200
-@@ -620,14 +620,19 @@ execute_gdb_command (PyObject *self, PyO
+Index: gdb-7.9.50.20150520/gdb/python/python.c
+===================================================================
+--- gdb-7.9.50.20150520.orig/gdb/python/python.c	2015-05-31 17:57:14.656607720 +0200
++++ gdb-7.9.50.20150520/gdb/python/python.c	2015-05-31 18:02:08.891424227 +0200
+@@ -627,13 +627,18 @@ execute_gdb_command (PyObject *self, PyO
  {
    const char *arg;
    PyObject *from_tty_obj = NULL, *to_string_obj = NULL;
 -  int from_tty, to_string;
+-  static char *keywords[] = {"command", "from_tty", "to_string", NULL };
 +  PyObject *release_gil_obj = NULL;
 +  int from_tty, to_string, release_gil;
-   volatile struct gdb_exception except;
--  static char *keywords[] = {"command", "from_tty", "to_string", NULL };
 +  static char *keywords[] = {"command", "from_tty", "to_string",
 +			     "release_gil", NULL };
    char *result = NULL;
@@ -55,7 +57,7 @@ diff -dup -ruNp gdb-7.8-orig/gdb/python/python.c gdb-7.8/gdb/python/python.c
      return NULL;
  
    from_tty = 0;
-@@ -648,12 +652,28 @@ execute_gdb_command (PyObject *self, PyO
+@@ -654,12 +659,28 @@ execute_gdb_command (PyObject *self, PyO
        to_string = cmp;
      }
  
@@ -68,7 +70,7 @@ diff -dup -ruNp gdb-7.8-orig/gdb/python/python.c gdb-7.8/gdb/python/python.c
 +      release_gil = cmp;
 +    }
 +
-   TRY_CATCH (except, RETURN_MASK_ALL)
+   TRY
      {
        /* Copy the argument text in case the command modifies it.  */
        char *copy = xstrdup (arg);
@@ -84,7 +86,7 @@ diff -dup -ruNp gdb-7.8-orig/gdb/python/python.c gdb-7.8/gdb/python/python.c
        make_cleanup_restore_integer (&interpreter_async);
        interpreter_async = 0;
  
-@@ -666,9 +686,21 @@ execute_gdb_command (PyObject *self, PyO
+@@ -672,11 +693,23 @@ execute_gdb_command (PyObject *self, PyO
  	  execute_command (copy, from_tty);
  	}
  
@@ -94,22 +96,25 @@ diff -dup -ruNp gdb-7.8-orig/gdb/python/python.c gdb-7.8/gdb/python/python.c
 +
        do_cleanups (cleanup);
      }
--  GDB_PY_HANDLE_EXCEPTION (except);
-+  if (except.reason < 0)
-+    {
-+      /* Reacquire the GIL if it was released earlier.  */
-+      if (release_gil)
-+	PyEval_RestoreThread (state);
-+
-+      gdbpy_convert_exception (except);
-+      return NULL;
-+    }
+   CATCH (except, RETURN_MASK_ALL)
+     {
+-      GDB_PY_HANDLE_EXCEPTION (except);
++      if (except.reason < 0)
++	{
++	  /* Reacquire the GIL if it was released earlier.  */
++	  if (release_gil)
++	    PyEval_RestoreThread (state);
++
++	  gdbpy_convert_exception (except);
++	  return NULL;
++	}
+     }
+   END_CATCH
  
-   /* Do any commands attached to breakpoint we stopped at.  */
-   bpstat_do_actions ();
-diff -dup -ruNp gdb-7.8-orig/gdb/testsuite/gdb.python/py-gil-mthread.c gdb-7.8/gdb/testsuite/gdb.python/py-gil-mthread.c
---- gdb-7.8-orig/gdb/testsuite/gdb.python/py-gil-mthread.c	1970-01-01 01:00:00.000000000 +0100
-+++ gdb-7.8/gdb/testsuite/gdb.python/py-gil-mthread.c	2014-08-13 22:33:05.052648912 +0200
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.python/py-gil-mthread.c
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.python/py-gil-mthread.c	2015-05-31 17:57:14.656607720 +0200
 @@ -0,0 +1,12 @@
 +#include <stdio.h>
 +
@@ -123,9 +128,10 @@ diff -dup -ruNp gdb-7.8-orig/gdb/testsuite/gdb.python/py-gil-mthread.c gdb-7.8/g
 +      printf ("Sleeping %d\n", i);
 +    }
 +}
-diff -dup -ruNp gdb-7.8-orig/gdb/testsuite/gdb.python/py-gil-mthread.exp gdb-7.8/gdb/testsuite/gdb.python/py-gil-mthread.exp
---- gdb-7.8-orig/gdb/testsuite/gdb.python/py-gil-mthread.exp	1970-01-01 01:00:00.000000000 +0100
-+++ gdb-7.8/gdb/testsuite/gdb.python/py-gil-mthread.exp	2014-08-13 22:33:00.660641300 +0200
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.python/py-gil-mthread.exp
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.python/py-gil-mthread.exp	2015-05-31 17:57:14.657607726 +0200
 @@ -0,0 +1,69 @@
 +# Copyright (C) 2014 Free Software Foundation, Inc.
 +
@@ -196,9 +202,10 @@ diff -dup -ruNp gdb-7.8-orig/gdb/testsuite/gdb.python/py-gil-mthread.exp gdb-7.8
 +	}
 +    }
 +}
-diff -dup -ruNp gdb-7.8-orig/gdb/testsuite/gdb.python/py-gil-mthread.py gdb-7.8/gdb/testsuite/gdb.python/py-gil-mthread.py
---- gdb-7.8-orig/gdb/testsuite/gdb.python/py-gil-mthread.py	1970-01-01 01:00:00.000000000 +0100
-+++ gdb-7.8/gdb/testsuite/gdb.python/py-gil-mthread.py	2014-08-13 22:33:08.996654320 +0200
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.python/py-gil-mthread.py
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.python/py-gil-mthread.py	2015-05-31 17:57:14.657607726 +0200
 @@ -0,0 +1,22 @@
 +import thread
 +import time

diff --git a/gdb-python3-py_hash_t-32bit.patch b/gdb-python3-py_hash_t-32bit.patch
deleted file mode 100644
index ad3a6f6..0000000
--- a/gdb-python3-py_hash_t-32bit.patch
+++ /dev/null
@@ -1,175 +0,0 @@
-http://sourceware.org/ml/gdb-patches/2015-02/msg00091.html
-Subject: [patch] Fix Python 3 build error on 32-bit hosts
-
-
---ZPt4rx8FFjLCG7dd
-Content-Type: text/plain; charset=iso-2022-jp
-Content-Disposition: inline
-
-Hi,
-
-on Fedora Rawhide (==22) i686 using --with-python=/usr/bin/python3 one gets:
-
-gcc -g   -I. -I. -I./common -I./config -DLOCALEDIR="\"/usr/local/share/locale\"" -DHAVE_CONFIG_H -I./../include/opcode -I./../opcodes/.. -I./../readline/.. -I../bfd -I./../bfd -I./../include -I../libdecnumber -I./../libdecnumber  -I./gnulib/import -Ibuild-gnulib/import   -DTUI=1   -pthread -I/usr/include/guile/2.0  -I/usr/include/python3.4m -I/usr/include/python3.4m -Wall -Wdeclaration-after-statement -Wpointer-arith -Wpointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wmissing-prototypes -Wdeclaration-after-statement -Wempty-body -Wmissing-parameter-type -Wold-style-declaration -Wold-style-definition -Wformat-nonliteral -Werror -c -o py-value.o -MT py-value.o -MMD -MP -MF .deps/py-value.Tpo -fno-strict-aliasing -DNDEBUG -fwrapv ./python/py-value.c
-./python/py-value.c:1696:3: error: initialization from incompatible pointer type [-Werror]
-   valpy_hash,            /*tp_hash*/
-   ^
-./python/py-value.c:1696:3: error: (near initialization for ^[$B!F^[(Bvalue_object_type.tp_hash^[$B!G^[(B) [-Werror]
-cc1: all warnings being treated as errors
-Makefile:2628: recipe for target 'py-value.o' failed
-
-This is because in Python 2 tp_hash was:
-	typedef long (*hashfunc)(PyObject *);
-while in Python 3 tp_hash is:
-	typedef Py_hash_t (*hashfunc)(PyObject *);
-
-Py_hash_t is int for 32-bit hosts and long for 64-bit hosts.  While on 32-bit
-hosts sizeof(long)==sizeof(int) still the hashfunc type is formally
-incompatible.  As this patch should have no compiled code change it is not
-really necessary for gdb-7.9, it would fix there just this non-fatal
-compilation warning:
-	./python/py-value.c:1696:3: warning: initialization from incompatible pointer type
-	   valpy_hash,            /*tp_hash*/
-	   ^
-	./python/py-value.c:1696:3: warning: (near initialization for ^[$B!F^[(Bvalue_object_type.tp_hash^[$B!G^[(B)
-
-A question is whether the autoconf test isn't an overkill.  One could use
-instead just:
-	#if PYTHON_ABI_VERSION >= 3
-Also one could use that #if either just at the valpy_hash() definition or one
-could provide Py_hash_t in gdb/defs.h or one could provide some GDB_Py_hash_t
-in gdb/defs.h.
-
-Tested compilation with:
-	python-devel-2.7.9-4.fc22.x86_64
-	python-devel-2.7.9-4.fc22.i686
-	python3-devel-3.4.2-4.fc22.x86_64
-	python3-devel-3.4.2-4.fc22.i686
-
-
-Jan
-
---ZPt4rx8FFjLCG7dd
-Content-Type: text/plain; charset=us-ascii
-Content-Disposition: inline; filename=1
-
-gdb/
-2015-02-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
-
-	* configure.ac <"${have_libpython}" != no>: Define Py_hash_t.
-	* python/py-value.c (valpy_fetch_lazy): Use it.  Remove cast to the
-	return type.
-	* config.in: Regenerate.
-	* configure: Regenerate.
-
-diff --git a/gdb/config.in b/gdb/config.in
-index 806cbac..44acfac 100644
---- a/gdb/config.in
-+++ b/gdb/config.in
-@@ -617,6 +617,9 @@
- /* Define if the python directory should be relocated when GDB is moved. */
- #undef PYTHON_PATH_RELOCATABLE
- 
-+/* Provide Python 3 Py_hash_t for Python 2. */
-+#undef Py_hash_t
-+
- /* Relocated directory for source files. */
- #undef RELOC_SRCDIR
- 
-diff --git a/gdb/configure b/gdb/configure
-index 9632f9a..65f5b2c 100755
---- a/gdb/configure
-+++ b/gdb/configure
-@@ -8749,6 +8749,45 @@ rm -f conftest.err conftest.$ac_ext
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${python_has_threads}" >&5
- $as_echo "${python_has_threads}" >&6; }
-   CPPFLAGS="${saved_CPPFLAGS}"
-+
-+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Py_hash_t" >&5
-+$as_echo_n "checking for Py_hash_t... " >&6; }
-+if test "${gdb_cv_Py_hash_t+set}" = set; then :
-+  $as_echo_n "(cached) " >&6
-+else
-+  old_CFLAGS="$CFLAGS"
-+    CFLAGS="$CFLAGS $PYTHON_CFLAGS"
-+    old_CPPFLAGS="$CPPFLAGS"
-+    CPPFLAGS="$CPPFLAGS $PYTHON_CPPFLAGS"
-+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h.  */
-+#include <Python.h>
-+int
-+main ()
-+{
-+Py_hash_t var;
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+  gdb_cv_Py_hash_t=yes
-+else
-+  gdb_cv_Py_hash_t=no
-+
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+    CPPFLAGS="$old_CPPFLAGS"
-+    CFLAGS="$old_CFLAGS"
-+
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gdb_cv_Py_hash_t" >&5
-+$as_echo "$gdb_cv_Py_hash_t" >&6; }
-+  if test "x$gdb_cv_Py_hash_t" = "xno"; then
-+
-+$as_echo "#define Py_hash_t long" >>confdefs.h
-+
-+  fi
- else
-   # Even if Python support is not compiled in, we need to have this file
-   # included so that the "python" command, et.al., still exists.
-diff --git a/gdb/configure.ac b/gdb/configure.ac
-index dfc6947..f335b7b 100644
---- a/gdb/configure.ac
-+++ b/gdb/configure.ac
-@@ -1016,6 +1016,25 @@ if test "${have_libpython}" != no; then
-   ]]), [python_has_threads=no], [python_has_threads=yes])
-   AC_MSG_RESULT(${python_has_threads})
-   CPPFLAGS="${saved_CPPFLAGS}"
-+
-+  AC_CACHE_CHECK([for Py_hash_t], gdb_cv_Py_hash_t,
-+    old_CFLAGS="$CFLAGS"
-+    CFLAGS="$CFLAGS $PYTHON_CFLAGS"
-+    old_CPPFLAGS="$CPPFLAGS"
-+    CPPFLAGS="$CPPFLAGS $PYTHON_CPPFLAGS"
-+    AC_TRY_COMPILE(
-+      [#include <Python.h>],
-+      [Py_hash_t var;],
-+      gdb_cv_Py_hash_t=yes,
-+      gdb_cv_Py_hash_t=no
-+    )
-+    CPPFLAGS="$old_CPPFLAGS"
-+    CFLAGS="$old_CFLAGS"
-+  )
-+  if test "x$gdb_cv_Py_hash_t" = "xno"; then
-+    AC_DEFINE(Py_hash_t, long,
-+	      [Provide Python 3 Py_hash_t for Python 2.])
-+  fi
- else
-   # Even if Python support is not compiled in, we need to have this file
-   # included so that the "python" command, et.al., still exists.
-diff --git a/gdb/python/py-value.c b/gdb/python/py-value.c
-index 4c4d36e..5a13777 100644
---- a/gdb/python/py-value.c
-+++ b/gdb/python/py-value.c
-@@ -895,10 +895,10 @@ valpy_fetch_lazy (PyObject *self, PyObject *args)
- 
- /* Calculate and return the address of the PyObject as the value of
-    the builtin __hash__ call.  */
--static long
-+static Py_hash_t
- valpy_hash (PyObject *self)
- {
--  return (long) (intptr_t) self;
-+  return (intptr_t) self;
- }
- 
- enum valpy_opcode

diff --git a/gdb-python3-testsuite.patch b/gdb-python3-testsuite.patch
deleted file mode 100644
index 9981777..0000000
--- a/gdb-python3-testsuite.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-http://sourceware.org/ml/gdb-patches/2015-02/msg00361.html
-Subject: PR python/17927 (Python 3 testsuite compatability)
-
-This patch updates the Python testsuite to maintain Python 3
-compatibility.  I'll check it in under the obvious tomorrow (if
-nobody objects otherwise.)
-
-Cheers
-
-Phil
-
-
-2015-02-16  Phil Muldoon  <pmuldoon@redhat.com>
-
-    PR python/17927
-    * gdb.python/py-objfile.exp: Use print ()
-    * gdb.python/py-type.exp: Ditto.
-    * gdb.python/py-framefilter.py: Update to use map in
-    Python 3.
-
---
-
-diff --git a/gdb/testsuite/gdb.python/py-framefilter.py b/gdb/testsuite/gdb.python/py-framefilter.py
-index 0de026c..8c65edc 100644
---- a/gdb/testsuite/gdb.python/py-framefilter.py
-+++ b/gdb/testsuite/gdb.python/py-framefilter.py
-@@ -145,7 +145,10 @@ class ErrorFilter():
-         gdb.frame_filters [self.name] = self
- 
-     def filter(self, frame_iter):
--        return itertools.imap(ErrorInName, frame_iter)
-+        if hasattr(itertools, "imap"):
-+            return itertools.imap(ErrorInName, frame_iter)
-+        else:
-+            return map(ErrorInName, frame_iter)
- 
- FrameFilter()
- FrameElider()
-diff --git a/gdb/testsuite/gdb.python/py-type.exp b/gdb/testsuite/gdb.python/py-type.exp
-index c4c8d9f..6c4e5f8 100644
---- a/gdb/testsuite/gdb.python/py-type.exp
-+++ b/gdb/testsuite/gdb.python/py-type.exp
-@@ -247,10 +247,10 @@ restart_gdb "${binfile}"
- # Skip all tests if Python scripting is not enabled.
- if { [skip_python_tests] } { continue }
- 
--gdb_test "python print gdb.lookup_type('char').array(1, 0)" \
-+gdb_test "python print (gdb.lookup_type('char').array(1, 0))" \
-     "char \\\[0\\\]"
- 
--gdb_test "python print gdb.lookup_type('char').array(1, -1)" \
-+gdb_test "python print (gdb.lookup_type('char').array(1, -1))" \
-     "Array length must not be negative.*"
- 
- with_test_prefix "lang_c" {
-

diff --git a/gdb-rhbz795424-bitpos-20of25.patch b/gdb-rhbz795424-bitpos-20of25.patch
index 5219a7a..21eaed8 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.90.20150202/gdb/ada-lang.c
+Index: gdb-7.9.50.20150520/gdb/ada-lang.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/ada-lang.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/ada-lang.c	2015-02-11 16:01:59.586966229 +0100
+--- gdb-7.9.50.20150520.orig/gdb/ada-lang.c	2015-05-31 17:08:46.807506157 +0200
++++ gdb-7.9.50.20150520/gdb/ada-lang.c	2015-05-31 17:11:22.122486403 +0200
 @@ -74,7 +74,7 @@ static struct type *desc_bounds_type (st
  
  static struct value *desc_bounds (struct value *);
@@ -557,7 +557,7 @@ Index: gdb-7.8.90.20150202/gdb/ada-lang.c
  {
    if (address == 0)
      return 0;
-@@ -1712,7 +1713,7 @@ desc_bounds (struct value *arr)
+@@ -1711,7 +1712,7 @@ desc_bounds (struct value *arr)
  /* If TYPE is the type of an array-descriptor (fat pointer),  the bit
     position of the field containing the address of the bounds data.  */
  
@@ -566,7 +566,7 @@ Index: gdb-7.8.90.20150202/gdb/ada-lang.c
  fat_pntr_bounds_bitpos (struct type *type)
  {
    return TYPE_FIELD_BITPOS (desc_base_type (type), 1);
-@@ -1778,7 +1779,7 @@ desc_data (struct value *arr)
+@@ -1777,7 +1778,7 @@ desc_data (struct value *arr)
  /* If TYPE is the type of an array-descriptor (fat pointer), the bit
     position of the field containing the address of the data.  */
  
@@ -575,7 +575,7 @@ Index: gdb-7.8.90.20150202/gdb/ada-lang.c
  fat_pntr_data_bitpos (struct type *type)
  {
    return TYPE_FIELD_BITPOS (desc_base_type (type), 0);
-@@ -1813,7 +1814,7 @@ desc_one_bound (struct value *bounds, in
+@@ -1812,7 +1813,7 @@ desc_one_bound (struct value *bounds, in
     of the Ith lower bound stored in it, if WHICH is 0, and the Ith upper
     bound, if WHICH is 1.  The first bound is I=1.  */
  
@@ -584,7 +584,7 @@ Index: gdb-7.8.90.20150202/gdb/ada-lang.c
  desc_bound_bitpos (struct type *type, int i, int which)
  {
    return TYPE_FIELD_BITPOS (desc_base_type (type), 2 * i + which - 2);
-@@ -2003,7 +2004,7 @@ ada_type_of_array (struct value *arr, in
+@@ -2002,7 +2003,7 @@ ada_type_of_array (struct value *arr, in
  	         zero, and does not need to be recomputed.  */
  	      if (lo < hi)
  		{
@@ -593,7 +593,7 @@ Index: gdb-7.8.90.20150202/gdb/ada-lang.c
  		        (hi - lo + 1) * TYPE_FIELD_BITSIZE (elt_type, 0);
  
  		  TYPE_LENGTH (array_type) = (array_bitsize + 7) / 8;
-@@ -2163,7 +2164,7 @@ decode_packed_array_bitsize (struct type
+@@ -2162,7 +2163,7 @@ decode_packed_array_bitsize (struct type
     the length is arbitrary.  */
  
  static struct type *
@@ -602,7 +602,7 @@ Index: gdb-7.8.90.20150202/gdb/ada-lang.c
  {
    struct type *new_elt_type;
    struct type *new_type;
-@@ -2217,7 +2218,7 @@ decode_constrained_packed_array_type (st
+@@ -2216,7 +2217,7 @@ decode_constrained_packed_array_type (st
    char *name;
    const char *tail;
    struct type *shadow_type;
@@ -611,7 +611,7 @@ Index: gdb-7.8.90.20150202/gdb/ada-lang.c
  
    if (!raw_name)
      raw_name = ada_type_name (desc_base_type (type));
-@@ -2288,7 +2289,8 @@ decode_constrained_packed_array (struct
+@@ -2287,7 +2288,8 @@ decode_constrained_packed_array (struct
   	 array with no wrapper.  In order to interpret the value through
   	 the (left-justified) packed array type we just built, we must
   	 first left-justify it.  */
@@ -621,7 +621,7 @@ Index: gdb-7.8.90.20150202/gdb/ada-lang.c
        ULONGEST mod;
  
        mod = ada_modulus (value_type (arr)) - 1;
-@@ -2389,15 +2391,16 @@ has_negatives (struct type *type)
+@@ -2388,15 +2390,16 @@ has_negatives (struct type *type)
  
  struct value *
  ada_value_primitive_packed_val (struct value *obj, const gdb_byte *valaddr,
@@ -644,7 +644,7 @@ Index: gdb-7.8.90.20150202/gdb/ada-lang.c
                                     byte of source that are unused */
      accumSize;                  /* Number of meaningful bits in accum */
    unsigned char *bytes;         /* First byte containing data to unpack */
-@@ -2431,7 +2434,7 @@ ada_value_primitive_packed_val (struct v
+@@ -2441,7 +2444,7 @@ ada_value_primitive_packed_val (struct v
  
    if (obj != NULL)
      {
@@ -653,7 +653,7 @@ Index: gdb-7.8.90.20150202/gdb/ada-lang.c
  
        set_value_component_location (v, obj);
        set_value_bitpos (v, bit_offset + value_bitpos (obj));
-@@ -2547,7 +2550,7 @@ ada_value_primitive_packed_val (struct v
+@@ -2562,7 +2565,7 @@ ada_value_primitive_packed_val (struct v
     not overlap.  */
  static void
  move_bits (gdb_byte *target, int targ_offset, const gdb_byte *source,
@@ -662,7 +662,7 @@ Index: gdb-7.8.90.20150202/gdb/ada-lang.c
  {
    unsigned int accum, mask;
    int accum_bits, chunk_size;
-@@ -2637,7 +2640,7 @@ ada_value_assign (struct value *toval, s
+@@ -2652,7 +2655,7 @@ ada_value_assign (struct value *toval, s
      {
        int len = (value_bitpos (toval)
  		 + bits + HOST_CHAR_BIT - 1) / HOST_CHAR_BIT;
@@ -671,16 +671,16 @@ Index: gdb-7.8.90.20150202/gdb/ada-lang.c
        gdb_byte *buffer = alloca (len);
        struct value *val;
        CORE_ADDR to_addr = value_address (toval);
-@@ -2682,7 +2685,7 @@ value_assign_to_component (struct value
+@@ -2703,7 +2706,7 @@ value_assign_to_component (struct value
      (LONGEST)  (value_address (component) - value_address (container));
-   int bit_offset_in_container = 
+   int bit_offset_in_container =
      value_bitpos (component) - value_bitpos (container);
 -  int bits;
 +  LONGEST bits;
-   
+ 
    val = value_cast (value_type (component), val);
  
-@@ -4219,7 +4222,7 @@ ensure_lval (struct value *val)
+@@ -4294,7 +4297,7 @@ ensure_lval (struct value *val)
    if (VALUE_LVAL (val) == not_lval
        || VALUE_LVAL (val) == lval_internalvar)
      {
@@ -689,7 +689,7 @@ Index: gdb-7.8.90.20150202/gdb/ada-lang.c
        const CORE_ADDR addr =
          value_as_long (value_allocate_space_in_inferior (len));
  
-@@ -4293,7 +4296,7 @@ static CORE_ADDR
+@@ -4378,7 +4381,7 @@ static CORE_ADDR
  value_pointer (struct value *value, struct type *type)
  {
    struct gdbarch *gdbarch = get_type_arch (type);
@@ -698,7 +698,7 @@ Index: gdb-7.8.90.20150202/gdb/ada-lang.c
    gdb_byte *buf = alloca (len);
    CORE_ADDR addr;
  
-@@ -6436,7 +6439,7 @@ value_tag_from_contents_and_address (str
+@@ -6521,7 +6524,7 @@ value_tag_from_contents_and_address (str
  				     const gdb_byte *valaddr,
                                       CORE_ADDR address)
  {
@@ -707,7 +707,7 @@ Index: gdb-7.8.90.20150202/gdb/ada-lang.c
    struct type *tag_type;
  
    if (find_struct_field ("_tag", type, 0, &tag_type, &tag_byte_offset,
-@@ -6901,7 +6904,7 @@ ada_in_variant (LONGEST val, struct type
+@@ -6991,7 +6994,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.90.20150202/gdb/ada-lang.c
                             struct type *arg_type)
  {
    struct type *type;
-@@ -6913,7 +6916,7 @@ ada_value_primitive_field (struct value
+@@ -7003,7 +7006,7 @@ ada_value_primitive_field (struct value
  
    if (TYPE_FIELD_BITSIZE (arg_type, fieldno) != 0)
      {
@@ -725,7 +725,7 @@ Index: gdb-7.8.90.20150202/gdb/ada-lang.c
        int bit_size = TYPE_FIELD_BITSIZE (arg_type, fieldno);
  
        return ada_value_primitive_packed_val (arg1, value_contents (arg1),
-@@ -6940,9 +6943,9 @@ ada_value_primitive_field (struct value
+@@ -7030,9 +7033,9 @@ ada_value_primitive_field (struct value
     Returns 1 if found, 0 otherwise.  */
  
  static int
@@ -737,7 +737,7 @@ Index: gdb-7.8.90.20150202/gdb/ada-lang.c
  		   int *index_p)
  {
    int i;
-@@ -6960,8 +6963,8 @@ find_struct_field (const char *name, str
+@@ -7050,8 +7053,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.90.20150202/gdb/ada-lang.c
        const char *t_field_name = TYPE_FIELD_NAME (type, i);
  
        if (t_field_name == NULL)
-@@ -7031,7 +7034,7 @@ num_visible_fields (struct type *type)
+@@ -7121,7 +7124,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.90.20150202/gdb/ada-lang.c
                           struct type *type)
  {
    int i;
-@@ -7064,7 +7067,7 @@ ada_search_struct_field (char *name, str
+@@ -7154,7 +7157,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.90.20150202/gdb/ada-lang.c
  
            for (j = 0; j < TYPE_NFIELDS (field_type); j += 1)
              {
-@@ -7082,8 +7085,8 @@ ada_search_struct_field (char *name, str
+@@ -7172,8 +7175,8 @@ ada_search_struct_field (char *name, str
    return NULL;
  }
  
@@ -777,7 +777,7 @@ Index: gdb-7.8.90.20150202/gdb/ada-lang.c
  
  
  /* Return field #INDEX in ARG, where the index is that returned by
-@@ -7092,7 +7095,7 @@ static struct value *ada_index_struct_fi
+@@ -7182,7 +7185,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.90.20150202/gdb/ada-lang.c
  			struct type *type)
  {
    return ada_index_struct_field_1 (&index, arg, offset, type);
-@@ -7104,7 +7107,7 @@ ada_index_struct_field (int index, struc
+@@ -7194,7 +7197,7 @@ ada_index_struct_field (int index, struc
   * *INDEX_P.  */
  
  static struct value *
@@ -795,7 +795,7 @@ Index: gdb-7.8.90.20150202/gdb/ada-lang.c
  			  struct type *type)
  {
    int i;
-@@ -7194,7 +7197,8 @@ ada_value_struct_elt (struct value *arg,
+@@ -7284,7 +7287,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.90.20150202/gdb/ada-lang.c
        struct type *field_type;
        CORE_ADDR address;
  
-@@ -7511,8 +7515,8 @@ ada_coerce_ref (struct value *val0)
+@@ -7601,8 +7605,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.90.20150202/gdb/ada-lang.c
  {
    return (off + alignment - 1) & ~(alignment - 1);
  }
-@@ -7894,10 +7898,9 @@ ada_template_to_fixed_record_type_1 (str
+@@ -7996,10 +8000,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.90.20150202/gdb/ada-lang.c
    int f;
  
    /* Compute the number of fields in this record type that are going
-@@ -7975,7 +7978,7 @@ ada_template_to_fixed_record_type_1 (str
+@@ -8077,7 +8080,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.90.20150202/gdb/ada-lang.c
  
  	      field_valaddr = cond_offset_host (field_valaddr, field_offset);
  	      field_address = cond_offset_target (field_address, field_offset);
-@@ -8111,11 +8114,11 @@ ada_template_to_fixed_record_type_1 (str
+@@ -8213,11 +8216,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.90.20150202/gdb/ada-lang.c
      }
    else
      {
-@@ -8539,7 +8542,8 @@ to_fixed_array_type (struct type *type0,
+@@ -8684,7 +8687,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.90.20150202/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.90.20150202/gdb/ada-lang.h
+Index: gdb-7.9.50.20150520/gdb/ada-lang.h
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/ada-lang.h	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/ada-lang.h	2015-02-11 16:01:59.586966229 +0100
+--- gdb-7.9.50.20150520.orig/gdb/ada-lang.h	2015-05-31 17:08:46.809506170 +0200
++++ gdb-7.9.50.20150520/gdb/ada-lang.h	2015-05-31 17:09:21.428724663 +0200
 @@ -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,11 +895,11 @@ Index: gdb-7.8.90.20150202/gdb/ada-lang.h
                                                       struct type *);
  
  extern struct type *ada_coerce_to_simple_array_type (struct type *);
-Index: gdb-7.8.90.20150202/gdb/ada-typeprint.c
+Index: gdb-7.9.50.20150520/gdb/ada-typeprint.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/ada-typeprint.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/ada-typeprint.c	2015-02-11 16:01:59.587966234 +0100
-@@ -883,8 +883,8 @@ ada_print_type (struct type *type0, cons
+--- gdb-7.9.50.20150520.orig/gdb/ada-typeprint.c	2015-05-31 17:08:46.809506170 +0200
++++ gdb-7.9.50.20150520/gdb/ada-typeprint.c	2015-05-31 17:09:21.429724670 +0200
+@@ -886,8 +886,8 @@ ada_print_type (struct type *type0, cons
  	    const char *name = ada_type_name (type);
  
  	    if (!ada_is_range_type_name (name))
@@ -910,7 +910,7 @@ Index: gdb-7.8.90.20150202/gdb/ada-typeprint.c
  	    else
  	      {
  		fprintf_filtered (stream, "range ");
-@@ -905,7 +905,8 @@ ada_print_type (struct type *type0, cons
+@@ -908,7 +908,8 @@ ada_print_type (struct type *type0, cons
  	  }
  	break;
        case TYPE_CODE_FLT:
@@ -920,10 +920,10 @@ Index: gdb-7.8.90.20150202/gdb/ada-typeprint.c
  	break;
        case TYPE_CODE_ENUM:
  	if (show < 0)
-Index: gdb-7.8.90.20150202/gdb/ada-valprint.c
+Index: gdb-7.9.50.20150520/gdb/ada-valprint.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/ada-valprint.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/ada-valprint.c	2015-02-11 16:01:59.587966234 +0100
+--- gdb-7.9.50.20150520.orig/gdb/ada-valprint.c	2015-05-31 17:08:46.810506176 +0200
++++ gdb-7.9.50.20150520/gdb/ada-valprint.c	2015-05-31 17:09:21.430724676 +0200
 @@ -33,11 +33,11 @@
  #include "objfiles.h"
  
@@ -938,16 +938,7 @@ Index: gdb-7.8.90.20150202/gdb/ada-valprint.c
  			       const struct language_defn *);
  \f
  
-@@ -129,7 +129,7 @@ val_print_packed_array_elements (struct
-   unsigned int things_printed = 0;
-   unsigned len;
-   struct type *elttype, *index_type;
--  unsigned eltlen;
-+  ULONGEST eltlen;
-   unsigned long bitsize = TYPE_FIELD_BITSIZE (type, 0);
-   struct value *mark = value_mark ();
-   LONGEST low = 0;
-@@ -278,7 +278,7 @@ ada_emit_char (int c, struct type *type,
+@@ -279,7 +279,7 @@ ada_emit_char (int c, struct type *type,
     of a character.  */
  
  static int
@@ -956,7 +947,7 @@ Index: gdb-7.8.90.20150202/gdb/ada-valprint.c
  	 enum bfd_endian byte_order)
  {
    if (type_len == 1)
-@@ -440,11 +440,11 @@ ada_print_scalar (struct type *type, LON
+@@ -441,11 +441,11 @@ ada_print_scalar (struct type *type, LON
  
  static void
  printstr (struct ui_file *stream, struct type *elttype, const gdb_byte *string,
@@ -970,7 +961,7 @@ Index: gdb-7.8.90.20150202/gdb/ada-valprint.c
    unsigned int things_printed = 0;
    int in_quotes = 0;
    int need_comma = 0;
-@@ -459,9 +459,9 @@ printstr (struct ui_file *stream, struct
+@@ -460,9 +460,9 @@ printstr (struct ui_file *stream, struct
      {
        /* Position of the character we are examining
           to see whether it is repeated.  */
@@ -982,7 +973,7 @@ Index: gdb-7.8.90.20150202/gdb/ada-valprint.c
  
        QUIT;
  
-@@ -492,7 +492,8 @@ printstr (struct ui_file *stream, struct
+@@ -493,7 +493,8 @@ printstr (struct ui_file *stream, struct
  	  ada_emit_char (char_at (string, i, type_len, byte_order),
  			 elttype, stream, '\'', type_len);
  	  fputs_filtered ("'", stream);
@@ -992,7 +983,7 @@ Index: gdb-7.8.90.20150202/gdb/ada-valprint.c
  	  i = rep1 - 1;
  	  things_printed += options->repeat_count_threshold;
  	  need_comma = 1;
-@@ -520,7 +521,7 @@ printstr (struct ui_file *stream, struct
+@@ -521,7 +522,7 @@ printstr (struct ui_file *stream, struct
  
  void
  ada_printstr (struct ui_file *stream, struct type *type,
@@ -1001,7 +992,7 @@ Index: gdb-7.8.90.20150202/gdb/ada-valprint.c
  	      const char *encoding, int force_ellipses,
  	      const struct value_print_options *options)
  {
-@@ -530,12 +531,12 @@ ada_printstr (struct ui_file *stream, st
+@@ -531,12 +532,12 @@ ada_printstr (struct ui_file *stream, st
  
  static int
  print_variant_part (struct type *type, int field_num,
@@ -1016,7 +1007,7 @@ Index: gdb-7.8.90.20150202/gdb/ada-valprint.c
  		    const struct language_defn *language)
  {
    struct type *var_type = TYPE_FIELD_TYPE (type, field_num);
-@@ -571,11 +572,11 @@ print_variant_part (struct type *type, i
+@@ -572,11 +573,11 @@ print_variant_part (struct type *type, i
  
  static int
  print_field_values (struct type *type, const gdb_byte *valaddr,
@@ -1030,7 +1021,7 @@ Index: gdb-7.8.90.20150202/gdb/ada-valprint.c
  		    const struct language_defn *language)
  {
    int i, len;
-@@ -642,7 +643,7 @@ print_field_values (struct type *type, c
+@@ -643,7 +644,7 @@ print_field_values (struct type *type, c
  	    }
  	  else
  	    {
@@ -1039,7 +1030,7 @@ Index: gdb-7.8.90.20150202/gdb/ada-valprint.c
  	      int bit_size = TYPE_FIELD_BITSIZE (type, i);
  	      struct value_print_options opts;
  
-@@ -688,8 +689,8 @@ ada_val_print_string (struct type *type,
+@@ -689,8 +690,8 @@ ada_val_print_string (struct type *type,
  {
    enum bfd_endian byte_order = gdbarch_byte_order (get_type_arch (type));
    struct type *elttype = TYPE_TARGET_TYPE (type);
@@ -1050,7 +1041,7 @@ Index: gdb-7.8.90.20150202/gdb/ada-valprint.c
  
    /* We know that ELTTYPE cannot possibly be null, because we assume
       that we're called only when TYPE is a string-like type.
-@@ -708,7 +709,7 @@ ada_val_print_string (struct type *type,
+@@ -709,7 +710,7 @@ ada_val_print_string (struct type *type,
       elements up to it.  */
    if (options->stop_print_at_null)
      {
@@ -1059,7 +1050,7 @@ Index: gdb-7.8.90.20150202/gdb/ada-valprint.c
  
        /* Look for a NULL char.  */
        for (temp_len = 0;
-@@ -1073,7 +1074,7 @@ ada_val_print_ref (struct type *type, co
+@@ -1074,7 +1075,7 @@ ada_val_print_ref (struct type *type, co
  
  static void
  ada_val_print_1 (struct type *type, const gdb_byte *valaddr,
@@ -1068,7 +1059,7 @@ Index: gdb-7.8.90.20150202/gdb/ada-valprint.c
  		 struct ui_file *stream, int recurse,
  		 const struct value *original_value,
  		 const struct value_print_options *options,
-@@ -1154,7 +1155,7 @@ ada_val_print_1 (struct type *type, cons
+@@ -1157,7 +1158,7 @@ ada_val_print_1 (struct type *type, cons
  
  void
  ada_val_print (struct type *type, const gdb_byte *valaddr,
@@ -1077,10 +1068,10 @@ Index: gdb-7.8.90.20150202/gdb/ada-valprint.c
  	       struct ui_file *stream, int recurse,
  	       const struct value *val,
  	       const struct value_print_options *options)
-Index: gdb-7.8.90.20150202/gdb/annotate.c
+Index: gdb-7.9.50.20150520/gdb/annotate.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/annotate.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/annotate.c	2015-02-11 16:01:59.588966239 +0100
+--- gdb-7.9.50.20150520.orig/gdb/annotate.c	2015-05-31 17:08:46.811506182 +0200
++++ gdb-7.9.50.20150520/gdb/annotate.c	2015-05-31 17:09:21.430724676 +0200
 @@ -542,21 +542,21 @@ annotate_frame_end (void)
  }
  \f
@@ -1107,10 +1098,10 @@ Index: gdb-7.8.90.20150202/gdb/annotate.c
  }
  
  void
-Index: gdb-7.8.90.20150202/gdb/annotate.h
+Index: gdb-7.9.50.20150520/gdb/annotate.h
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/annotate.h	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/annotate.h	2015-02-11 16:01:59.588966239 +0100
+--- gdb-7.9.50.20150520.orig/gdb/annotate.h	2015-05-31 17:08:46.811506182 +0200
++++ gdb-7.9.50.20150520/gdb/annotate.h	2015-05-31 17:09:21.430724676 +0200
 @@ -92,8 +92,8 @@ extern void annotate_frame_source_end (v
  extern void annotate_frame_where (void);
  extern void annotate_frame_end (void);
@@ -1122,11 +1113,11 @@ Index: gdb-7.8.90.20150202/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.90.20150202/gdb/arm-linux-nat.c
+Index: gdb-7.9.50.20150520/gdb/arm-linux-nat.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/arm-linux-nat.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/arm-linux-nat.c	2015-02-11 16:01:59.588966239 +0100
-@@ -1186,7 +1186,7 @@ arm_linux_remove_hw_breakpoint (struct t
+--- gdb-7.9.50.20150520.orig/gdb/arm-linux-nat.c	2015-05-31 17:08:46.812506188 +0200
++++ gdb-7.9.50.20150520/gdb/arm-linux-nat.c	2015-05-31 17:09:21.431724682 +0200
+@@ -1194,7 +1194,7 @@ arm_linux_remove_hw_breakpoint (struct t
     ADDR?  */
  static int
  arm_linux_region_ok_for_hw_watchpoint (struct target_ops *self,
@@ -1135,10 +1126,10 @@ Index: gdb-7.8.90.20150202/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.90.20150202/gdb/ax-gdb.c
+Index: gdb-7.9.50.20150520/gdb/ax-gdb.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/ax-gdb.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/ax-gdb.c	2015-02-11 16:01:59.589966244 +0100
+--- gdb-7.9.50.20150520.orig/gdb/ax-gdb.c	2015-05-31 17:08:46.813506195 +0200
++++ gdb-7.9.50.20150520/gdb/ax-gdb.c	2015-05-31 17:09:21.432724689 +0200
 @@ -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 +1229,10 @@ Index: gdb-7.8.90.20150202/gdb/ax-gdb.c
  {
    int i, rslt;
    int nbases = TYPE_N_BASECLASSES (type);
-Index: gdb-7.8.90.20150202/gdb/ax-general.c
+Index: gdb-7.9.50.20150520/gdb/ax-general.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/ax-general.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/ax-general.c	2015-02-11 16:01:59.589966244 +0100
+--- gdb-7.9.50.20150520.orig/gdb/ax-general.c	2015-05-31 17:08:46.814506201 +0200
++++ gdb-7.9.50.20150520/gdb/ax-general.c	2015-05-31 17:09:21.432724689 +0200
 @@ -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 +1242,10 @@ Index: gdb-7.8.90.20150202/gdb/ax-general.c
  {
    /* N must fit in a byte.  */
    if (n < 0 || n > 255)
-Index: gdb-7.8.90.20150202/gdb/ax.h
+Index: gdb-7.9.50.20150520/gdb/ax.h
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/ax.h	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/ax.h	2015-02-11 16:01:59.590966249 +0100
+--- gdb-7.9.50.20150520.orig/gdb/ax.h	2015-05-31 17:08:46.814506201 +0200
++++ gdb-7.9.50.20150520/gdb/ax.h	2015-05-31 17:09:21.432724689 +0200
 @@ -207,7 +207,7 @@ extern void ax_ext (struct agent_expr *E
  extern void ax_zero_ext (struct agent_expr *EXPR, int N);
  
@@ -1264,11 +1255,11 @@ Index: gdb-7.8.90.20150202/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.90.20150202/gdb/breakpoint.c
+Index: gdb-7.9.50.20150520/gdb/breakpoint.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/breakpoint.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/breakpoint.c	2015-02-11 16:01:59.593966264 +0100
-@@ -2191,9 +2191,9 @@ should_be_inserted (struct bp_location *
+--- gdb-7.9.50.20150520.orig/gdb/breakpoint.c	2015-05-31 17:08:46.819506233 +0200
++++ gdb-7.9.50.20150520/gdb/breakpoint.c	2015-05-31 17:09:21.436724714 +0200
+@@ -2201,9 +2201,9 @@ should_be_inserted (struct bp_location *
  	{
  	  fprintf_unfiltered (gdb_stdlog,
  			      "infrun: stepping past non-steppable watchpoint. "
@@ -1280,7 +1271,7 @@ Index: gdb-7.8.90.20150202/gdb/breakpoint.c
  	}
        return 0;
      }
-@@ -6976,7 +6976,7 @@ breakpoint_address_match (struct address
+@@ -7003,7 +7003,7 @@ breakpoint_address_match (struct address
  
  static int
  breakpoint_address_match_range (struct address_space *aspace1, CORE_ADDR addr1,
@@ -1289,7 +1280,7 @@ Index: gdb-7.8.90.20150202/gdb/breakpoint.c
  				CORE_ADDR addr2)
  {
    return ((gdbarch_has_global_breakpoints (target_gdbarch ())
-@@ -11700,7 +11700,7 @@ can_use_hardware_watchpoint (struct valu
+@@ -11325,7 +11325,7 @@ can_use_hardware_watchpoint (struct valu
  		      && TYPE_CODE (vtype) != TYPE_CODE_ARRAY))
  		{
  		  CORE_ADDR vaddr = value_address (v);
@@ -1298,10 +1289,10 @@ Index: gdb-7.8.90.20150202/gdb/breakpoint.c
  		  int num_regs;
  
  		  len = (target_exact_watchpoints
-Index: gdb-7.8.90.20150202/gdb/breakpoint.h
+Index: gdb-7.9.50.20150520/gdb/breakpoint.h
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/breakpoint.h	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/breakpoint.h	2015-02-11 16:01:59.594966269 +0100
+--- gdb-7.9.50.20150520.orig/gdb/breakpoint.h	2015-05-31 17:08:46.821506245 +0200
++++ gdb-7.9.50.20150520/gdb/breakpoint.h	2015-05-31 17:09:21.437724720 +0200
 @@ -236,7 +236,7 @@ struct bp_target_info
  
    /* If this is a ranged breakpoint, then this field contains the
@@ -1320,10 +1311,10 @@ Index: gdb-7.8.90.20150202/gdb/breakpoint.h
  
    /* Type of hardware watchpoint.  */
    enum target_hw_bp_type watchpoint_type;
-Index: gdb-7.8.90.20150202/gdb/c-lang.c
+Index: gdb-7.9.50.20150520/gdb/c-lang.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/c-lang.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/c-lang.c	2015-02-11 16:01:59.594966269 +0100
+--- gdb-7.9.50.20150520.orig/gdb/c-lang.c	2015-05-31 17:08:46.821506245 +0200
++++ gdb-7.9.50.20150520/gdb/c-lang.c	2015-05-31 17:09:21.437724720 +0200
 @@ -187,7 +187,7 @@ c_printchar (int c, struct type *type, s
  
  void
@@ -1351,10 +1342,10 @@ Index: gdb-7.8.90.20150202/gdb/c-lang.c
  
  		if (get_discrete_bounds (TYPE_INDEX_TYPE (expect_type),
  					 &low_bound, &high_bound) < 0)
-Index: gdb-7.8.90.20150202/gdb/c-lang.h
+Index: gdb-7.9.50.20150520/gdb/c-lang.h
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/c-lang.h	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/c-lang.h	2015-02-11 16:01:59.595966274 +0100
+--- gdb-7.9.50.20150520.orig/gdb/c-lang.h	2015-05-31 17:08:46.821506245 +0200
++++ gdb-7.9.50.20150520/gdb/c-lang.h	2015-05-31 17:09:21.438724726 +0200
 @@ -74,7 +74,7 @@ extern void c_print_typedef (struct type
  			     struct ui_file *);
  
@@ -1390,10 +1381,10 @@ Index: gdb-7.8.90.20150202/gdb/c-lang.h
  					struct ui_file *, int,
  					const struct value *,
  					const struct value_print_options *,
-Index: gdb-7.8.90.20150202/gdb/c-valprint.c
+Index: gdb-7.9.50.20150520/gdb/c-valprint.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/c-valprint.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/c-valprint.c	2015-02-11 16:01:59.595966274 +0100
+--- gdb-7.9.50.20150520.orig/gdb/c-valprint.c	2015-05-31 17:08:46.822506252 +0200
++++ gdb-7.9.50.20150520/gdb/c-valprint.c	2015-05-31 17:09:21.438724726 +0200
 @@ -132,7 +132,7 @@ static const struct generic_val_print_de
  
  void
@@ -1435,11 +1426,11 @@ Index: gdb-7.8.90.20150202/gdb/c-valprint.c
    struct value_print_options opts = *options;
  
    opts.deref_ref = 1;
-Index: gdb-7.8.90.20150202/gdb/cp-abi.c
+Index: gdb-7.9.50.20150520/gdb/cp-abi.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/cp-abi.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/cp-abi.c	2015-02-11 16:01:59.595966274 +0100
-@@ -64,13 +64,13 @@ is_operator_name (const char *name)
+--- gdb-7.9.50.20150520.orig/gdb/cp-abi.c	2015-05-31 17:08:46.822506252 +0200
++++ gdb-7.9.50.20150520/gdb/cp-abi.c	2015-05-31 17:12:53.766064798 +0200
+@@ -64,12 +64,12 @@ is_operator_name (const char *name)
    return (*current_cp_abi.is_operator_name) (name);
  }
  
@@ -1450,13 +1441,12 @@ Index: gdb-7.8.90.20150202/gdb/cp-abi.c
 +		  LONGEST embedded_offset, CORE_ADDR address,
  		  const struct value *val)
  {
-   volatile struct gdb_exception ex;
 -  int res = 0;
 +  LONGEST res = 0;
  
    gdb_assert (current_cp_abi.baseclass_offset != NULL);
  
-@@ -94,7 +94,7 @@ baseclass_offset (struct type *type, int
+@@ -96,7 +96,7 @@ baseclass_offset (struct type *type, int
  struct value *
  value_virtual_fn_field (struct value **arg1p,
  			struct fn_field *f, int j,
@@ -1465,7 +1455,7 @@ Index: gdb-7.8.90.20150202/gdb/cp-abi.c
  {
    if ((current_cp_abi.virtual_fn_field) == NULL)
      return NULL;
-@@ -104,7 +104,7 @@ value_virtual_fn_field (struct value **a
+@@ -106,7 +106,7 @@ value_virtual_fn_field (struct value **a
  
  struct type *
  value_rtti_type (struct value *v, int *full,
@@ -1473,11 +1463,11 @@ Index: gdb-7.8.90.20150202/gdb/cp-abi.c
 +		 LONGEST *top, int *using_enc)
  {
    struct type *ret = NULL;
-   volatile struct gdb_exception e;
-Index: gdb-7.8.90.20150202/gdb/cp-abi.h
+ 
+Index: gdb-7.9.50.20150520/gdb/cp-abi.h
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/cp-abi.h	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/cp-abi.h	2015-02-11 16:01:59.595966274 +0100
+--- gdb-7.9.50.20150520.orig/gdb/cp-abi.h	2015-05-31 17:08:46.823506258 +0200
++++ gdb-7.9.50.20150520/gdb/cp-abi.h	2015-05-31 17:09:21.439724733 +0200
 @@ -108,7 +108,7 @@ extern struct value *value_virtual_fn_fi
  					     struct fn_field *f,
  					     int j,
@@ -1532,10 +1522,10 @@ Index: gdb-7.8.90.20150202/gdb/cp-abi.h
    void (*print_method_ptr) (const gdb_byte *contents,
  			    struct type *type,
  			    struct ui_file *stream);
-Index: gdb-7.8.90.20150202/gdb/cp-valprint.c
+Index: gdb-7.9.50.20150520/gdb/cp-valprint.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/cp-valprint.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/cp-valprint.c	2015-02-11 16:01:59.596966279 +0100
+--- gdb-7.9.50.20150520.orig/gdb/cp-valprint.c	2015-05-31 17:08:46.823506258 +0200
++++ gdb-7.9.50.20150520/gdb/cp-valprint.c	2015-05-31 17:14:41.796746617 +0200
 @@ -80,7 +80,7 @@ static void cp_print_static_field (struc
  				   const struct value_print_options *);
  
@@ -1554,7 +1544,7 @@ Index: gdb-7.8.90.20150202/gdb/cp-valprint.c
  		       CORE_ADDR address, struct ui_file *stream,
  		       int recurse, const struct value *val,
  		       const struct value_print_options *options,
-@@ -331,7 +331,7 @@ cp_print_value_fields (struct type *type
+@@ -334,7 +334,7 @@ cp_print_value_fields (struct type *type
  		}
  	      else if (i == vptr_fieldno && type == vptr_basetype)
  		{
@@ -1563,7 +1553,7 @@ Index: gdb-7.8.90.20150202/gdb/cp-valprint.c
  		  struct type *i_type = TYPE_FIELD_TYPE (type, i);
  
  		  if (valprint_check_validity (stream, i_type, i_offset, val))
-@@ -414,7 +414,7 @@ cp_print_value_fields (struct type *type
+@@ -417,7 +417,7 @@ cp_print_value_fields (struct type *type
  
  void
  cp_print_value_fields_rtti (struct type *type,
@@ -1572,7 +1562,7 @@ Index: gdb-7.8.90.20150202/gdb/cp-valprint.c
  			    CORE_ADDR address,
  			    struct ui_file *stream, int recurse,
  			    const struct value *val,
-@@ -431,7 +431,8 @@ cp_print_value_fields_rtti (struct type
+@@ -434,7 +434,8 @@ cp_print_value_fields_rtti (struct type
  				     TARGET_CHAR_BIT * TYPE_LENGTH (type)))
      {
        struct value *value;
@@ -1582,7 +1572,7 @@ Index: gdb-7.8.90.20150202/gdb/cp-valprint.c
  
        /* Ugh, we have to convert back to a value here.  */
        value = value_from_contents_and_address (type, valaddr + offset,
-@@ -456,7 +457,7 @@ cp_print_value_fields_rtti (struct type
+@@ -459,7 +460,7 @@ cp_print_value_fields_rtti (struct type
  
  static void
  cp_print_value (struct type *type, struct type *real_type,
@@ -1591,7 +1581,7 @@ Index: gdb-7.8.90.20150202/gdb/cp-valprint.c
  		CORE_ADDR address, struct ui_file *stream,
  		int recurse, const struct value *val,
  		const struct value_print_options *options,
-@@ -466,7 +467,7 @@ cp_print_value (struct type *type, struc
+@@ -469,7 +470,7 @@ cp_print_value (struct type *type, struc
      = (struct type **) obstack_next_free (&dont_print_vb_obstack);
    struct obstack tmp_obstack = dont_print_vb_obstack;
    int i, n_baseclasses = TYPE_N_BASECLASSES (type);
@@ -1600,19 +1590,19 @@ Index: gdb-7.8.90.20150202/gdb/cp-valprint.c
    struct type *thistype;
  
    if (dont_print_vb == 0)
-@@ -480,7 +481,7 @@ cp_print_value (struct type *type, struc
+@@ -483,7 +484,7 @@ cp_print_value (struct type *type, struc
  
    for (i = 0; i < n_baseclasses; i++)
      {
 -      int boffset = 0;
 +      LONGEST boffset = 0;
-       int skip;
+       int skip = 0;
        struct type *baseclass = check_typedef (TYPE_BASECLASS (type, i));
        const char *basename = TYPE_NAME (baseclass);
-Index: gdb-7.8.90.20150202/gdb/d-lang.h
+Index: gdb-7.9.50.20150520/gdb/d-lang.h
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/d-lang.h	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/d-lang.h	2015-02-11 16:01:59.596966279 +0100
+--- gdb-7.9.50.20150520.orig/gdb/d-lang.h	2015-05-31 17:08:46.824506264 +0200
++++ gdb-7.9.50.20150520/gdb/d-lang.h	2015-05-31 17:09:21.439724733 +0200
 @@ -71,7 +71,7 @@ extern const struct builtin_d_type *buil
  /* Defined in d-valprint.c  */
  
@@ -1622,10 +1612,10 @@ Index: gdb-7.8.90.20150202/gdb/d-lang.h
  			 struct ui_file *stream, int recurse,
  			 const struct value *val,
  			 const struct value_print_options *options);
-Index: gdb-7.8.90.20150202/gdb/d-valprint.c
+Index: gdb-7.9.50.20150520/gdb/d-valprint.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/d-valprint.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/d-valprint.c	2015-02-11 16:01:59.596966279 +0100
+--- gdb-7.9.50.20150520.orig/gdb/d-valprint.c	2015-05-31 17:08:46.824506264 +0200
++++ gdb-7.9.50.20150520/gdb/d-valprint.c	2015-05-31 17:09:21.440724739 +0200
 @@ -29,7 +29,7 @@
  
  static int
@@ -1648,10 +1638,10 @@ Index: gdb-7.8.90.20150202/gdb/d-valprint.c
               const struct value_print_options *options)
  {
    int ret;
-Index: gdb-7.8.90.20150202/gdb/doublest.c
+Index: gdb-7.9.50.20150520/gdb/doublest.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/doublest.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/doublest.c	2015-02-11 16:01:59.597966284 +0100
+--- gdb-7.9.50.20150520.orig/gdb/doublest.c	2015-05-31 17:08:46.824506264 +0200
++++ gdb-7.9.50.20150520/gdb/doublest.c	2015-05-31 17:09:21.440724739 +0200
 @@ -765,7 +765,7 @@ floatformat_from_doublest (const struct
     but not passed on by GDB.  This should be fixed.  */
  
@@ -1672,11 +1662,11 @@ Index: gdb-7.8.90.20150202/gdb/doublest.c
    return format;
  }
  
-Index: gdb-7.8.90.20150202/gdb/dwarf2loc.c
+Index: gdb-7.9.50.20150520/gdb/dwarf2loc.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/dwarf2loc.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/dwarf2loc.c	2015-02-11 16:01:59.598966289 +0100
-@@ -1557,19 +1557,19 @@ insert_bits (unsigned int datum,
+--- gdb-7.9.50.20150520.orig/gdb/dwarf2loc.c	2015-05-31 17:08:46.826506277 +0200
++++ gdb-7.9.50.20150520/gdb/dwarf2loc.c	2015-05-31 17:09:21.441724745 +0200
+@@ -1558,19 +1558,19 @@ insert_bits (unsigned int datum,
     BITS_BIG_ENDIAN is taken directly from gdbarch.  */
  
  static void
@@ -1702,7 +1692,7 @@ Index: gdb-7.8.90.20150202/gdb/dwarf2loc.c
  
    dest_avail = 8 - dest_offset_bits % 8;
  
-@@ -1607,13 +1607,13 @@ static void
+@@ -1608,13 +1608,13 @@ static void
  read_pieced_value (struct value *v)
  {
    int i;
@@ -1718,7 +1708,7 @@ Index: gdb-7.8.90.20150202/gdb/dwarf2loc.c
    size_t buffer_size = 0;
    gdb_byte *buffer = NULL;
    struct cleanup *cleanup;
-@@ -1640,8 +1640,8 @@ read_pieced_value (struct value *v)
+@@ -1641,8 +1641,8 @@ read_pieced_value (struct value *v)
    for (i = 0; i < c->n_pieces && offset < type_len; i++)
      {
        struct dwarf_expr_piece *p = &c->pieces[i];
@@ -1729,7 +1719,7 @@ Index: gdb-7.8.90.20150202/gdb/dwarf2loc.c
        const gdb_byte *intermediate_buffer;
  
        /* Compute size, source, and destination offsets for copying, in
-@@ -1790,13 +1790,13 @@ static void
+@@ -1791,13 +1791,13 @@ static void
  write_pieced_value (struct value *to, struct value *from)
  {
    int i;
@@ -1745,7 +1735,7 @@ Index: gdb-7.8.90.20150202/gdb/dwarf2loc.c
    size_t buffer_size = 0;
    gdb_byte *buffer = NULL;
    struct cleanup *cleanup;
-@@ -1824,8 +1824,8 @@ write_pieced_value (struct value *to, st
+@@ -1825,8 +1825,8 @@ write_pieced_value (struct value *to, st
    for (i = 0; i < c->n_pieces && offset < type_len; i++)
      {
        struct dwarf_expr_piece *p = &c->pieces[i];
@@ -1756,7 +1746,7 @@ Index: gdb-7.8.90.20150202/gdb/dwarf2loc.c
        int need_bitwise;
        const gdb_byte *source_buffer;
  
-@@ -1953,8 +1953,8 @@ write_pieced_value (struct value *to, st
+@@ -1954,8 +1954,8 @@ write_pieced_value (struct value *to, st
     a synthetic pointer.  */
  
  static int
@@ -1767,7 +1757,7 @@ Index: gdb-7.8.90.20150202/gdb/dwarf2loc.c
  {
    struct piece_closure *c
      = (struct piece_closure *) value_computed_closure (value);
-@@ -1967,7 +1967,7 @@ check_pieced_synthetic_pointer (const st
+@@ -1968,7 +1968,7 @@ check_pieced_synthetic_pointer (const st
    for (i = 0; i < c->n_pieces && bit_length > 0; i++)
      {
        struct dwarf_expr_piece *p = &c->pieces[i];
@@ -1776,7 +1766,7 @@ Index: gdb-7.8.90.20150202/gdb/dwarf2loc.c
  
        if (bit_offset > 0)
  	{
-@@ -2009,9 +2009,10 @@ indirect_pieced_value (struct value *val
+@@ -2010,9 +2010,10 @@ indirect_pieced_value (struct value *val
    struct type *type;
    struct frame_info *frame;
    struct dwarf2_locexpr_baton baton;
@@ -1789,7 +1779,7 @@ Index: gdb-7.8.90.20150202/gdb/dwarf2loc.c
    enum bfd_endian byte_order;
  
    type = check_typedef (value_type (value));
-@@ -2026,7 +2027,7 @@ indirect_pieced_value (struct value *val
+@@ -2027,7 +2028,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 +1788,7 @@ Index: gdb-7.8.90.20150202/gdb/dwarf2loc.c
  
        if (bit_offset > 0)
  	{
-@@ -2309,7 +2310,7 @@ dwarf2_evaluate_loc_desc_full (struct ty
+@@ -2310,7 +2311,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,11 +1797,11 @@ Index: gdb-7.8.90.20150202/gdb/dwarf2loc.c
  
  	    if (byte_offset + TYPE_LENGTH (type) > n)
  	      invalid_synthetic_pointer ();
-Index: gdb-7.8.90.20150202/gdb/dwarf2read.c
+Index: gdb-7.9.50.20150520/gdb/dwarf2read.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/dwarf2read.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/dwarf2read.c	2015-02-11 16:01:59.603966315 +0100
-@@ -1894,12 +1894,12 @@ dwarf2_complex_location_expr_complaint (
+--- gdb-7.9.50.20150520.orig/gdb/dwarf2read.c	2015-05-31 17:08:46.832506315 +0200
++++ gdb-7.9.50.20150520/gdb/dwarf2read.c	2015-05-31 17:09:21.446724777 +0200
+@@ -1907,12 +1907,12 @@ dwarf2_complex_location_expr_complaint (
  }
  
  static void
@@ -1828,7 +1818,7 @@ Index: gdb-7.8.90.20150202/gdb/dwarf2read.c
  }
  
  static void
-@@ -12483,8 +12483,8 @@ dwarf2_add_field (struct field_info *fip
+@@ -12521,8 +12521,8 @@ dwarf2_add_field (struct field_info *fip
  	         object, and then subtract off the number of bits of
  	         the field itself.  The result is the bit offset of
  	         the LSB of the field.  */
@@ -1839,11 +1829,11 @@ Index: gdb-7.8.90.20150202/gdb/dwarf2read.c
  
  	      attr = dwarf2_attr (die, DW_AT_byte_size, cu);
  	      if (attr)
-Index: gdb-7.8.90.20150202/gdb/eval.c
+Index: gdb-7.9.50.20150520/gdb/eval.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/eval.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/eval.c	2015-02-11 16:01:59.604966320 +0100
-@@ -314,7 +314,8 @@ evaluate_struct_tuple (struct value *str
+--- gdb-7.9.50.20150520.orig/gdb/eval.c	2015-05-31 17:08:46.834506327 +0200
++++ gdb-7.9.50.20150520/gdb/eval.c	2015-05-31 17:09:21.447724783 +0200
+@@ -317,7 +317,8 @@ evaluate_struct_tuple (struct value *str
    while (--nargs >= 0)
      {
        struct value *val = NULL;
@@ -1853,7 +1843,7 @@ Index: gdb-7.8.90.20150202/gdb/eval.c
        bfd_byte *addr;
  
        fieldno++;
-@@ -375,7 +376,7 @@ init_array_element (struct value *array,
+@@ -378,7 +379,7 @@ init_array_element (struct value *array,
  		    enum noside noside, LONGEST low_bound, LONGEST high_bound)
  {
    LONGEST index;
@@ -1862,7 +1852,7 @@ Index: gdb-7.8.90.20150202/gdb/eval.c
  
    if (exp->elts[*pos].opcode == BINOP_COMMA)
      {
-@@ -522,11 +523,11 @@ binop_promote (const struct language_def
+@@ -525,11 +526,11 @@ binop_promote (const struct language_def
      /* FIXME: Also mixed integral/booleans, with result an integer.  */
      {
        const struct builtin_type *builtin = builtin_type (gdbarch);
@@ -1877,7 +1867,7 @@ Index: gdb-7.8.90.20150202/gdb/eval.c
        int unsigned_operation;
  
        /* Determine type length and signedness after promotion for
-@@ -709,7 +710,7 @@ evaluate_subexp_standard (struct type *e
+@@ -711,7 +712,7 @@ evaluate_subexp_standard (struct type *e
    struct value **argvec;
    int code;
    int ix;
@@ -1886,7 +1876,7 @@ Index: gdb-7.8.90.20150202/gdb/eval.c
    struct type **arg_types;
    int save_pos1;
    struct symbol *function = NULL;
-@@ -888,7 +889,7 @@ evaluate_subexp_standard (struct type *e
+@@ -890,7 +891,7 @@ evaluate_subexp_standard (struct type *e
  	  struct type *range_type = TYPE_INDEX_TYPE (type);
  	  struct type *element_type = TYPE_TARGET_TYPE (type);
  	  struct value *array = allocate_value (expect_type);
@@ -1895,7 +1885,7 @@ Index: gdb-7.8.90.20150202/gdb/eval.c
  	  LONGEST low_bound, high_bound, index;
  
  	  if (get_discrete_bounds (range_type, &low_bound, &high_bound) < 0)
-@@ -1887,7 +1888,8 @@ evaluate_subexp_standard (struct type *e
+@@ -1900,7 +1901,8 @@ evaluate_subexp_standard (struct type *e
        {
          struct type *type = value_type (arg1);
          struct type *real_type;
@@ -1905,10 +1895,10 @@ Index: gdb-7.8.90.20150202/gdb/eval.c
  	struct value_print_options opts;
  
  	get_user_print_options (&opts);
-Index: gdb-7.8.90.20150202/gdb/f-lang.c
+Index: gdb-7.9.50.20150520/gdb/f-lang.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/f-lang.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/f-lang.c	2015-02-11 16:01:59.604966320 +0100
+--- gdb-7.9.50.20150520.orig/gdb/f-lang.c	2015-05-31 17:08:46.835506334 +0200
++++ gdb-7.9.50.20150520/gdb/f-lang.c	2015-05-31 17:09:21.448724790 +0200
 @@ -103,7 +103,7 @@ f_printchar (int c, struct type *type, s
  
  static void
@@ -1918,10 +1908,10 @@ Index: gdb-7.8.90.20150202/gdb/f-lang.c
  	    const struct value_print_options *options)
  {
    const char *type_encoding = f_get_encoding (type);
-Index: gdb-7.8.90.20150202/gdb/f-lang.h
+Index: gdb-7.9.50.20150520/gdb/f-lang.h
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/f-lang.h	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/f-lang.h	2015-02-11 16:01:59.604966320 +0100
+--- gdb-7.9.50.20150520.orig/gdb/f-lang.h	2015-05-31 17:08:46.835506334 +0200
++++ gdb-7.9.50.20150520/gdb/f-lang.h	2015-05-31 17:09:21.448724790 +0200
 @@ -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 +1921,10 @@ Index: gdb-7.8.90.20150202/gdb/f-lang.h
  			 struct ui_file *, int,
  			 const struct value *,
  			 const struct value_print_options *);
-Index: gdb-7.8.90.20150202/gdb/f-valprint.c
+Index: gdb-7.9.50.20150520/gdb/f-valprint.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/f-valprint.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/f-valprint.c	2015-02-11 16:01:59.604966320 +0100
+--- gdb-7.9.50.20150520.orig/gdb/f-valprint.c	2015-05-31 17:08:46.835506334 +0200
++++ gdb-7.9.50.20150520/gdb/f-valprint.c	2015-05-31 17:09:21.448724790 +0200
 @@ -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 +1984,10 @@ Index: gdb-7.8.90.20150202/gdb/f-valprint.c
  	     const struct value *original_value,
  	     const struct value_print_options *options)
  {
-Index: gdb-7.8.90.20150202/gdb/findvar.c
+Index: gdb-7.9.50.20150520/gdb/findvar.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/findvar.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/findvar.c	2015-02-11 16:01:59.605966325 +0100
+--- gdb-7.9.50.20150520.orig/gdb/findvar.c	2015-05-31 17:08:46.836506340 +0200
++++ gdb-7.9.50.20150520/gdb/findvar.c	2015-05-31 17:09:21.448724790 +0200
 @@ -626,7 +626,7 @@ struct value *
  default_value_from_register (struct gdbarch *gdbarch, struct type *type,
                               int regnum, struct frame_id frame_id)
@@ -2030,11 +2020,11 @@ Index: gdb-7.8.90.20150202/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.90.20150202/gdb/frame.c
+Index: gdb-7.9.50.20150520/gdb/frame.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/frame.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/frame.c	2015-02-11 16:01:59.605966325 +0100
-@@ -1269,7 +1269,7 @@ deprecated_frame_register_read (struct f
+--- gdb-7.9.50.20150520.orig/gdb/frame.c	2015-05-31 17:08:46.837506346 +0200
++++ gdb-7.9.50.20150520/gdb/frame.c	2015-05-31 17:09:21.449724796 +0200
+@@ -1272,7 +1272,7 @@ deprecated_frame_register_read (struct f
  
  int
  get_frame_register_bytes (struct frame_info *frame, int regnum,
@@ -2043,7 +2033,7 @@ Index: gdb-7.8.90.20150202/gdb/frame.c
  			  int *optimizedp, int *unavailablep)
  {
    struct gdbarch *gdbarch = get_frame_arch (frame);
-@@ -1298,7 +1298,7 @@ get_frame_register_bytes (struct frame_i
+@@ -1301,7 +1301,7 @@ get_frame_register_bytes (struct frame_i
      }
    if (len > maxsize)
      error (_("Bad debug information detected: "
@@ -2052,10 +2042,10 @@ Index: gdb-7.8.90.20150202/gdb/frame.c
  
    /* Copy the data.  */
    while (len > 0)
-Index: gdb-7.8.90.20150202/gdb/frame.h
+Index: gdb-7.9.50.20150520/gdb/frame.h
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/frame.h	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/frame.h	2015-02-11 16:01:59.606966330 +0100
+--- gdb-7.9.50.20150520.orig/gdb/frame.h	2015-05-31 17:08:46.837506346 +0200
++++ gdb-7.9.50.20150520/gdb/frame.h	2015-05-31 17:09:21.450724802 +0200
 @@ -583,7 +583,7 @@ extern void put_frame_register (struct f
     contents are optimized out or unavailable, set *OPTIMIZEDP,
     *UNAVAILABLEP accordingly.  */
@@ -2065,11 +2055,11 @@ Index: gdb-7.8.90.20150202/gdb/frame.h
  				     gdb_byte *myaddr,
  				     int *optimizedp, int *unavailablep);
  
-Index: gdb-7.8.90.20150202/gdb/gdbtypes.c
+Index: gdb-7.9.50.20150520/gdb/gdbtypes.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/gdbtypes.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/gdbtypes.c	2015-02-11 16:01:59.607966335 +0100
-@@ -2478,7 +2478,7 @@ allocate_gnat_aux_type (struct type *typ
+--- gdb-7.9.50.20150520.orig/gdb/gdbtypes.c	2015-05-31 17:08:46.839506359 +0200
++++ gdb-7.9.50.20150520/gdb/gdbtypes.c	2015-05-31 17:09:21.451724809 +0200
+@@ -2698,7 +2698,7 @@ allocate_gnat_aux_type (struct type *typ
     least as long as OBJFILE.  */
  
  struct type *
@@ -2078,7 +2068,7 @@ Index: gdb-7.8.90.20150202/gdb/gdbtypes.c
  	   const char *name, struct objfile *objfile)
  {
    struct type *type;
-@@ -2718,8 +2718,8 @@ is_public_ancestor (struct type *base, s
+@@ -2938,8 +2938,8 @@ is_public_ancestor (struct type *base, s
  
  static int
  is_unique_ancestor_worker (struct type *base, struct type *dclass,
@@ -2089,7 +2079,7 @@ Index: gdb-7.8.90.20150202/gdb/gdbtypes.c
  			   CORE_ADDR address, struct value *val)
  {
    int i, count = 0;
-@@ -2730,7 +2730,7 @@ is_unique_ancestor_worker (struct type *
+@@ -2950,7 +2950,7 @@ is_unique_ancestor_worker (struct type *
    for (i = 0; i < TYPE_N_BASECLASSES (dclass) && count < 2; ++i)
      {
        struct type *iter;
@@ -2098,7 +2088,7 @@ Index: gdb-7.8.90.20150202/gdb/gdbtypes.c
  
        iter = check_typedef (TYPE_BASECLASS (dclass, i));
  
-@@ -2771,7 +2771,7 @@ is_unique_ancestor_worker (struct type *
+@@ -2991,7 +2991,7 @@ is_unique_ancestor_worker (struct type *
  int
  is_unique_ancestor (struct type *base, struct value *val)
  {
@@ -2107,7 +2097,7 @@ Index: gdb-7.8.90.20150202/gdb/gdbtypes.c
  
    return is_unique_ancestor_worker (base, value_type (val), &offset,
  				    value_contents_for_printing (val),
-@@ -3916,7 +3916,7 @@ recursive_dump_type (struct type *type,
+@@ -4156,7 +4156,7 @@ recursive_dump_type (struct type *type,
        break;
      }
    puts_filtered ("\n");
@@ -2116,7 +2106,7 @@ Index: gdb-7.8.90.20150202/gdb/gdbtypes.c
    if (TYPE_OBJFILE_OWNED (type))
      {
        printfi_filtered (spaces, "objfile ");
-@@ -4040,8 +4040,8 @@ recursive_dump_type (struct type *type,
+@@ -4284,8 +4284,8 @@ recursive_dump_type (struct type *type,
  			  idx, plongest (TYPE_FIELD_ENUMVAL (type, idx)));
        else
  	printfi_filtered (spaces + 2,
@@ -2127,7 +2117,7 @@ Index: gdb-7.8.90.20150202/gdb/gdbtypes.c
  			  TYPE_FIELD_BITSIZE (type, idx));
        gdb_print_host_address (TYPE_FIELD_TYPE (type, idx), gdb_stdout);
        printf_filtered (" name '%s' (",
-@@ -4398,7 +4398,7 @@ copy_type (const struct type *type)
+@@ -4666,7 +4666,7 @@ copy_type (const struct type *type)
  
  struct type *
  arch_type (struct gdbarch *gdbarch,
@@ -2136,20 +2126,20 @@ Index: gdb-7.8.90.20150202/gdb/gdbtypes.c
  {
    struct type *type;
  
-Index: gdb-7.8.90.20150202/gdb/gdbtypes.h
+Index: gdb-7.9.50.20150520/gdb/gdbtypes.h
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/gdbtypes.h	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/gdbtypes.h	2015-02-11 16:01:59.608966340 +0100
-@@ -598,7 +598,7 @@ struct main_type
- 	   gdbarch_bits_big_endian=0 targets, it is the bit offset to
- 	   the LSB.  */
- 
--	int bitpos;
-+	LONGEST bitpos;
- 
- 	/* * Enum value.  */
- 	LONGEST enumval;
-@@ -801,7 +801,7 @@ struct type
+--- gdb-7.9.50.20150520.orig/gdb/gdbtypes.h	2015-05-31 17:08:46.840506365 +0200
++++ gdb-7.9.50.20150520/gdb/gdbtypes.h	2015-05-31 17:13:16.294206977 +0200
+@@ -504,7 +504,7 @@ union field_location
+      gdbarch_bits_big_endian=0 targets, it is the bit offset to
+      the LSB.  */
+ 
+-  int bitpos;
++  LONGEST bitpos;
+ 
+   /* * Enum value.  */
+   LONGEST enumval;
+@@ -822,7 +822,7 @@ struct type
       HOST_CHAR_BIT.  However, this would still fail to address
       machines based on a ternary or decimal representation.  */
    
@@ -2158,7 +2148,7 @@ Index: gdb-7.8.90.20150202/gdb/gdbtypes.h
  
    /* * Core type, shared by a group of qualified types.  */
  
-@@ -1641,11 +1641,12 @@ extern struct type *get_target_type (str
+@@ -1708,11 +1708,12 @@ extern struct type *get_target_type (str
  
  /* * Helper function to construct objfile-owned types.  */
  
@@ -2173,10 +2163,10 @@ Index: gdb-7.8.90.20150202/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.90.20150202/gdb/gnu-v2-abi.c
+Index: gdb-7.9.50.20150520/gdb/gnu-v2-abi.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/gnu-v2-abi.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/gnu-v2-abi.c	2015-02-11 16:01:59.608966340 +0100
+--- gdb-7.9.50.20150520.orig/gdb/gnu-v2-abi.c	2015-05-31 17:08:46.840506365 +0200
++++ gdb-7.9.50.20150520/gdb/gnu-v2-abi.c	2015-05-31 17:09:21.452724815 +0200
 @@ -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 +2218,10 @@ Index: gdb-7.8.90.20150202/gdb/gnu-v2-abi.c
  	    gnuv2_baseclass_offset (type, i, valaddr,
  				    embedded_offset, address, val);
  
-Index: gdb-7.8.90.20150202/gdb/gnu-v3-abi.c
+Index: gdb-7.9.50.20150520/gdb/gnu-v3-abi.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/gnu-v3-abi.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/gnu-v3-abi.c	2015-02-11 16:01:59.608966340 +0100
+--- gdb-7.9.50.20150520.orig/gdb/gnu-v3-abi.c	2015-05-31 17:08:46.841506371 +0200
++++ gdb-7.9.50.20150520/gdb/gnu-v3-abi.c	2015-05-31 17:09:21.453724821 +0200
 @@ -108,7 +108,7 @@ build_gdb_vtable_type (struct gdbarch *a
  {
    struct type *t;
@@ -2250,7 +2240,7 @@ Index: gdb-7.8.90.20150202/gdb/gnu-v3-abi.c
  vtable_address_point_offset (struct gdbarch *gdbarch)
  {
    struct type *vtable_type = gdbarch_data (gdbarch, vtable_type_gdbarch_data);
-@@ -275,7 +275,7 @@ gnuv3_get_vtable (struct gdbarch *gdbarc
+@@ -285,7 +285,7 @@ gnuv3_get_vtable (struct gdbarch *gdbarc
  
  static struct type *
  gnuv3_rtti_type (struct value *value,
@@ -2259,7 +2249,7 @@ Index: gdb-7.8.90.20150202/gdb/gnu-v3-abi.c
  {
    struct gdbarch *gdbarch;
    struct type *values_type = check_typedef (value_type (value));
-@@ -400,7 +400,7 @@ gnuv3_get_virtual_fn (struct gdbarch *gd
+@@ -410,7 +410,7 @@ gnuv3_get_virtual_fn (struct gdbarch *gd
  static struct value *
  gnuv3_virtual_fn_field (struct value **value_p,
                          struct fn_field *f, int j,
@@ -2268,7 +2258,7 @@ Index: gdb-7.8.90.20150202/gdb/gnu-v3-abi.c
  {
    struct type *values_type = check_typedef (value_type (*value_p));
    struct gdbarch *gdbarch;
-@@ -430,16 +430,16 @@ gnuv3_virtual_fn_field (struct value **v
+@@ -440,16 +440,16 @@ gnuv3_virtual_fn_field (struct value **v
  
     -1 is returned on error.  */
  
@@ -2288,7 +2278,7 @@ Index: gdb-7.8.90.20150202/gdb/gnu-v3-abi.c
  
    /* Determine architecture.  */
    gdbarch = get_type_arch (type);
-@@ -463,7 +463,7 @@ gnuv3_baseclass_offset (struct type *typ
+@@ -473,7 +473,7 @@ gnuv3_baseclass_offset (struct type *typ
    cur_base_offset = cur_base_offset + vtable_address_point_offset (gdbarch);
    if ((- cur_base_offset) % TYPE_LENGTH (ptr_type) != 0)
      error (_("Misaligned vbase offset."));
@@ -2297,7 +2287,7 @@ Index: gdb-7.8.90.20150202/gdb/gnu-v3-abi.c
  
    vtable = gnuv3_get_vtable (gdbarch, type, address + embedded_offset);
    gdb_assert (vtable != NULL);
-@@ -507,7 +507,7 @@ gnuv3_find_method_in (struct type *domai
+@@ -517,7 +517,7 @@ gnuv3_find_method_in (struct type *domai
       we're out of luck.  */
    for (i = 0; i < TYPE_N_BASECLASSES (domain); i++)
      {
@@ -2306,10 +2296,10 @@ Index: gdb-7.8.90.20150202/gdb/gnu-v3-abi.c
        struct type *basetype;
  
        if (BASETYPE_VIA_VIRTUAL (domain, i))
-Index: gdb-7.8.90.20150202/gdb/go-lang.h
+Index: gdb-7.9.50.20150520/gdb/go-lang.h
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/go-lang.h	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/go-lang.h	2015-02-11 16:01:59.608966340 +0100
+--- gdb-7.9.50.20150520.orig/gdb/go-lang.h	2015-05-31 17:08:46.841506371 +0200
++++ gdb-7.9.50.20150520/gdb/go-lang.h	2015-05-31 17:09:21.453724821 +0200
 @@ -85,7 +85,7 @@ extern void go_print_type (struct type *
  /* Defined in go-valprint.c.  */
  
@@ -2319,10 +2309,10 @@ Index: gdb-7.8.90.20150202/gdb/go-lang.h
  			  struct ui_file *stream, int recurse,
  			  const struct value *val,
  			  const struct value_print_options *options);
-Index: gdb-7.8.90.20150202/gdb/go-valprint.c
+Index: gdb-7.9.50.20150520/gdb/go-valprint.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/go-valprint.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/go-valprint.c	2015-02-11 16:01:59.609966345 +0100
+--- gdb-7.9.50.20150520.orig/gdb/go-valprint.c	2015-05-31 17:08:46.842506378 +0200
++++ gdb-7.9.50.20150520/gdb/go-valprint.c	2015-05-31 17:09:21.453724821 +0200
 @@ -37,7 +37,7 @@
  
  static void
@@ -2345,23 +2335,10 @@ Index: gdb-7.8.90.20150202/gdb/go-valprint.c
  	      const struct value_print_options *options)
  {
    CHECK_TYPEDEF (type);
-Index: gdb-7.8.90.20150202/gdb/inf-ttrace.c
+Index: gdb-7.9.50.20150520/gdb/jv-lang.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/inf-ttrace.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/inf-ttrace.c	2015-02-11 16:01:59.609966345 +0100
-@@ -366,7 +366,7 @@ inf_ttrace_can_use_hw_breakpoint (struct
- 
- static int
- inf_ttrace_region_ok_for_hw_watchpoint (struct target_ops *self,
--					CORE_ADDR addr, int len)
-+					CORE_ADDR addr, LONGEST len)
- {
-   return 1;
- }
-Index: gdb-7.8.90.20150202/gdb/jv-lang.c
-===================================================================
---- gdb-7.8.90.20150202.orig/gdb/jv-lang.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/jv-lang.c	2015-02-11 16:01:59.609966345 +0100
+--- gdb-7.9.50.20150520.orig/gdb/jv-lang.c	2015-05-31 17:08:46.842506378 +0200
++++ gdb-7.9.50.20150520/gdb/jv-lang.c	2015-05-31 17:09:21.454724828 +0200
 @@ -436,7 +436,7 @@ java_link_class_type (struct gdbarch *gd
    for (i = TYPE_N_BASECLASSES (type); i < nfields; i++)
      {
@@ -2380,10 +2357,10 @@ Index: gdb-7.8.90.20150202/gdb/jv-lang.c
  	       const struct value_print_options *options)
  {
    const char *type_encoding = java_get_encoding (type);
-Index: gdb-7.8.90.20150202/gdb/jv-lang.h
+Index: gdb-7.9.50.20150520/gdb/jv-lang.h
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/jv-lang.h	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/jv-lang.h	2015-02-11 16:01:59.610966350 +0100
+--- gdb-7.9.50.20150520.orig/gdb/jv-lang.h	2015-05-31 17:08:46.842506378 +0200
++++ gdb-7.9.50.20150520/gdb/jv-lang.h	2015-05-31 17:09:21.454724828 +0200
 @@ -43,8 +43,8 @@ struct builtin_java_type
  
  extern const struct builtin_java_type *builtin_java_type (struct gdbarch *);
@@ -2395,10 +2372,10 @@ Index: gdb-7.8.90.20150202/gdb/jv-lang.h
  			    const struct value *,
  			    const struct value_print_options *);
  
-Index: gdb-7.8.90.20150202/gdb/jv-valprint.c
+Index: gdb-7.9.50.20150520/gdb/jv-valprint.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/jv-valprint.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/jv-valprint.c	2015-02-11 16:01:59.610966350 +0100
+--- gdb-7.9.50.20150520.orig/gdb/jv-valprint.c	2015-05-31 17:08:46.843506384 +0200
++++ gdb-7.9.50.20150520/gdb/jv-valprint.c	2015-05-31 17:09:21.454724828 +0200
 @@ -265,7 +265,7 @@ java_value_print (struct value *val, str
  
  static void
@@ -2417,10 +2394,10 @@ Index: gdb-7.8.90.20150202/gdb/jv-valprint.c
  		struct ui_file *stream, int recurse,
  		const struct value *val,
  		const struct value_print_options *options)
-Index: gdb-7.8.90.20150202/gdb/language.c
+Index: gdb-7.9.50.20150520/gdb/language.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/language.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/language.c	2015-02-11 16:01:59.610966350 +0100
+--- gdb-7.9.50.20150520.orig/gdb/language.c	2015-05-31 17:08:46.843506384 +0200
++++ gdb-7.9.50.20150520/gdb/language.c	2015-05-31 17:09:21.454724828 +0200
 @@ -720,7 +720,7 @@ unk_lang_printchar (int c, struct type *
  
  static void
@@ -2439,10 +2416,10 @@ Index: gdb-7.8.90.20150202/gdb/language.c
  		    struct ui_file *stream, int recurse,
  		    const struct value *val,
  		    const struct value_print_options *options)
-Index: gdb-7.8.90.20150202/gdb/language.h
+Index: gdb-7.9.50.20150520/gdb/language.h
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/language.h	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/language.h	2015-02-11 16:01:59.611966355 +0100
+--- gdb-7.9.50.20150520.orig/gdb/language.h	2015-05-31 17:08:46.844506390 +0200
++++ gdb-7.9.50.20150520/gdb/language.h	2015-05-31 17:09:21.455724834 +0200
 @@ -189,7 +189,7 @@ struct language_defn
  			  struct ui_file * stream);
  
@@ -2461,10 +2438,10 @@ Index: gdb-7.8.90.20150202/gdb/language.h
  			  struct ui_file *stream, int recurse,
  			  const struct value *val,
  			  const struct value_print_options *options);
-Index: gdb-7.8.90.20150202/gdb/m2-lang.c
+Index: gdb-7.9.50.20150520/gdb/m2-lang.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/m2-lang.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/m2-lang.c	2015-02-11 16:01:59.611966355 +0100
+--- gdb-7.9.50.20150520.orig/gdb/m2-lang.c	2015-05-31 17:08:46.844506390 +0200
++++ gdb-7.9.50.20150520/gdb/m2-lang.c	2015-05-31 17:09:21.455724834 +0200
 @@ -104,10 +104,10 @@ m2_printchar (int c, struct type *type,
  
  static void
@@ -2499,10 +2476,10 @@ Index: gdb-7.8.90.20150202/gdb/m2-lang.c
  	  i = rep1 - 1;
  	  things_printed += options->repeat_count_threshold;
  	  need_comma = 1;
-Index: gdb-7.8.90.20150202/gdb/m2-lang.h
+Index: gdb-7.9.50.20150520/gdb/m2-lang.h
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/m2-lang.h	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/m2-lang.h	2015-02-11 16:01:59.611966355 +0100
+--- gdb-7.9.50.20150520.orig/gdb/m2-lang.h	2015-05-31 17:08:46.844506390 +0200
++++ gdb-7.9.50.20150520/gdb/m2-lang.h	2015-05-31 17:09:21.455724834 +0200
 @@ -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,11 +2489,11 @@ Index: gdb-7.8.90.20150202/gdb/m2-lang.h
  			  struct ui_file *, int,
  			  const struct value *,
  			  const struct value_print_options *);
-Index: gdb-7.8.90.20150202/gdb/m2-typeprint.c
+Index: gdb-7.9.50.20150520/gdb/m2-typeprint.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/m2-typeprint.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/m2-typeprint.c	2015-02-11 16:01:59.611966355 +0100
-@@ -230,9 +230,12 @@ static void m2_array (struct type *type,
+--- gdb-7.9.50.20150520.orig/gdb/m2-typeprint.c	2015-05-31 17:08:46.844506390 +0200
++++ gdb-7.9.50.20150520/gdb/m2-typeprint.c	2015-05-31 17:09:21.455724834 +0200
+@@ -234,9 +234,12 @@ static void m2_array (struct type *type,
  	  m2_print_bounds (TYPE_INDEX_TYPE (type), stream, show, -1, 1);
  	}
        else
@@ -2532,10 +2509,10 @@ Index: gdb-7.8.90.20150202/gdb/m2-typeprint.c
      }
    fprintf_filtered (stream, "] OF ");
    m2_print_type (TYPE_TARGET_TYPE (type), "", stream, show, level, flags);
-Index: gdb-7.8.90.20150202/gdb/m2-valprint.c
+Index: gdb-7.9.50.20150520/gdb/m2-valprint.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/m2-valprint.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/m2-valprint.c	2015-02-11 16:01:59.612966360 +0100
+--- gdb-7.9.50.20150520.orig/gdb/m2-valprint.c	2015-05-31 17:08:46.845506397 +0200
++++ gdb-7.9.50.20150520/gdb/m2-valprint.c	2015-05-31 17:09:21.456724840 +0200
 @@ -35,7 +35,7 @@ static int print_unpacked_pointer (struc
  				   struct ui_file *stream);
  static void
@@ -2601,10 +2578,10 @@ Index: gdb-7.8.90.20150202/gdb/m2-valprint.c
  
  		  /* Look for a NULL char.  */
  		  for (temp_len = 0;
-Index: gdb-7.8.90.20150202/gdb/memrange.c
+Index: gdb-7.9.50.20150520/gdb/memrange.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/memrange.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/memrange.c	2015-02-11 16:01:59.612966360 +0100
+--- gdb-7.9.50.20150520.orig/gdb/memrange.c	2015-05-31 17:08:46.845506397 +0200
++++ gdb-7.9.50.20150520/gdb/memrange.c	2015-05-31 17:09:21.456724840 +0200
 @@ -21,8 +21,8 @@
  #include "memrange.h"
  
@@ -2616,10 +2593,10 @@ Index: gdb-7.8.90.20150202/gdb/memrange.c
  {
    ULONGEST h, l;
  
-Index: gdb-7.8.90.20150202/gdb/memrange.h
+Index: gdb-7.9.50.20150520/gdb/memrange.h
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/memrange.h	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/memrange.h	2015-02-11 16:01:59.612966360 +0100
+--- gdb-7.9.50.20150520.orig/gdb/memrange.h	2015-05-31 17:08:46.845506397 +0200
++++ gdb-7.9.50.20150520/gdb/memrange.h	2015-05-31 17:09:21.456724840 +0200
 @@ -30,7 +30,7 @@ struct mem_range
    CORE_ADDR start;
  
@@ -2640,10 +2617,10 @@ Index: gdb-7.8.90.20150202/gdb/memrange.h
  
  /* Returns true if ADDR is in RANGE.  */
  
-Index: gdb-7.8.90.20150202/gdb/mips-linux-nat.c
+Index: gdb-7.9.50.20150520/gdb/mips-linux-nat.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/mips-linux-nat.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/mips-linux-nat.c	2015-02-11 16:01:59.612966360 +0100
+--- gdb-7.9.50.20150520.orig/gdb/mips-linux-nat.c	2015-05-31 17:08:46.846506403 +0200
++++ gdb-7.9.50.20150520/gdb/mips-linux-nat.c	2015-05-31 17:09:21.456724840 +0200
 @@ -586,7 +586,7 @@ mips_linux_stopped_data_address (struct
  
  static int
@@ -2653,10 +2630,10 @@ Index: gdb-7.8.90.20150202/gdb/mips-linux-nat.c
  {
    struct pt_watch_regs dummy_regs;
    int i;
-Index: gdb-7.8.90.20150202/gdb/opencl-lang.c
+Index: gdb-7.9.50.20150520/gdb/opencl-lang.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/opencl-lang.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/opencl-lang.c	2015-02-11 16:01:59.613966365 +0100
+--- gdb-7.9.50.20150520.orig/gdb/opencl-lang.c	2015-05-31 17:08:46.846506403 +0200
++++ gdb-7.9.50.20150520/gdb/opencl-lang.c	2015-05-31 17:09:21.457724846 +0200
 @@ -78,11 +78,11 @@ builtin_opencl_type (struct gdbarch *gdb
  
  static struct type *
@@ -2733,10 +2710,10 @@ Index: gdb-7.8.90.20150202/gdb/opencl-lang.c
  
        if (!value_bits_synthetic_pointer (c->val,
  					 c->indices[i] * elsize + comp_offset,
-Index: gdb-7.8.90.20150202/gdb/p-lang.c
+Index: gdb-7.9.50.20150520/gdb/p-lang.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/p-lang.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/p-lang.c	2015-02-11 16:01:59.613966365 +0100
+--- gdb-7.9.50.20150520.orig/gdb/p-lang.c	2015-05-31 17:08:46.847506409 +0200
++++ gdb-7.9.50.20150520/gdb/p-lang.c	2015-05-31 17:09:21.457724846 +0200
 @@ -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 +2761,10 @@ Index: gdb-7.8.90.20150202/gdb/p-lang.c
  	  i = rep1 - 1;
  	  things_printed += options->repeat_count_threshold;
  	  need_comma = 1;
-Index: gdb-7.8.90.20150202/gdb/p-lang.h
+Index: gdb-7.9.50.20150520/gdb/p-lang.h
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/p-lang.h	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/p-lang.h	2015-02-11 16:01:59.613966365 +0100
+--- gdb-7.9.50.20150520.orig/gdb/p-lang.h	2015-05-31 17:08:46.847506409 +0200
++++ gdb-7.9.50.20150520/gdb/p-lang.h	2015-05-31 17:09:21.457724846 +0200
 @@ -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 +2799,10 @@ Index: gdb-7.8.90.20150202/gdb/p-lang.h
  					      CORE_ADDR, struct ui_file *,
  					      int,
  					      const struct value *,
-Index: gdb-7.8.90.20150202/gdb/p-valprint.c
+Index: gdb-7.9.50.20150520/gdb/p-valprint.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/p-valprint.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/p-valprint.c	2015-02-11 16:01:59.613966365 +0100
+--- gdb-7.9.50.20150520.orig/gdb/p-valprint.c	2015-05-31 17:08:46.847506409 +0200
++++ gdb-7.9.50.20150520/gdb/p-valprint.c	2015-05-31 17:10:57.550331320 +0200
 @@ -57,7 +57,7 @@ static const struct generic_val_print_de
  
  void
@@ -2884,14 +2861,14 @@ Index: gdb-7.8.90.20150202/gdb/p-valprint.c
        const gdb_byte *base_valaddr = NULL;
 -      int thisoffset;
 +      LONGEST thisoffset;
-       volatile struct gdb_exception ex;
        int skip = 0;
  
-Index: gdb-7.8.90.20150202/gdb/ppc-linux-nat.c
+       if (BASETYPE_VIA_VIRTUAL (type, i))
+Index: gdb-7.9.50.20150520/gdb/ppc-linux-nat.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/ppc-linux-nat.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/ppc-linux-nat.c	2015-02-11 16:01:59.614966371 +0100
-@@ -1501,7 +1501,7 @@ ppc_linux_can_use_hw_breakpoint (struct
+--- gdb-7.9.50.20150520.orig/gdb/ppc-linux-nat.c	2015-05-31 17:08:46.848506416 +0200
++++ gdb-7.9.50.20150520/gdb/ppc-linux-nat.c	2015-05-31 17:09:21.458724853 +0200
+@@ -1451,7 +1451,7 @@ ppc_linux_can_use_hw_breakpoint (struct
  
  static int
  ppc_linux_region_ok_for_hw_watchpoint (struct target_ops *self,
@@ -2900,11 +2877,11 @@ Index: gdb-7.8.90.20150202/gdb/ppc-linux-nat.c
  {
    /* Handle sub-8-byte quantities.  */
    if (len <= 0)
-Index: gdb-7.8.90.20150202/gdb/printcmd.c
+Index: gdb-7.9.50.20150520/gdb/printcmd.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/printcmd.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/printcmd.c	2015-02-11 16:01:59.615966375 +0100
-@@ -285,7 +285,7 @@ print_formatted (struct value *val, int
+--- gdb-7.9.50.20150520.orig/gdb/printcmd.c	2015-05-31 17:08:46.849506422 +0200
++++ gdb-7.9.50.20150520/gdb/printcmd.c	2015-05-31 17:09:21.459724859 +0200
+@@ -274,7 +274,7 @@ print_formatted (struct value *val, int
  		 struct ui_file *stream)
  {
    struct type *type = check_typedef (value_type (val));
@@ -2913,7 +2890,7 @@ Index: gdb-7.8.90.20150202/gdb/printcmd.c
  
    if (VALUE_LVAL (val) == lval_memory)
      next_address = value_address (val) + len;
-@@ -363,7 +363,7 @@ print_scalar_formatted (const void *vala
+@@ -352,7 +352,7 @@ print_scalar_formatted (const void *vala
  {
    struct gdbarch *gdbarch = get_type_arch (type);
    LONGEST val_long = 0;
@@ -2922,10 +2899,10 @@ Index: gdb-7.8.90.20150202/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.90.20150202/gdb/procfs.c
+Index: gdb-7.9.50.20150520/gdb/procfs.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/procfs.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/procfs.c	2015-02-11 16:01:59.616966381 +0100
+--- gdb-7.9.50.20150520.orig/gdb/procfs.c	2015-05-31 17:08:46.850506428 +0200
++++ gdb-7.9.50.20150520/gdb/procfs.c	2015-05-31 17:09:21.460724865 +0200
 @@ -4859,7 +4859,7 @@ procfs_remove_watchpoint (struct target_
  
  static int
@@ -2935,11 +2912,11 @@ Index: gdb-7.8.90.20150202/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.90.20150202/gdb/python/py-prettyprint.c
+Index: gdb-7.9.50.20150520/gdb/python/py-prettyprint.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/python/py-prettyprint.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/python/py-prettyprint.c	2015-02-11 16:01:59.616966381 +0100
-@@ -686,7 +686,7 @@ print_children (PyObject *printer, const
+--- gdb-7.9.50.20150520.orig/gdb/python/py-prettyprint.c	2015-05-31 17:08:46.851506435 +0200
++++ gdb-7.9.50.20150520/gdb/python/py-prettyprint.c	2015-05-31 17:09:21.460724865 +0200
+@@ -703,7 +703,7 @@ print_children (PyObject *printer, const
  enum ext_lang_rc
  gdbpy_apply_val_pretty_printer (const struct extension_language_defn *extlang,
  				struct type *type, const gdb_byte *valaddr,
@@ -2948,11 +2925,11 @@ Index: gdb-7.8.90.20150202/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.90.20150202/gdb/regcache.c
+Index: gdb-7.9.50.20150520/gdb/regcache.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/regcache.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/regcache.c	2015-02-11 16:01:59.616966381 +0100
-@@ -941,7 +941,7 @@ typedef void (regcache_write_ftype) (str
+--- gdb-7.9.50.20150520.orig/gdb/regcache.c	2015-05-31 17:08:46.851506435 +0200
++++ gdb-7.9.50.20150520/gdb/regcache.c	2015-05-31 17:09:21.461724872 +0200
+@@ -949,7 +949,7 @@ typedef void (regcache_write_ftype) (str
  
  static enum register_status
  regcache_xfer_part (struct regcache *regcache, int regnum,
@@ -2961,7 +2938,7 @@ Index: gdb-7.8.90.20150202/gdb/regcache.c
  		    enum register_status (*read) (struct regcache *regcache,
  						  int regnum,
  						  gdb_byte *buf),
-@@ -985,7 +985,7 @@ regcache_xfer_part (struct regcache *reg
+@@ -993,7 +993,7 @@ regcache_xfer_part (struct regcache *reg
  
  enum register_status
  regcache_raw_read_part (struct regcache *regcache, int regnum,
@@ -2970,7 +2947,7 @@ Index: gdb-7.8.90.20150202/gdb/regcache.c
  {
    struct regcache_descr *descr = regcache->descr;
  
-@@ -996,7 +996,7 @@ regcache_raw_read_part (struct regcache
+@@ -1004,7 +1004,7 @@ regcache_raw_read_part (struct regcache
  
  void
  regcache_raw_write_part (struct regcache *regcache, int regnum,
@@ -2979,7 +2956,7 @@ Index: gdb-7.8.90.20150202/gdb/regcache.c
  {
    struct regcache_descr *descr = regcache->descr;
  
-@@ -1007,7 +1007,7 @@ regcache_raw_write_part (struct regcache
+@@ -1015,7 +1015,7 @@ regcache_raw_write_part (struct regcache
  
  enum register_status
  regcache_cooked_read_part (struct regcache *regcache, int regnum,
@@ -2988,7 +2965,7 @@ Index: gdb-7.8.90.20150202/gdb/regcache.c
  {
    struct regcache_descr *descr = regcache->descr;
  
-@@ -1018,7 +1018,7 @@ regcache_cooked_read_part (struct regcac
+@@ -1026,7 +1026,7 @@ regcache_cooked_read_part (struct regcac
  
  void
  regcache_cooked_write_part (struct regcache *regcache, int regnum,
@@ -2997,10 +2974,10 @@ Index: gdb-7.8.90.20150202/gdb/regcache.c
  {
    struct regcache_descr *descr = regcache->descr;
  
-Index: gdb-7.8.90.20150202/gdb/regcache.h
+Index: gdb-7.9.50.20150520/gdb/regcache.h
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/regcache.h	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/regcache.h	2015-02-11 16:01:59.617966386 +0100
+--- gdb-7.9.50.20150520.orig/gdb/regcache.h	2015-05-31 17:08:46.852506441 +0200
++++ gdb-7.9.50.20150520/gdb/regcache.h	2015-05-31 17:09:21.461724872 +0200
 @@ -92,9 +92,9 @@ extern void regcache_raw_write_unsigned
  
  extern enum register_status
@@ -3028,11 +3005,11 @@ Index: gdb-7.8.90.20150202/gdb/regcache.h
  
  /* Special routines to read/write the PC.  */
  
-Index: gdb-7.8.90.20150202/gdb/remote.c
+Index: gdb-7.9.50.20150520/gdb/remote.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/remote.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/remote.c	2015-02-11 16:01:59.619966396 +0100
-@@ -8371,7 +8371,7 @@ int remote_hw_breakpoint_limit = -1;
+--- gdb-7.9.50.20150520.orig/gdb/remote.c	2015-05-31 17:08:46.854506454 +0200
++++ gdb-7.9.50.20150520/gdb/remote.c	2015-05-31 17:09:21.464724891 +0200
+@@ -8751,7 +8751,7 @@ int remote_hw_breakpoint_limit = -1;
  
  static int
  remote_region_ok_for_hw_watchpoint (struct target_ops *self,
@@ -3041,10 +3018,10 @@ Index: gdb-7.8.90.20150202/gdb/remote.c
  {
    if (remote_hw_watchpoint_length_limit == 0)
      return 0;
-Index: gdb-7.8.90.20150202/gdb/spu-multiarch.c
+Index: gdb-7.9.50.20150520/gdb/spu-multiarch.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/spu-multiarch.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/spu-multiarch.c	2015-02-11 16:01:59.619966396 +0100
+--- gdb-7.9.50.20150520.orig/gdb/spu-multiarch.c	2015-05-31 17:08:46.855506460 +0200
++++ gdb-7.9.50.20150520/gdb/spu-multiarch.c	2015-05-31 17:09:21.464724891 +0200
 @@ -117,7 +117,7 @@ spu_thread_architecture (struct target_o
  /* Override the to_region_ok_for_hw_watchpoint routine.  */
  static int
@@ -3054,11 +3031,11 @@ Index: gdb-7.8.90.20150202/gdb/spu-multiarch.c
  {
    struct target_ops *ops_beneath = find_target_beneath (self);
  
-Index: gdb-7.8.90.20150202/gdb/stack.c
+Index: gdb-7.9.50.20150520/gdb/stack.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/stack.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/stack.c	2015-02-11 16:01:59.620966401 +0100
-@@ -175,7 +175,7 @@ print_stack_frame (struct frame_info *fr
+--- gdb-7.9.50.20150520.orig/gdb/stack.c	2015-05-31 17:08:46.856506466 +0200
++++ gdb-7.9.50.20150520/gdb/stack.c	2015-05-31 17:09:21.465724897 +0200
+@@ -178,7 +178,7 @@ print_stack_frame (struct frame_info *fr
     argument (not just the first nameless argument).  */
  
  static void
@@ -3067,7 +3044,7 @@ Index: gdb-7.8.90.20150202/gdb/stack.c
  			   int first, struct ui_file *stream)
  {
    struct gdbarch *gdbarch = get_frame_arch (frame);
-@@ -524,7 +524,7 @@ print_frame_args (struct symbol *func, s
+@@ -541,7 +541,7 @@ print_frame_args (struct symbol *func, s
    /* Offset of next stack argument beyond the one we have seen that is
       at the highest offset, or -1 if we haven't come to a stack
       argument yet.  */
@@ -3076,7 +3053,7 @@ Index: gdb-7.8.90.20150202/gdb/stack.c
    /* Number of ints of arguments that we have printed so far.  */
    int args_printed = 0;
    struct cleanup *old_chain;
-@@ -558,8 +558,8 @@ print_frame_args (struct symbol *func, s
+@@ -575,8 +575,8 @@ print_frame_args (struct symbol *func, s
  	    case LOC_ARG:
  	    case LOC_REF_ARG:
  	      {
@@ -3087,7 +3064,7 @@ Index: gdb-7.8.90.20150202/gdb/stack.c
  
  		/* Compute address of next argument by adding the size of
  		   this argument and rounding to an int boundary.  */
-@@ -694,7 +694,7 @@ print_frame_args (struct symbol *func, s
+@@ -711,7 +711,7 @@ print_frame_args (struct symbol *func, s
       enough about the stack to find them.  */
    if (num != -1)
      {
@@ -3096,10 +3073,10 @@ Index: gdb-7.8.90.20150202/gdb/stack.c
  
        if (highest_offset == -1)
  	start = gdbarch_frame_args_skip (get_frame_arch (frame));
-Index: gdb-7.8.90.20150202/gdb/symmisc.c
+Index: gdb-7.9.50.20150520/gdb/symmisc.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/symmisc.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/symmisc.c	2015-02-11 16:01:59.620966401 +0100
+--- gdb-7.9.50.20150520.orig/gdb/symmisc.c	2015-05-31 17:08:46.856506466 +0200
++++ gdb-7.9.50.20150520/gdb/symmisc.c	2015-05-31 17:09:21.465724897 +0200
 @@ -534,11 +534,11 @@ print_symbol (void *args)
  
  	case LOC_CONST_BYTES:
@@ -3115,10 +3092,10 @@ Index: gdb-7.8.90.20150202/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.90.20150202/gdb/target.c
+Index: gdb-7.9.50.20150520/gdb/target.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/target.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/target.c	2015-02-11 16:01:59.621966406 +0100
+--- gdb-7.9.50.20150520.orig/gdb/target.c	2015-05-31 17:08:46.857506473 +0200
++++ gdb-7.9.50.20150520/gdb/target.c	2015-05-31 17:09:21.466724903 +0200
 @@ -54,7 +54,7 @@ static int default_watchpoint_addr_withi
  						 CORE_ADDR, CORE_ADDR, int);
  
@@ -3128,7 +3105,7 @@ Index: gdb-7.8.90.20150202/gdb/target.c
  
  static void default_rcmd (struct target_ops *, const char *, struct ui_file *);
  
-@@ -2975,7 +2975,7 @@ target_fileio_read_stralloc (const char
+@@ -3056,7 +3056,7 @@ target_fileio_read_stralloc (const char
  
  static int
  default_region_ok_for_hw_watchpoint (struct target_ops *self,
@@ -3137,11 +3114,11 @@ Index: gdb-7.8.90.20150202/gdb/target.c
  {
    return (len <= gdbarch_ptr_bit (target_gdbarch ()) / TARGET_CHAR_BIT);
  }
-Index: gdb-7.8.90.20150202/gdb/target.h
+Index: gdb-7.9.50.20150520/gdb/target.h
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/target.h	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/target.h	2015-02-11 16:01:59.622966411 +0100
-@@ -489,7 +489,7 @@ struct target_ops
+--- gdb-7.9.50.20150520.orig/gdb/target.h	2015-05-31 17:08:46.858506479 +0200
++++ gdb-7.9.50.20150520/gdb/target.h	2015-05-31 17:09:21.466724903 +0200
+@@ -527,7 +527,7 @@ struct target_ops
      /* Documentation of this routine is provided with the corresponding
         target_* macro.  */
      int (*to_region_ok_for_hw_watchpoint) (struct target_ops *,
@@ -3150,10 +3127,10 @@ Index: gdb-7.8.90.20150202/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.90.20150202/gdb/tracepoint.c
+Index: gdb-7.9.50.20150520/gdb/tracepoint.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/tracepoint.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/tracepoint.c	2015-02-11 16:01:59.623966416 +0100
+--- gdb-7.9.50.20150520.orig/gdb/tracepoint.c	2015-05-31 17:08:46.859506485 +0200
++++ gdb-7.9.50.20150520/gdb/tracepoint.c	2015-05-31 17:09:21.467724910 +0200
 @@ -928,13 +928,13 @@ add_register (struct collection_list *co
  static void
  add_memrange (struct collection_list *memranges, 
@@ -3247,11 +3224,11 @@ Index: gdb-7.8.90.20150202/gdb/tracepoint.c
  	}
        if (BLOCK_FUNCTION (block))
  	break;
-Index: gdb-7.8.90.20150202/gdb/typeprint.c
+Index: gdb-7.9.50.20150520/gdb/typeprint.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/typeprint.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/typeprint.c	2015-02-11 16:01:59.623966416 +0100
-@@ -402,7 +402,7 @@ whatis_exp (char *exp, int show)
+--- gdb-7.9.50.20150520.orig/gdb/typeprint.c	2015-05-31 17:08:46.860506491 +0200
++++ gdb-7.9.50.20150520/gdb/typeprint.c	2015-05-31 17:09:21.468724916 +0200
+@@ -404,7 +404,7 @@ whatis_exp (char *exp, int show)
    struct type *real_type = NULL;
    struct type *type;
    int full = 0;
@@ -3260,10 +3237,10 @@ Index: gdb-7.8.90.20150202/gdb/typeprint.c
    int using_enc = 0;
    struct value_print_options opts;
    struct type_print_options flags = default_ptype_flags;
-Index: gdb-7.8.90.20150202/gdb/valarith.c
+Index: gdb-7.9.50.20150520/gdb/valarith.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/valarith.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/valarith.c	2015-02-11 16:01:59.623966416 +0100
+--- gdb-7.9.50.20150520.orig/gdb/valarith.c	2015-05-31 17:08:46.861506498 +0200
++++ gdb-7.9.50.20150520/gdb/valarith.c	2015-05-31 17:09:21.468724916 +0200
 @@ -188,12 +188,13 @@ value_subscript (struct value *array, LO
     to doubles, but no longer does.  */
  
@@ -3290,7 +3267,7 @@ Index: gdb-7.8.90.20150202/gdb/valarith.c
  
    if (elt_stride > 0)
      elt_offs *= elt_stride;
-@@ -663,7 +664,7 @@ value_concat (struct value *arg1, struct
+@@ -678,7 +679,7 @@ value_concat (struct value *arg1, struct
    struct value *inval1;
    struct value *inval2;
    struct value *outval = NULL;
@@ -3299,7 +3276,7 @@ Index: gdb-7.8.90.20150202/gdb/valarith.c
    int count, idx;
    char *ptr;
    char inchar;
-@@ -1516,7 +1517,7 @@ value_binop (struct value *arg1, struct
+@@ -1531,7 +1532,7 @@ value_binop (struct value *arg1, struct
  int
  value_logical_not (struct value *arg1)
  {
@@ -3308,7 +3285,7 @@ Index: gdb-7.8.90.20150202/gdb/valarith.c
    const gdb_byte *p;
    struct type *type1;
  
-@@ -1547,11 +1548,11 @@ value_logical_not (struct value *arg1)
+@@ -1562,11 +1563,11 @@ value_logical_not (struct value *arg1)
  static int
  value_strcmp (struct value *arg1, struct value *arg2)
  {
@@ -3323,10 +3300,10 @@ Index: gdb-7.8.90.20150202/gdb/valarith.c
  
    for (i = 0; i < len; i++)
      {
-Index: gdb-7.8.90.20150202/gdb/valops.c
+Index: gdb-7.9.50.20150520/gdb/valops.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/valops.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/valops.c	2015-02-11 16:01:59.624966421 +0100
+--- gdb-7.9.50.20150520.orig/gdb/valops.c	2015-05-31 17:08:46.864506517 +0200
++++ gdb-7.9.50.20150520/gdb/valops.c	2015-05-31 17:09:21.469724922 +0200
 @@ -47,11 +47,11 @@ static int typecmp (int staticp, int var
  		    struct field t1[], struct value *t2[]);
  
@@ -3628,9 +3605,9 @@ Index: gdb-7.8.90.20150202/gdb/valops.c
 -			  int *top, int *using_enc)
 +			  LONGEST *top, int *using_enc)
  {
-   struct value *target;
+   struct value *target = NULL;
    struct type *type, *real_type, *target_type;
-@@ -3648,12 +3650,12 @@ value_rtti_indirect_type (struct value *
+@@ -3666,12 +3668,12 @@ value_rtti_indirect_type (struct value *
  struct value *
  value_full_object (struct value *argp, 
  		   struct type *rtype, 
@@ -3645,10 +3622,10 @@ Index: gdb-7.8.90.20150202/gdb/valops.c
    int using_enc = 0;
    struct value *new_val;
  
-Index: gdb-7.8.90.20150202/gdb/valprint.c
+Index: gdb-7.9.50.20150520/gdb/valprint.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/valprint.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/valprint.c	2015-02-11 16:01:59.625966426 +0100
+--- gdb-7.9.50.20150520.orig/gdb/valprint.c	2015-05-31 17:08:46.865506523 +0200
++++ gdb-7.9.50.20150520/gdb/valprint.c	2015-05-31 17:14:15.965583587 +0200
 @@ -298,7 +298,7 @@ val_print_scalar_type_p (struct type *ty
  int
  valprint_check_validity (struct ui_file *stream,
@@ -3676,7 +3653,7 @@ Index: gdb-7.8.90.20150202/gdb/valprint.c
  	   CORE_ADDR address, struct ui_file *stream, int recurse,
  	   const struct value *val,
  	   const struct value_print_options *options,
-@@ -996,7 +996,7 @@ val_print_type_code_flags (struct type *
+@@ -998,7 +998,7 @@ val_print_type_code_flags (struct type *
  
  void
  val_print_scalar_formatted (struct type *type,
@@ -3685,7 +3662,7 @@ Index: gdb-7.8.90.20150202/gdb/valprint.c
  			    const struct value *val,
  			    const struct value_print_options *options,
  			    int size,
-@@ -1538,7 +1538,7 @@ print_decimal_chars (struct ui_file *str
+@@ -1540,7 +1540,7 @@ print_decimal_chars (struct ui_file *str
  
  void
  print_hex_chars (struct ui_file *stream, const gdb_byte *valaddr,
@@ -3694,7 +3671,7 @@ Index: gdb-7.8.90.20150202/gdb/valprint.c
  {
    const gdb_byte *p;
  
-@@ -1655,22 +1655,22 @@ maybe_print_array_index (struct type *in
+@@ -1657,22 +1657,22 @@ maybe_print_array_index (struct type *in
  
  void
  val_print_array_elements (struct type *type,
@@ -3710,7 +3687,7 @@ Index: gdb-7.8.90.20150202/gdb/valprint.c
    unsigned int things_printed = 0;
 -  unsigned len;
 +  ULONGEST len;
-   struct type *elttype, *index_type;
+   struct type *elttype, *index_type, *base_index_type;
 -  unsigned eltlen;
 +  ULONGEST eltlen;
    /* Position of the array element we are examining to see
@@ -3721,9 +3698,9 @@ Index: gdb-7.8.90.20150202/gdb/valprint.c
 -  unsigned int reps;
 +  ULONGEST reps;
    LONGEST low_bound, high_bound;
+   LONGEST low_pos, high_pos;
  
-   elttype = TYPE_TARGET_TYPE (type);
-@@ -1741,7 +1741,7 @@ val_print_array_elements (struct type *t
+@@ -1762,7 +1762,7 @@ val_print_array_elements (struct type *t
  		     address, stream, recurse + 1, val, options,
  		     current_language);
  	  annotate_elt_rep (reps);
@@ -3732,7 +3709,7 @@ Index: gdb-7.8.90.20150202/gdb/valprint.c
  	  annotate_elt_rep_end ();
  
  	  i = rep1 - 1;
-@@ -2397,7 +2397,7 @@ print_converted_chars_to_obstack (struct
+@@ -2418,7 +2418,7 @@ print_converted_chars_to_obstack (struct
  
  void
  generic_printstr (struct ui_file *stream, struct type *type, 
@@ -3741,10 +3718,10 @@ Index: gdb-7.8.90.20150202/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.90.20150202/gdb/valprint.h
+Index: gdb-7.9.50.20150520/gdb/valprint.h
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/valprint.h	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/valprint.h	2015-02-11 16:01:59.625966426 +0100
+--- gdb-7.9.50.20150520.orig/gdb/valprint.h	2015-05-31 17:08:46.865506523 +0200
++++ gdb-7.9.50.20150520/gdb/valprint.h	2015-05-31 17:09:21.470724928 +0200
 @@ -115,11 +115,11 @@ extern void maybe_print_array_index (str
                                       struct ui_file *stream,
  				     const struct value_print_options *);
@@ -3795,10 +3772,10 @@ Index: gdb-7.8.90.20150202/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.90.20150202/gdb/value.c
+Index: gdb-7.9.50.20150520/gdb/value.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/value.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/value.c	2015-02-11 16:01:59.626966431 +0100
+--- gdb-7.9.50.20150520.orig/gdb/value.c	2015-05-31 17:08:46.868506542 +0200
++++ gdb-7.9.50.20150520/gdb/value.c	2015-05-31 17:09:21.471724935 +0200
 @@ -66,10 +66,10 @@ struct internal_function
  struct range
  {
@@ -4034,7 +4011,7 @@ Index: gdb-7.8.90.20150202/gdb/value.c
  {
    value->pointed_to_offset = val;
  }
-@@ -2263,7 +2270,7 @@ get_internalvar_function (struct interna
+@@ -2287,7 +2294,7 @@ get_internalvar_function (struct interna
  }
  
  void
@@ -4043,7 +4020,7 @@ Index: gdb-7.8.90.20150202/gdb/value.c
  			   int bitsize, struct value *newval)
  {
    gdb_byte *addr;
-@@ -2969,7 +2976,7 @@ set_value_enclosing_type (struct value *
+@@ -3008,7 +3015,7 @@ set_value_enclosing_type (struct value *
     FIELDNO says which field.  */
  
  struct value *
@@ -4052,7 +4029,7 @@ Index: gdb-7.8.90.20150202/gdb/value.c
  		       int fieldno, struct type *arg_type)
  {
    struct value *v;
-@@ -3019,7 +3026,7 @@ value_primitive_field (struct value *arg
+@@ -3058,7 +3065,7 @@ value_primitive_field (struct value *arg
        /* This field is actually a base subobject, so preserve the
  	 entire object's contents for later references to virtual
  	 bases, etc.  */
@@ -4061,7 +4038,7 @@ Index: gdb-7.8.90.20150202/gdb/value.c
  
        /* Lazy register values with offsets are not supported.  */
        if (VALUE_LVAL (arg1) == lval_register && value_lazy (arg1))
-@@ -3105,7 +3112,7 @@ value_field (struct value *arg1, int fie
+@@ -3144,7 +3151,7 @@ value_field (struct value *arg1, int fie
  struct value *
  value_fn_field (struct value **arg1p, struct fn_field *f,
  		int j, struct type *type,
@@ -4070,7 +4047,7 @@ Index: gdb-7.8.90.20150202/gdb/value.c
  {
    struct value *v;
    struct type *ftype = TYPE_FN_FIELD_TYPE (f, j);
-@@ -3175,14 +3182,14 @@ value_fn_field (struct value **arg1p, st
+@@ -3214,14 +3221,14 @@ value_fn_field (struct value **arg1p, st
  
  static LONGEST
  unpack_bits_as_long (struct type *field_type, const gdb_byte *valaddr,
@@ -4087,7 +4064,7 @@ Index: gdb-7.8.90.20150202/gdb/value.c
  
    /* Read the minimum number of bytes required; there may not be
       enough bytes to read an entire ULONGEST.  */
-@@ -3231,7 +3238,7 @@ unpack_bits_as_long (struct type *field_
+@@ -3270,7 +3277,7 @@ unpack_bits_as_long (struct type *field_
  
  int
  unpack_value_field_as_long (struct type *type, const gdb_byte *valaddr,
@@ -4096,7 +4073,7 @@ Index: gdb-7.8.90.20150202/gdb/value.c
  			    const struct value *val, LONGEST *result)
  {
    int bitpos = TYPE_FIELD_BITPOS (type, fieldno);
-@@ -3275,7 +3282,7 @@ unpack_field_as_long (struct type *type,
+@@ -3314,7 +3321,7 @@ unpack_field_as_long (struct type *type,
  void
  unpack_value_bitfield (struct value *dest_val,
  		       int bitpos, int bitsize,
@@ -4105,7 +4082,7 @@ Index: gdb-7.8.90.20150202/gdb/value.c
  		       const struct value *val)
  {
    enum bfd_endian byte_order;
-@@ -3313,7 +3320,7 @@ unpack_value_bitfield (struct value *des
+@@ -3352,7 +3359,7 @@ unpack_value_bitfield (struct value *des
  struct value *
  value_field_bitfield (struct type *type, int fieldno,
  		      const gdb_byte *valaddr,
@@ -4114,7 +4091,7 @@ Index: gdb-7.8.90.20150202/gdb/value.c
  {
    int bitpos = TYPE_FIELD_BITPOS (type, fieldno);
    int bitsize = TYPE_FIELD_BITSIZE (type, fieldno);
-@@ -3334,12 +3341,12 @@ value_field_bitfield (struct type *type,
+@@ -3373,12 +3380,12 @@ value_field_bitfield (struct type *type,
  
  void
  modify_field (struct type *type, gdb_byte *addr,
@@ -4129,10 +4106,10 @@ Index: gdb-7.8.90.20150202/gdb/value.c
  
    /* Normalize BITPOS.  */
    addr += bitpos / 8;
-Index: gdb-7.8.90.20150202/gdb/value.h
+Index: gdb-7.9.50.20150520/gdb/value.h
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/value.h	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/value.h	2015-02-11 16:01:59.627966436 +0100
+--- gdb-7.9.50.20150520.orig/gdb/value.h	2015-05-31 17:08:46.869506548 +0200
++++ gdb-7.9.50.20150520/gdb/value.h	2015-05-31 17:09:21.472724941 +0200
 @@ -131,8 +131,8 @@ extern void set_value_parent (struct val
     within the registers structure.  Note also the member
     embedded_offset below.  */
@@ -4359,7 +4336,7 @@ Index: gdb-7.8.90.20150202/gdb/value.h
  		       struct ui_file *stream, int recurse,
  		       const struct value *val,
  		       const struct value_print_options *options,
-@@ -1054,10 +1057,11 @@ extern struct value *value_literal_compl
+@@ -1056,10 +1059,11 @@ extern struct value *value_literal_compl
  extern struct value *find_function_in_inferior (const char *,
  						struct objfile **);
  
@@ -4373,11 +4350,11 @@ Index: gdb-7.8.90.20150202/gdb/value.h
  
  /* User function handler.  */
  
-Index: gdb-7.8.90.20150202/gdb/s390-linux-nat.c
+Index: gdb-7.9.50.20150520/gdb/s390-linux-nat.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/s390-linux-nat.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/s390-linux-nat.c	2015-02-11 16:01:59.627966436 +0100
-@@ -544,7 +544,7 @@ s390_can_use_hw_breakpoint (struct targe
+--- gdb-7.9.50.20150520.orig/gdb/s390-linux-nat.c	2015-05-31 17:08:46.870506555 +0200
++++ gdb-7.9.50.20150520/gdb/s390-linux-nat.c	2015-05-31 17:09:21.472724941 +0200
+@@ -619,7 +619,7 @@ s390_can_use_hw_breakpoint (struct targe
  
  static int
  s390_region_ok_for_hw_watchpoint (struct target_ops *self,
@@ -4386,11 +4363,11 @@ Index: gdb-7.8.90.20150202/gdb/s390-linux-nat.c
  {
    return 1;
  }
-Index: gdb-7.8.90.20150202/gdb/extension-priv.h
+Index: gdb-7.9.50.20150520/gdb/extension-priv.h
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/extension-priv.h	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/extension-priv.h	2015-02-11 16:01:59.627966436 +0100
-@@ -175,7 +175,7 @@ struct extension_language_ops
+--- gdb-7.9.50.20150520.orig/gdb/extension-priv.h	2015-05-31 17:08:46.870506555 +0200
++++ gdb-7.9.50.20150520/gdb/extension-priv.h	2015-05-31 17:09:21.473724948 +0200
+@@ -180,7 +180,7 @@ struct extension_language_ops
    enum ext_lang_rc (*apply_val_pretty_printer)
      (const struct extension_language_defn *,
       struct type *type, const gdb_byte *valaddr,
@@ -4399,11 +4376,11 @@ Index: gdb-7.8.90.20150202/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.90.20150202/gdb/python/python-internal.h
+Index: gdb-7.9.50.20150520/gdb/python/python-internal.h
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/python/python-internal.h	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/python/python-internal.h	2015-02-11 16:01:59.628966441 +0100
-@@ -313,7 +313,7 @@ extern int gdbpy_auto_load_enabled (cons
+--- gdb-7.9.50.20150520.orig/gdb/python/python-internal.h	2015-05-31 17:08:46.870506555 +0200
++++ gdb-7.9.50.20150520/gdb/python/python-internal.h	2015-05-31 17:09:21.473724948 +0200
+@@ -318,7 +318,7 @@ extern int gdbpy_auto_load_enabled (cons
  extern enum ext_lang_rc gdbpy_apply_val_pretty_printer
    (const struct extension_language_defn *,
     struct type *type, const gdb_byte *valaddr,
@@ -4412,11 +4389,11 @@ Index: gdb-7.8.90.20150202/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.90.20150202/gdb/target-delegates.c
+Index: gdb-7.9.50.20150520/gdb/target-delegates.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/target-delegates.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/target-delegates.c	2015-02-11 16:01:59.629966446 +0100
-@@ -634,14 +634,14 @@ debug_watchpoint_addr_within_range (stru
+--- gdb-7.9.50.20150520.orig/gdb/target-delegates.c	2015-05-31 17:08:46.871506561 +0200
++++ gdb-7.9.50.20150520/gdb/target-delegates.c	2015-05-31 17:09:21.474724954 +0200
+@@ -742,14 +742,14 @@ debug_watchpoint_addr_within_range (stru
  }
  
  static int
@@ -4433,7 +4410,7 @@ Index: gdb-7.8.90.20150202/gdb/target-delegates.c
  {
    int result;
    fprintf_unfiltered (gdb_stdlog, "-> %s->to_region_ok_for_hw_watchpoint (...)\n", debug_target.to_shortname);
-@@ -651,7 +651,7 @@ debug_region_ok_for_hw_watchpoint (struc
+@@ -759,7 +759,7 @@ debug_region_ok_for_hw_watchpoint (struc
    fputs_unfiltered (", ", gdb_stdlog);
    target_debug_print_CORE_ADDR (arg1);
    fputs_unfiltered (", ", gdb_stdlog);
@@ -4442,11 +4419,11 @@ Index: gdb-7.8.90.20150202/gdb/target-delegates.c
    fputs_unfiltered (") = ", gdb_stdlog);
    target_debug_print_int (result);
    fputs_unfiltered ("\n", gdb_stdlog);
-Index: gdb-7.8.90.20150202/gdb/aarch64-linux-nat.c
+Index: gdb-7.9.50.20150520/gdb/aarch64-linux-nat.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/aarch64-linux-nat.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/aarch64-linux-nat.c	2015-02-11 16:01:59.629966446 +0100
-@@ -1389,7 +1389,7 @@ aarch64_linux_remove_watchpoint (struct
+--- gdb-7.9.50.20150520.orig/gdb/aarch64-linux-nat.c	2015-05-31 17:08:46.872506567 +0200
++++ gdb-7.9.50.20150520/gdb/aarch64-linux-nat.c	2015-05-31 17:09:21.474724954 +0200
+@@ -1386,7 +1386,7 @@ aarch64_linux_remove_watchpoint (struct
  
  static int
  aarch64_linux_region_ok_for_hw_watchpoint (struct target_ops *self,
@@ -4455,10 +4432,10 @@ Index: gdb-7.8.90.20150202/gdb/aarch64-linux-nat.c
  {
    CORE_ADDR aligned_addr;
  
-Index: gdb-7.8.90.20150202/gdb/nat/x86-dregs.c
+Index: gdb-7.9.50.20150520/gdb/nat/x86-dregs.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/nat/x86-dregs.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/nat/x86-dregs.c	2015-02-11 16:01:59.629966446 +0100
+--- gdb-7.9.50.20150520.orig/gdb/nat/x86-dregs.c	2015-05-31 17:08:46.872506567 +0200
++++ gdb-7.9.50.20150520/gdb/nat/x86-dregs.c	2015-05-31 17:09:21.474724954 +0200
 @@ -384,7 +384,7 @@ x86_remove_aligned_watchpoint (struct x8
  
  static int
@@ -4477,11 +4454,11 @@ Index: gdb-7.8.90.20150202/gdb/nat/x86-dregs.c
  {
    int nregs;
  
-Index: gdb-7.8.90.20150202/gdb/compile/compile-c-support.c
+Index: gdb-7.9.50.20150520/gdb/compile/compile-c-support.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/compile/compile-c-support.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/compile/compile-c-support.c	2015-02-11 16:01:59.629966446 +0100
-@@ -277,11 +277,11 @@ generate_register_struct (struct ui_file
+--- gdb-7.9.50.20150520.orig/gdb/compile/compile-c-support.c	2015-05-31 17:08:46.872506567 +0200
++++ gdb-7.9.50.20150520/gdb/compile/compile-c-support.c	2015-05-31 17:09:21.475724960 +0200
+@@ -299,11 +299,11 @@ generate_register_struct (struct ui_file
  
  	      default:
  		fprintf_unfiltered (stream,
@@ -4495,11 +4472,11 @@ Index: gdb-7.8.90.20150202/gdb/compile/compile-c-support.c
  	      }
  	    fputs_unfiltered (";\n", stream);
  
-Index: gdb-7.8.90.20150202/gdb/nat/x86-dregs.h
+Index: gdb-7.9.50.20150520/gdb/nat/x86-dregs.h
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/nat/x86-dregs.h	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/nat/x86-dregs.h	2015-02-11 16:01:59.630966451 +0100
-@@ -112,7 +112,7 @@ extern int x86_dr_remove_watchpoint (str
+--- gdb-7.9.50.20150520.orig/gdb/nat/x86-dregs.h	2015-05-31 17:08:46.873506573 +0200
++++ gdb-7.9.50.20150520/gdb/nat/x86-dregs.h	2015-05-31 17:09:21.475724960 +0200
+@@ -116,7 +116,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.  */
  extern int x86_dr_region_ok_for_watchpoint (struct x86_debug_reg_state *state,
@@ -4508,10 +4485,10 @@ Index: gdb-7.8.90.20150202/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.90.20150202/gdb/x86-nat.c
+Index: gdb-7.9.50.20150520/gdb/x86-nat.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/x86-nat.c	2015-02-11 16:01:51.366924625 +0100
-+++ gdb-7.8.90.20150202/gdb/x86-nat.c	2015-02-11 16:01:59.630966451 +0100
+--- gdb-7.9.50.20150520.orig/gdb/x86-nat.c	2015-05-31 17:08:46.873506573 +0200
++++ gdb-7.9.50.20150520/gdb/x86-nat.c	2015-05-31 17:09:21.475724960 +0200
 @@ -178,7 +178,7 @@ x86_remove_watchpoint (struct target_ops
  
  static int
@@ -4521,11 +4498,11 @@ Index: gdb-7.8.90.20150202/gdb/x86-nat.c
  {
    struct x86_debug_reg_state *state
      = x86_debug_reg_state (ptid_get_pid (inferior_ptid));
-Index: gdb-7.8.90.20150202/gdb/guile/guile-internal.h
+Index: gdb-7.9.50.20150520/gdb/guile/guile-internal.h
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/guile/guile-internal.h	2015-02-02 02:58:29.000000000 +0100
-+++ gdb-7.8.90.20150202/gdb/guile/guile-internal.h	2015-02-11 16:03:36.901445361 +0100
-@@ -559,7 +559,7 @@ extern void gdbscm_preserve_values
+--- gdb-7.9.50.20150520.orig/gdb/guile/guile-internal.h	2015-05-31 17:08:46.873506573 +0200
++++ gdb-7.9.50.20150520/gdb/guile/guile-internal.h	2015-05-31 17:09:21.475724960 +0200
+@@ -562,7 +562,7 @@ extern void gdbscm_preserve_values
  extern enum ext_lang_rc gdbscm_apply_val_pretty_printer
    (const struct extension_language_defn *,
     struct type *type, const gdb_byte *valaddr,
@@ -4534,11 +4511,11 @@ Index: gdb-7.8.90.20150202/gdb/guile/guile-internal.h
     struct ui_file *stream, int recurse,
     const struct value *val,
     const struct value_print_options *options,
-Index: gdb-7.8.90.20150202/gdb/guile/scm-pretty-print.c
+Index: gdb-7.9.50.20150520/gdb/guile/scm-pretty-print.c
 ===================================================================
---- gdb-7.8.90.20150202.orig/gdb/guile/scm-pretty-print.c	2015-02-02 02:58:29.000000000 +0100
-+++ gdb-7.8.90.20150202/gdb/guile/scm-pretty-print.c	2015-02-11 16:03:14.061335945 +0100
-@@ -955,7 +955,7 @@ ppscm_print_children (SCM printer, enum
+--- gdb-7.9.50.20150520.orig/gdb/guile/scm-pretty-print.c	2015-05-31 17:08:46.873506573 +0200
++++ gdb-7.9.50.20150520/gdb/guile/scm-pretty-print.c	2015-05-31 17:09:21.476724966 +0200
+@@ -958,7 +958,7 @@ ppscm_print_children (SCM printer, enum
  enum ext_lang_rc
  gdbscm_apply_val_pretty_printer (const struct extension_language_defn *extlang,
  				 struct type *type, const gdb_byte *valaddr,

diff --git a/gdb-rhbz795424-bitpos-23of25.patch b/gdb-rhbz795424-bitpos-23of25.patch
index 09f8f2a..862f3aa 100644
--- a/gdb-rhbz795424-bitpos-23of25.patch
+++ b/gdb-rhbz795424-bitpos-23of25.patch
@@ -137,10 +137,10 @@ Content-Type: text/x-patch
 Content-Transfer-Encoding: 7bit
 Content-Disposition: attachment; filename=bitpos-tdep.patch
 
-Index: gdb-7.8.50.20141228/gdb/alpha-tdep.c
+Index: gdb-7.9.50.20150520/gdb/alpha-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/alpha-tdep.c	2015-01-05 22:18:55.988023607 +0100
-+++ gdb-7.8.50.20141228/gdb/alpha-tdep.c	2015-01-05 22:19:08.086078440 +0100
+--- gdb-7.9.50.20150520.orig/gdb/alpha-tdep.c	2015-05-31 17:15:01.056868035 +0200
++++ gdb-7.9.50.20150520/gdb/alpha-tdep.c	2015-05-31 17:15:03.419882846 +0200
 @@ -298,18 +298,18 @@ alpha_push_dummy_call (struct gdbarch *g
  {
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
@@ -184,20 +184,20 @@ Index: gdb-7.8.50.20141228/gdb/alpha-tdep.c
  	      memcpy (arg_reg_buffer + offset, contents, tlen);
  	      offset += tlen;
  	      contents += tlen;
-Index: gdb-7.8.50.20141228/gdb/amd64-tdep.c
+Index: gdb-7.9.50.20150520/gdb/amd64-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/amd64-tdep.c	2015-01-05 22:18:55.989023612 +0100
-+++ gdb-7.8.50.20141228/gdb/amd64-tdep.c	2015-01-05 22:19:08.087078444 +0100
-@@ -700,7 +700,7 @@ amd64_return_value (struct gdbarch *gdba
+--- gdb-7.9.50.20150520.orig/gdb/amd64-tdep.c	2015-05-31 17:15:01.058868047 +0200
++++ gdb-7.9.50.20150520/gdb/amd64-tdep.c	2015-05-31 17:15:40.253113722 +0200
+@@ -701,7 +701,7 @@ amd64_return_value (struct gdbarch *gdba
  		    gdb_byte *readbuf, const gdb_byte *writebuf)
  {
-   enum amd64_reg_class class[2];
+   enum amd64_reg_class theclass[2];
 -  int len = TYPE_LENGTH (type);
 +  LONGEST len = TYPE_LENGTH (type);
    static int integer_regnum[] = { AMD64_RAX_REGNUM, AMD64_RDX_REGNUM };
    static int sse_regnum[] = { AMD64_XMM0_REGNUM, AMD64_XMM1_REGNUM };
    int integer_reg = 0;
-@@ -851,8 +851,8 @@ amd64_push_arguments (struct regcache *r
+@@ -852,8 +852,8 @@ amd64_push_arguments (struct regcache *r
    };
    struct value **stack_args = alloca (nargs * sizeof (struct value *));
    int num_stack_args = 0;
@@ -208,19 +208,19 @@ Index: gdb-7.8.50.20141228/gdb/amd64-tdep.c
    int integer_reg = 0;
    int sse_reg = 0;
    int i;
-@@ -864,7 +864,7 @@ amd64_push_arguments (struct regcache *r
+@@ -865,7 +865,7 @@ amd64_push_arguments (struct regcache *r
    for (i = 0; i < nargs; i++)
      {
        struct type *type = value_type (args[i]);
 -      int len = TYPE_LENGTH (type);
 +      LONGEST len = TYPE_LENGTH (type);
-       enum amd64_reg_class class[2];
+       enum amd64_reg_class theclass[2];
        int needed_integer_regs = 0;
        int needed_sse_regs = 0;
-Index: gdb-7.8.50.20141228/gdb/amd64-windows-tdep.c
+Index: gdb-7.9.50.20150520/gdb/amd64-windows-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/amd64-windows-tdep.c	2015-01-05 22:18:55.990023616 +0100
-+++ gdb-7.8.50.20141228/gdb/amd64-windows-tdep.c	2015-01-05 22:19:08.087078444 +0100
+--- gdb-7.9.50.20150520.orig/gdb/amd64-windows-tdep.c	2015-05-31 17:15:01.059868054 +0200
++++ gdb-7.9.50.20150520/gdb/amd64-windows-tdep.c	2015-05-31 17:15:03.421882859 +0200
 @@ -288,7 +288,7 @@ amd64_windows_return_value (struct gdbar
  			    struct type *type, struct regcache *regcache,
  			    gdb_byte *readbuf, const gdb_byte *writebuf)
@@ -230,11 +230,11 @@ Index: gdb-7.8.50.20141228/gdb/amd64-windows-tdep.c
    int regnum = -1;
  
    /* See if our value is returned through a register.  If it is, then
-Index: gdb-7.8.50.20141228/gdb/arm-tdep.c
+Index: gdb-7.9.50.20150520/gdb/arm-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/arm-tdep.c	2015-01-05 22:18:55.995023639 +0100
-+++ gdb-7.8.50.20141228/gdb/arm-tdep.c	2015-01-05 22:19:08.089078453 +0100
-@@ -3524,7 +3524,7 @@ arm_vfp_cprc_reg_char (enum arm_vfp_cprc
+--- gdb-7.9.50.20150520.orig/gdb/arm-tdep.c	2015-05-31 17:15:01.069868116 +0200
++++ gdb-7.9.50.20150520/gdb/arm-tdep.c	2015-05-31 17:15:03.425882884 +0200
+@@ -3537,7 +3537,7 @@ arm_vfp_cprc_reg_char (enum arm_vfp_cprc
     array).  Vector types are not currently supported, matching the
     generic AAPCS support.  */
  
@@ -243,7 +243,7 @@ Index: gdb-7.8.50.20141228/gdb/arm-tdep.c
  arm_vfp_cprc_sub_candidate (struct type *t,
  			    enum arm_vfp_cprc_base_type *base_type)
  {
-@@ -3587,7 +3587,7 @@ arm_vfp_cprc_sub_candidate (struct type
+@@ -3600,7 +3600,7 @@ arm_vfp_cprc_sub_candidate (struct type
  
      case TYPE_CODE_ARRAY:
        {
@@ -252,7 +252,7 @@ Index: gdb-7.8.50.20141228/gdb/arm-tdep.c
  	unsigned unitlen;
  	count = arm_vfp_cprc_sub_candidate (TYPE_TARGET_TYPE (t), base_type);
  	if (count == -1)
-@@ -3607,13 +3607,15 @@ arm_vfp_cprc_sub_candidate (struct type
+@@ -3620,13 +3620,15 @@ arm_vfp_cprc_sub_candidate (struct type
  
      case TYPE_CODE_STRUCT:
        {
@@ -271,7 +271,7 @@ Index: gdb-7.8.50.20141228/gdb/arm-tdep.c
  	    if (sub_count == -1)
  	      return -1;
  	    count += sub_count;
-@@ -3633,13 +3635,15 @@ arm_vfp_cprc_sub_candidate (struct type
+@@ -3646,13 +3648,15 @@ arm_vfp_cprc_sub_candidate (struct type
  
      case TYPE_CODE_UNION:
        {
@@ -290,7 +290,7 @@ Index: gdb-7.8.50.20141228/gdb/arm-tdep.c
  	    if (sub_count == -1)
  	      return -1;
  	    count = (count > sub_count ? count : sub_count);
-@@ -3675,7 +3679,7 @@ arm_vfp_call_candidate (struct type *t,
+@@ -3688,7 +3692,7 @@ arm_vfp_call_candidate (struct type *t,
  			int *count)
  {
    enum arm_vfp_cprc_base_type b = VFP_CPRC_UNKNOWN;
@@ -299,7 +299,7 @@ Index: gdb-7.8.50.20141228/gdb/arm-tdep.c
    if (c <= 0 || c > 4)
      return 0;
    *base_type = b;
-@@ -3756,7 +3760,7 @@ arm_push_dummy_call (struct gdbarch *gdb
+@@ -3769,7 +3773,7 @@ arm_push_dummy_call (struct gdbarch *gdb
  
    for (argnum = 0; argnum < nargs; argnum++)
      {
@@ -308,10 +308,10 @@ Index: gdb-7.8.50.20141228/gdb/arm-tdep.c
        struct type *arg_type;
        struct type *target_type;
        enum type_code typecode;
-Index: gdb-7.8.50.20141228/gdb/avr-tdep.c
+Index: gdb-7.9.50.20150520/gdb/avr-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/avr-tdep.c	2015-01-05 22:18:55.996023643 +0100
-+++ gdb-7.8.50.20141228/gdb/avr-tdep.c	2015-01-05 22:19:08.089078453 +0100
+--- gdb-7.9.50.20150520.orig/gdb/avr-tdep.c	2015-05-31 17:15:01.071868129 +0200
++++ gdb-7.9.50.20150520/gdb/avr-tdep.c	2015-05-31 17:15:03.425882884 +0200
 @@ -1196,13 +1196,14 @@ avr_dummy_id (struct gdbarch *gdbarch, s
  
  struct stack_item
@@ -345,10 +345,10 @@ Index: gdb-7.8.50.20141228/gdb/avr-tdep.c
  
        /* Calculate the potential last register needed.  */
        last_regnum = regnum - (len + (len & 1));
-Index: gdb-7.8.50.20141228/gdb/bfin-tdep.c
+Index: gdb-7.9.50.20150520/gdb/bfin-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/bfin-tdep.c	2015-01-05 22:18:55.996023643 +0100
-+++ gdb-7.8.50.20141228/gdb/bfin-tdep.c	2015-01-05 22:19:08.090078458 +0100
+--- gdb-7.9.50.20150520.orig/gdb/bfin-tdep.c	2015-05-31 17:15:01.071868129 +0200
++++ gdb-7.9.50.20150520/gdb/bfin-tdep.c	2015-05-31 17:15:03.426882890 +0200
 @@ -504,7 +504,7 @@ bfin_push_dummy_call (struct gdbarch *gd
    gdb_byte buf[4];
    int i;
@@ -367,10 +367,10 @@ Index: gdb-7.8.50.20141228/gdb/bfin-tdep.c
  
        sp -= container_len;
        write_memory (sp, value_contents_writeable (args[i]), container_len);
-Index: gdb-7.8.50.20141228/gdb/cris-tdep.c
+Index: gdb-7.9.50.20150520/gdb/cris-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/cris-tdep.c	2015-01-05 22:18:55.997023648 +0100
-+++ gdb-7.8.50.20141228/gdb/cris-tdep.c	2015-01-05 22:19:08.090078458 +0100
+--- gdb-7.9.50.20150520.orig/gdb/cris-tdep.c	2015-05-31 17:15:01.073868142 +0200
++++ gdb-7.9.50.20150520/gdb/cris-tdep.c	2015-05-31 17:15:03.427882897 +0200
 @@ -663,13 +663,13 @@ static CORE_ADDR cris_unwind_sp (struct
  
  struct stack_item
@@ -405,10 +405,10 @@ Index: gdb-7.8.50.20141228/gdb/cris-tdep.c
        
        /* How may registers worth of storage do we need for this argument?  */
        reg_demand = (len / 4) + (len % 4 != 0 ? 1 : 0);
-Index: gdb-7.8.50.20141228/gdb/h8300-tdep.c
+Index: gdb-7.9.50.20150520/gdb/h8300-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/h8300-tdep.c	2015-01-05 22:18:55.998023652 +0100
-+++ gdb-7.8.50.20141228/gdb/h8300-tdep.c	2015-01-05 22:19:08.091078463 +0100
+--- gdb-7.9.50.20150520.orig/gdb/h8300-tdep.c	2015-05-31 17:15:01.074868148 +0200
++++ gdb-7.9.50.20150520/gdb/h8300-tdep.c	2015-05-31 17:15:03.427882897 +0200
 @@ -639,7 +639,7 @@ h8300_push_dummy_call (struct gdbarch *g
  		       int struct_return, CORE_ADDR struct_addr)
  {
@@ -441,11 +441,11 @@ Index: gdb-7.8.50.20141228/gdb/h8300-tdep.c
  
  	      for (offset = 0; offset < padded_len; offset += wordsize)
  		{
-Index: gdb-7.8.50.20141228/gdb/hppa-tdep.c
+Index: gdb-7.9.50.20150520/gdb/hppa-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/hppa-tdep.c	2015-01-05 22:18:55.999023657 +0100
-+++ gdb-7.8.50.20141228/gdb/hppa-tdep.c	2015-01-05 22:19:08.091078463 +0100
-@@ -960,7 +960,7 @@ hppa64_push_dummy_call (struct gdbarch *
+--- gdb-7.9.50.20150520.orig/gdb/hppa-tdep.c	2015-05-31 17:15:01.076868160 +0200
++++ gdb-7.9.50.20150520/gdb/hppa-tdep.c	2015-05-31 17:15:03.428882903 +0200
+@@ -991,7 +991,7 @@ hppa64_push_dummy_call (struct gdbarch *
      {
        struct value *arg = args[i];
        struct type *type = value_type (arg);
@@ -454,7 +454,7 @@ Index: gdb-7.8.50.20141228/gdb/hppa-tdep.c
        const bfd_byte *valbuf;
        bfd_byte fptrbuf[8];
        int regnum;
-@@ -1155,7 +1155,7 @@ hppa64_return_value (struct gdbarch *gdb
+@@ -1186,7 +1186,7 @@ hppa64_return_value (struct gdbarch *gdb
  		     struct type *type, struct regcache *regcache,
  		     gdb_byte *readbuf, const gdb_byte *writebuf)
  {
@@ -463,10 +463,10 @@ Index: gdb-7.8.50.20141228/gdb/hppa-tdep.c
    int regnum, offset;
  
    if (len > 16)
-Index: gdb-7.8.50.20141228/gdb/i386-darwin-tdep.c
+Index: gdb-7.9.50.20150520/gdb/i386-darwin-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/i386-darwin-tdep.c	2015-01-05 22:18:55.999023657 +0100
-+++ gdb-7.8.50.20141228/gdb/i386-darwin-tdep.c	2015-01-05 22:19:08.091078463 +0100
+--- gdb-7.9.50.20150520.orig/gdb/i386-darwin-tdep.c	2015-05-31 17:15:01.076868160 +0200
++++ gdb-7.9.50.20150520/gdb/i386-darwin-tdep.c	2015-05-31 17:15:03.428882903 +0200
 @@ -163,7 +163,7 @@ i386_darwin_push_dummy_call (struct gdba
  
    for (write_pass = 0; write_pass < 2; write_pass++)
@@ -476,11 +476,11 @@ Index: gdb-7.8.50.20141228/gdb/i386-darwin-tdep.c
        int num_m128 = 0;
  
        if (struct_return)
-Index: gdb-7.8.50.20141228/gdb/i386-tdep.c
+Index: gdb-7.9.50.20150520/gdb/i386-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/i386-tdep.c	2015-01-05 22:18:56.002023671 +0100
-+++ gdb-7.8.50.20141228/gdb/i386-tdep.c	2015-01-05 22:19:08.092078467 +0100
-@@ -2643,7 +2643,7 @@ i386_push_dummy_call (struct gdbarch *gd
+--- gdb-7.9.50.20150520.orig/gdb/i386-tdep.c	2015-05-31 17:15:01.082868198 +0200
++++ gdb-7.9.50.20150520/gdb/i386-tdep.c	2015-05-31 17:15:03.430882915 +0200
+@@ -2651,7 +2651,7 @@ i386_push_dummy_call (struct gdbarch *gd
    gdb_byte buf[4];
    int i;
    int write_pass;
@@ -489,7 +489,7 @@ Index: gdb-7.8.50.20141228/gdb/i386-tdep.c
  
    /* Determine the total space required for arguments and struct
       return address in a first pass (allowing for 16-byte-aligned
-@@ -2651,7 +2651,7 @@ i386_push_dummy_call (struct gdbarch *gd
+@@ -2659,7 +2659,7 @@ i386_push_dummy_call (struct gdbarch *gd
  
    for (write_pass = 0; write_pass < 2; write_pass++)
      {
@@ -498,7 +498,7 @@ Index: gdb-7.8.50.20141228/gdb/i386-tdep.c
  
        if (struct_return)
  	{
-@@ -2668,7 +2668,7 @@ i386_push_dummy_call (struct gdbarch *gd
+@@ -2676,7 +2676,7 @@ i386_push_dummy_call (struct gdbarch *gd
  
        for (i = 0; i < nargs; i++)
  	{
@@ -507,7 +507,7 @@ Index: gdb-7.8.50.20141228/gdb/i386-tdep.c
  
  	  if (write_pass)
  	    {
-@@ -2875,7 +2875,7 @@ i386_reg_struct_return_p (struct gdbarch
+@@ -2883,7 +2883,7 @@ i386_reg_struct_return_p (struct gdbarch
  {
    struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
    enum type_code code = TYPE_CODE (type);
@@ -516,7 +516,7 @@ Index: gdb-7.8.50.20141228/gdb/i386-tdep.c
  
    gdb_assert (code == TYPE_CODE_STRUCT
                || code == TYPE_CODE_UNION
-@@ -3621,7 +3621,7 @@ static int
+@@ -3629,7 +3629,7 @@ static int
  i386_convert_register_p (struct gdbarch *gdbarch,
  			 int regnum, struct type *type)
  {
@@ -525,7 +525,7 @@ Index: gdb-7.8.50.20141228/gdb/i386-tdep.c
  
    /* Values may be spread across multiple registers.  Most debugging
       formats aren't expressive enough to specify the locations, so
-@@ -3654,7 +3654,7 @@ i386_register_to_value (struct frame_inf
+@@ -3662,7 +3662,7 @@ i386_register_to_value (struct frame_inf
  			int *optimizedp, int *unavailablep)
  {
    struct gdbarch *gdbarch = get_frame_arch (frame);
@@ -534,7 +534,7 @@ Index: gdb-7.8.50.20141228/gdb/i386-tdep.c
  
    if (i386_fp_regnum_p (gdbarch, regnum))
      return i387_register_to_value (frame, regnum, type, to,
-@@ -3690,7 +3690,7 @@ static void
+@@ -3698,7 +3698,7 @@ static void
  i386_value_to_register (struct frame_info *frame, int regnum,
  			struct type *type, const gdb_byte *from)
  {
@@ -543,11 +543,11 @@ Index: gdb-7.8.50.20141228/gdb/i386-tdep.c
  
    if (i386_fp_regnum_p (get_frame_arch (frame), regnum))
      {
-Index: gdb-7.8.50.20141228/gdb/iq2000-tdep.c
+Index: gdb-7.9.50.20150520/gdb/iq2000-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/iq2000-tdep.c	2015-01-05 22:18:56.003023675 +0100
-+++ gdb-7.8.50.20141228/gdb/iq2000-tdep.c	2015-01-05 22:19:08.092078467 +0100
-@@ -653,8 +653,9 @@ iq2000_push_dummy_call (struct gdbarch *
+--- gdb-7.9.50.20150520.orig/gdb/iq2000-tdep.c	2015-05-31 17:15:01.083868204 +0200
++++ gdb-7.9.50.20150520/gdb/iq2000-tdep.c	2015-05-31 17:15:03.431882922 +0200
+@@ -651,8 +651,9 @@ iq2000_push_dummy_call (struct gdbarch *
    const bfd_byte *val;
    bfd_byte buf[4];
    struct type *type;
@@ -559,10 +559,10 @@ Index: gdb-7.8.50.20141228/gdb/iq2000-tdep.c
    /* Used to copy struct arguments into the stack.  */
    CORE_ADDR struct_ptr;
  
-Index: gdb-7.8.50.20141228/gdb/m32r-tdep.c
+Index: gdb-7.9.50.20150520/gdb/m32r-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/m32r-tdep.c	2015-01-05 22:18:56.003023675 +0100
-+++ gdb-7.8.50.20141228/gdb/m32r-tdep.c	2015-01-05 22:19:08.093078472 +0100
+--- gdb-7.9.50.20150520.orig/gdb/m32r-tdep.c	2015-05-31 17:15:01.083868204 +0200
++++ gdb-7.9.50.20150520/gdb/m32r-tdep.c	2015-05-31 17:15:03.431882922 +0200
 @@ -687,7 +687,7 @@ m32r_push_dummy_call (struct gdbarch *gd
    CORE_ADDR regval;
    gdb_byte *val;
@@ -572,10 +572,10 @@ Index: gdb-7.8.50.20141228/gdb/m32r-tdep.c
  
    /* First force sp to a 4-byte alignment.  */
    sp = sp & ~3;
-Index: gdb-7.8.50.20141228/gdb/m68k-tdep.c
+Index: gdb-7.9.50.20150520/gdb/m68k-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/m68k-tdep.c	2015-01-05 22:18:56.003023675 +0100
-+++ gdb-7.8.50.20141228/gdb/m68k-tdep.c	2015-01-05 22:19:08.093078472 +0100
+--- gdb-7.9.50.20150520.orig/gdb/m68k-tdep.c	2015-05-31 17:15:01.084868210 +0200
++++ gdb-7.9.50.20150520/gdb/m68k-tdep.c	2015-05-31 17:15:03.432882928 +0200
 @@ -382,7 +382,7 @@ m68k_reg_struct_return_p (struct gdbarch
  {
    struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
@@ -598,10 +598,10 @@ Index: gdb-7.8.50.20141228/gdb/m68k-tdep.c
  
        /* Non-scalars bigger than 4 bytes are left aligned, others are
  	 right aligned.  */
-Index: gdb-7.8.50.20141228/gdb/m88k-tdep.c
+Index: gdb-7.9.50.20150520/gdb/m88k-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/m88k-tdep.c	2015-01-05 22:18:56.004023680 +0100
-+++ gdb-7.8.50.20141228/gdb/m88k-tdep.c	2015-01-05 22:19:08.093078472 +0100
+--- gdb-7.9.50.20150520.orig/gdb/m88k-tdep.c	2015-05-31 17:15:01.085868217 +0200
++++ gdb-7.9.50.20150520/gdb/m88k-tdep.c	2015-05-31 17:15:03.432882928 +0200
 @@ -257,13 +257,13 @@ m88k_store_arguments (struct regcache *r
  {
    struct gdbarch *gdbarch = get_regcache_arch (regcache);
@@ -629,10 +629,10 @@ Index: gdb-7.8.50.20141228/gdb/m88k-tdep.c
  
        if (m88k_in_register_p (type))
  	{
-Index: gdb-7.8.50.20141228/gdb/mep-tdep.c
+Index: gdb-7.9.50.20150520/gdb/mep-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/mep-tdep.c	2015-01-05 22:18:56.005023684 +0100
-+++ gdb-7.8.50.20141228/gdb/mep-tdep.c	2015-01-05 22:19:08.093078472 +0100
+--- gdb-7.9.50.20150520.orig/gdb/mep-tdep.c	2015-05-31 17:15:01.086868223 +0200
++++ gdb-7.9.50.20150520/gdb/mep-tdep.c	2015-05-31 17:15:03.433882934 +0200
 @@ -2269,7 +2269,7 @@ push_large_arguments (CORE_ADDR sp, int
  
    for (i = 0; i < argc; i++)
@@ -642,10 +642,10 @@ Index: gdb-7.8.50.20141228/gdb/mep-tdep.c
  
        if (arg_len > MEP_GPR_SIZE)
          {
-Index: gdb-7.8.50.20141228/gdb/mips-tdep.c
+Index: gdb-7.9.50.20150520/gdb/mips-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/mips-tdep.c	2015-01-05 22:18:56.009023702 +0100
-+++ gdb-7.8.50.20141228/gdb/mips-tdep.c	2015-01-05 22:19:08.095078481 +0100
+--- gdb-7.9.50.20150520.orig/gdb/mips-tdep.c	2015-05-31 17:15:01.094868273 +0200
++++ gdb-7.9.50.20150520/gdb/mips-tdep.c	2015-05-31 17:15:03.435882947 +0200
 @@ -455,7 +455,7 @@ static void
  mips_xfer_register (struct gdbarch *gdbarch, struct regcache *regcache,
  		    int reg_num, int length,
@@ -791,10 +791,10 @@ Index: gdb-7.8.50.20141228/gdb/mips-tdep.c
  
        val = value_contents (arg);
  
-Index: gdb-7.8.50.20141228/gdb/mn10300-tdep.c
+Index: gdb-7.9.50.20150520/gdb/mn10300-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/mn10300-tdep.c	2015-01-05 22:18:56.010023707 +0100
-+++ gdb-7.8.50.20141228/gdb/mn10300-tdep.c	2015-01-05 22:19:08.096078485 +0100
+--- gdb-7.9.50.20150520.orig/gdb/mn10300-tdep.c	2015-05-31 17:15:01.095868279 +0200
++++ gdb-7.9.50.20150520/gdb/mn10300-tdep.c	2015-05-31 17:15:03.435882947 +0200
 @@ -1225,7 +1225,7 @@ mn10300_push_dummy_call (struct gdbarch
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
    const int push_size = register_size (gdbarch, E_PC_REGNUM);
@@ -804,10 +804,10 @@ Index: gdb-7.8.50.20141228/gdb/mn10300-tdep.c
    int stack_offset = 0;
    int argnum;
    const gdb_byte *val;
-Index: gdb-7.8.50.20141228/gdb/mt-tdep.c
+Index: gdb-7.9.50.20150520/gdb/mt-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/mt-tdep.c	2015-01-05 22:18:56.010023707 +0100
-+++ gdb-7.8.50.20141228/gdb/mt-tdep.c	2015-01-05 22:19:08.096078485 +0100
+--- gdb-7.9.50.20150520.orig/gdb/mt-tdep.c	2015-05-31 17:15:01.096868286 +0200
++++ gdb-7.9.50.20150520/gdb/mt-tdep.c	2015-05-31 17:15:03.436882953 +0200
 @@ -781,9 +781,9 @@ mt_push_dummy_call (struct gdbarch *gdba
    gdb_byte buf[MT_MAX_STRUCT_SIZE];
    int argreg = MT_1ST_ARGREG;
@@ -820,10 +820,10 @@ Index: gdb-7.8.50.20141228/gdb/mt-tdep.c
    int i, j;
  
    /* First handle however many args we can fit into MT_1ST_ARGREG thru
-Index: gdb-7.8.50.20141228/gdb/ppc-sysv-tdep.c
+Index: gdb-7.9.50.20150520/gdb/ppc-sysv-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/ppc-sysv-tdep.c	2015-01-05 22:18:56.011023711 +0100
-+++ gdb-7.8.50.20141228/gdb/ppc-sysv-tdep.c	2015-01-05 22:19:08.096078485 +0100
+--- gdb-7.9.50.20150520.orig/gdb/ppc-sysv-tdep.c	2015-05-31 17:15:01.097868292 +0200
++++ gdb-7.9.50.20150520/gdb/ppc-sysv-tdep.c	2015-05-31 17:15:03.436882953 +0200
 @@ -66,7 +66,7 @@ ppc_sysv_abi_push_dummy_call (struct gdb
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
    int opencl_abi = ppc_sysv_use_opencl_abi (value_type (function));
@@ -868,11 +868,11 @@ Index: gdb-7.8.50.20141228/gdb/ppc-sysv-tdep.c
  
    /* Enforce alignment of stack location, if requested.  */
    if (align > tdep->wordsize)
-Index: gdb-7.8.50.20141228/gdb/rl78-tdep.c
+Index: gdb-7.9.50.20150520/gdb/rl78-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/rl78-tdep.c	2015-01-05 22:18:56.011023711 +0100
-+++ gdb-7.8.50.20141228/gdb/rl78-tdep.c	2015-01-05 22:19:08.096078485 +0100
-@@ -1251,8 +1251,8 @@ rl78_push_dummy_call (struct gdbarch *gd
+--- gdb-7.9.50.20150520.orig/gdb/rl78-tdep.c	2015-05-31 17:15:01.097868292 +0200
++++ gdb-7.9.50.20150520/gdb/rl78-tdep.c	2015-05-31 17:15:03.437882959 +0200
+@@ -1333,8 +1333,8 @@ rl78_push_dummy_call (struct gdbarch *gd
    for (i = nargs - 1; i >= 0; i--)
      {
        struct type *value_type = value_enclosing_type (args[i]);
@@ -883,10 +883,10 @@ Index: gdb-7.8.50.20141228/gdb/rl78-tdep.c
  
        sp -= container_len;
        write_memory (rl78_make_data_address (sp),
-Index: gdb-7.8.50.20141228/gdb/rs6000-aix-tdep.c
+Index: gdb-7.9.50.20150520/gdb/rs6000-aix-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/rs6000-aix-tdep.c	2015-01-05 22:18:56.012023716 +0100
-+++ gdb-7.8.50.20141228/gdb/rs6000-aix-tdep.c	2015-01-05 22:19:08.097078490 +0100
+--- gdb-7.9.50.20150520.orig/gdb/rs6000-aix-tdep.c	2015-05-31 17:15:01.098868298 +0200
++++ gdb-7.9.50.20150520/gdb/rs6000-aix-tdep.c	2015-05-31 17:15:03.437882959 +0200
 @@ -186,9 +186,9 @@ rs6000_push_dummy_call (struct gdbarch *
    struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
@@ -908,32 +908,32 @@ Index: gdb-7.8.50.20141228/gdb/rs6000-aix-tdep.c
  
        if (argbytes)
  	{
-Index: gdb-7.8.50.20141228/gdb/s390-linux-tdep.c
+Index: gdb-7.9.50.20150520/gdb/s390-linux-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/s390-linux-tdep.c	2015-01-05 22:18:56.013023720 +0100
-+++ gdb-7.8.50.20141228/gdb/s390-linux-tdep.c	2015-01-05 22:19:08.097078490 +0100
-@@ -2334,7 +2334,7 @@ is_float_like (struct type *type)
- 
+--- gdb-7.9.50.20150520.orig/gdb/s390-linux-tdep.c	2015-05-31 17:15:01.099868304 +0200
++++ gdb-7.9.50.20150520/gdb/s390-linux-tdep.c	2015-05-31 17:16:13.285320769 +0200
+@@ -2463,7 +2463,7 @@ s390_function_arg_vector (struct type *t
+ /* Determine whether N is a power of two.  */
  
  static int
 -is_power_of_two (unsigned int n)
 +is_power_of_two (ULONGEST n)
  {
-   return ((n & (n - 1)) == 0);
+   return n && ((n & (n - 1)) == 0);
  }
-@@ -2520,7 +2520,7 @@ s390_push_dummy_call (struct gdbarch *gd
-       {
- 	struct value *arg = args[i];
- 	struct type *type = check_typedef (value_type (arg));
--	unsigned length = TYPE_LENGTH (type);
-+	ULONGEST length = TYPE_LENGTH (type);
+@@ -2520,7 +2520,7 @@ s390_handle_arg (struct s390_arg_state *
+ 		 enum bfd_endian byte_order, int is_unnamed)
+ {
+   struct type *type = check_typedef (value_type (arg));
+-  unsigned int length = TYPE_LENGTH (type);
++  ULONGEST length = TYPE_LENGTH (type);
+   int write_mode = as->regcache != NULL;
  
- 	if (s390_function_arg_pass_by_reference (type))
- 	  {
-Index: gdb-7.8.50.20141228/gdb/score-tdep.c
+   if (s390_function_arg_float (type))
+Index: gdb-7.9.50.20150520/gdb/score-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/score-tdep.c	2015-01-05 22:18:56.013023720 +0100
-+++ gdb-7.8.50.20141228/gdb/score-tdep.c	2015-01-05 22:19:08.097078490 +0100
+--- gdb-7.9.50.20150520.orig/gdb/score-tdep.c	2015-05-31 17:15:01.100868311 +0200
++++ gdb-7.9.50.20150520/gdb/score-tdep.c	2015-05-31 17:15:03.439882972 +0200
 @@ -514,7 +514,7 @@ score_push_dummy_call (struct gdbarch *g
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
    int argnum;
@@ -943,10 +943,10 @@ Index: gdb-7.8.50.20141228/gdb/score-tdep.c
    CORE_ADDR stack_offset = 0;
    CORE_ADDR addr = 0;
  
-Index: gdb-7.8.50.20141228/gdb/sh-tdep.c
+Index: gdb-7.9.50.20150520/gdb/sh-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/sh-tdep.c	2015-01-05 22:18:56.014023725 +0100
-+++ gdb-7.8.50.20141228/gdb/sh-tdep.c	2015-01-05 22:19:08.098078494 +0100
+--- gdb-7.9.50.20150520.orig/gdb/sh-tdep.c	2015-05-31 17:15:01.101868317 +0200
++++ gdb-7.9.50.20150520/gdb/sh-tdep.c	2015-05-31 17:15:03.439882972 +0200
 @@ -805,7 +805,7 @@ sh_skip_prologue (struct gdbarch *gdbarc
  static int
  sh_use_struct_convention (int renesas_abi, struct type *type)
@@ -985,10 +985,10 @@ Index: gdb-7.8.50.20141228/gdb/sh-tdep.c
    int pass_on_stack = 0;
    int last_reg_arg = INT_MAX;
  
-Index: gdb-7.8.50.20141228/gdb/sh64-tdep.c
+Index: gdb-7.9.50.20150520/gdb/sh64-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/sh64-tdep.c	2015-01-05 22:18:56.015023729 +0100
-+++ gdb-7.8.50.20141228/gdb/sh64-tdep.c	2015-01-05 22:19:08.098078494 +0100
+--- gdb-7.9.50.20150520.orig/gdb/sh64-tdep.c	2015-05-31 17:15:01.102868323 +0200
++++ gdb-7.9.50.20150520/gdb/sh64-tdep.c	2015-05-31 17:15:03.440882978 +0200
 @@ -1056,7 +1056,7 @@ sh64_push_dummy_call (struct gdbarch *gd
  		      CORE_ADDR struct_addr)
  {
@@ -1007,10 +1007,10 @@ Index: gdb-7.8.50.20141228/gdb/sh64-tdep.c
    int argreg_size;
    int fp_args[12];
  
-Index: gdb-7.8.50.20141228/gdb/sparc-tdep.c
+Index: gdb-7.9.50.20150520/gdb/sparc-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/sparc-tdep.c	2015-01-05 22:18:56.016023734 +0100
-+++ gdb-7.8.50.20141228/gdb/sparc-tdep.c	2015-01-05 22:19:08.098078494 +0100
+--- gdb-7.9.50.20150520.orig/gdb/sparc-tdep.c	2015-05-31 17:15:01.103868329 +0200
++++ gdb-7.9.50.20150520/gdb/sparc-tdep.c	2015-05-31 17:15:03.441882984 +0200
 @@ -525,7 +525,7 @@ sparc32_store_arguments (struct regcache
    for (i = 0; i < nargs; i++)
      {
@@ -1020,10 +1020,10 @@ Index: gdb-7.8.50.20141228/gdb/sparc-tdep.c
  
        if (sparc_structure_or_union_p (type)
  	  || (sparc_floating_p (type) && len == 16)
-Index: gdb-7.8.50.20141228/gdb/sparc64-tdep.c
+Index: gdb-7.9.50.20150520/gdb/sparc64-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/sparc64-tdep.c	2015-01-05 22:18:56.016023734 +0100
-+++ gdb-7.8.50.20141228/gdb/sparc64-tdep.c	2015-01-05 22:19:08.099078499 +0100
+--- gdb-7.9.50.20150520.orig/gdb/sparc64-tdep.c	2015-05-31 17:15:01.104868336 +0200
++++ gdb-7.9.50.20150520/gdb/sparc64-tdep.c	2015-05-31 17:15:03.441882984 +0200
 @@ -636,7 +636,8 @@ sparc64_16_byte_align_p (struct type *ty
  
  static void
@@ -1079,10 +1079,10 @@ Index: gdb-7.8.50.20141228/gdb/sparc64-tdep.c
        int regnum = -1;
        gdb_byte buf[16];
  
-Index: gdb-7.8.50.20141228/gdb/spu-tdep.c
+Index: gdb-7.9.50.20150520/gdb/spu-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/spu-tdep.c	2015-01-05 22:18:56.017023739 +0100
-+++ gdb-7.8.50.20141228/gdb/spu-tdep.c	2015-01-05 22:19:08.099078499 +0100
+--- gdb-7.9.50.20150520.orig/gdb/spu-tdep.c	2015-05-31 17:15:01.105868342 +0200
++++ gdb-7.9.50.20150520/gdb/spu-tdep.c	2015-05-31 17:15:03.442882990 +0200
 @@ -1430,7 +1430,7 @@ spu_push_dummy_call (struct gdbarch *gdb
        struct value *arg = args[i];
        struct type *type = check_typedef (value_type (arg));
@@ -1101,10 +1101,10 @@ Index: gdb-7.8.50.20141228/gdb/spu-tdep.c
  	  int preferred_slot;
  	  
  	  if (spu_scalar_value_p (type))
-Index: gdb-7.8.50.20141228/gdb/tic6x-tdep.c
+Index: gdb-7.9.50.20150520/gdb/tic6x-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/tic6x-tdep.c	2015-01-05 22:18:56.018023743 +0100
-+++ gdb-7.8.50.20141228/gdb/tic6x-tdep.c	2015-01-05 22:19:08.099078499 +0100
+--- gdb-7.9.50.20150520.orig/gdb/tic6x-tdep.c	2015-05-31 17:15:01.106868348 +0200
++++ gdb-7.9.50.20150520/gdb/tic6x-tdep.c	2015-05-31 17:15:03.442882990 +0200
 @@ -895,7 +895,7 @@ tic6x_push_dummy_call (struct gdbarch *g
    int argreg = 0;
    int argnum;
@@ -1142,10 +1142,10 @@ Index: gdb-7.8.50.20141228/gdb/tic6x-tdep.c
  
  	  addr = sp + stack_offset;
  	  write_memory (addr, val, len);
-Index: gdb-7.8.50.20141228/gdb/tilegx-tdep.c
+Index: gdb-7.9.50.20150520/gdb/tilegx-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/tilegx-tdep.c	2015-01-05 22:18:56.018023743 +0100
-+++ gdb-7.8.50.20141228/gdb/tilegx-tdep.c	2015-01-05 22:19:08.100078503 +0100
+--- gdb-7.9.50.20150520.orig/gdb/tilegx-tdep.c	2015-05-31 17:15:01.107868355 +0200
++++ gdb-7.9.50.20150520/gdb/tilegx-tdep.c	2015-05-31 17:15:03.442882990 +0200
 @@ -288,7 +288,7 @@ tilegx_push_dummy_call (struct gdbarch *
    CORE_ADDR stack_dest = sp;
    int argreg = TILEGX_R0_REGNUM;
@@ -1155,10 +1155,10 @@ Index: gdb-7.8.50.20141228/gdb/tilegx-tdep.c
    static const gdb_byte four_zero_words[16] = { 0 };
  
    /* If struct_return is 1, then the struct return address will
-Index: gdb-7.8.50.20141228/gdb/v850-tdep.c
+Index: gdb-7.9.50.20150520/gdb/v850-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/v850-tdep.c	2015-01-05 22:18:56.019023748 +0100
-+++ gdb-7.8.50.20141228/gdb/v850-tdep.c	2015-01-05 22:19:08.100078503 +0100
+--- gdb-7.9.50.20150520.orig/gdb/v850-tdep.c	2015-05-31 17:15:01.107868355 +0200
++++ gdb-7.9.50.20150520/gdb/v850-tdep.c	2015-05-31 17:15:03.443882997 +0200
 @@ -1019,7 +1019,7 @@ v850_push_dummy_call (struct gdbarch *gd
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
    int argreg;
@@ -1177,10 +1177,10 @@ Index: gdb-7.8.50.20141228/gdb/v850-tdep.c
        gdb_byte *val;
        gdb_byte valbuf[v850_reg_size];
  
-Index: gdb-7.8.50.20141228/gdb/vax-tdep.c
+Index: gdb-7.9.50.20150520/gdb/vax-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/vax-tdep.c	2015-01-05 22:18:56.019023748 +0100
-+++ gdb-7.8.50.20141228/gdb/vax-tdep.c	2015-01-05 22:19:08.100078503 +0100
+--- gdb-7.9.50.20150520.orig/gdb/vax-tdep.c	2015-05-31 17:15:01.108868361 +0200
++++ gdb-7.9.50.20150520/gdb/vax-tdep.c	2015-05-31 17:15:03.443882997 +0200
 @@ -111,7 +111,7 @@ vax_store_arguments (struct regcache *re
    struct gdbarch *gdbarch = get_regcache_arch (regcache);
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
@@ -1199,10 +1199,10 @@ Index: gdb-7.8.50.20141228/gdb/vax-tdep.c
  
        sp -= (len + 3) & ~3;
        count += (len + 3) / 4;
-Index: gdb-7.8.50.20141228/gdb/xstormy16-tdep.c
+Index: gdb-7.9.50.20150520/gdb/xstormy16-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/xstormy16-tdep.c	2015-01-05 22:18:56.020023752 +0100
-+++ gdb-7.8.50.20141228/gdb/xstormy16-tdep.c	2015-01-05 22:19:08.100078503 +0100
+--- gdb-7.9.50.20150520.orig/gdb/xstormy16-tdep.c	2015-05-31 17:15:01.108868361 +0200
++++ gdb-7.9.50.20150520/gdb/xstormy16-tdep.c	2015-05-31 17:15:03.443882997 +0200
 @@ -233,8 +233,9 @@ xstormy16_push_dummy_call (struct gdbarc
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
    CORE_ADDR stack_dest = sp;
@@ -1215,10 +1215,10 @@ Index: gdb-7.8.50.20141228/gdb/xstormy16-tdep.c
    const gdb_byte *val;
    gdb_byte buf[xstormy16_pc_size];
  
-Index: gdb-7.8.50.20141228/gdb/xtensa-tdep.c
+Index: gdb-7.9.50.20150520/gdb/xtensa-tdep.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/xtensa-tdep.c	2015-01-05 22:18:56.021023757 +0100
-+++ gdb-7.8.50.20141228/gdb/xtensa-tdep.c	2015-01-05 22:19:08.101078508 +0100
+--- gdb-7.9.50.20150520.orig/gdb/xtensa-tdep.c	2015-05-31 17:15:01.110868373 +0200
++++ gdb-7.9.50.20150520/gdb/xtensa-tdep.c	2015-05-31 17:15:03.444883003 +0200
 @@ -1646,8 +1646,7 @@ xtensa_store_return_value (struct type *
  
        if (len > (callsize > 8 ? 8 : 16))

diff --git a/gdb-upstream.patch b/gdb-upstream.patch
deleted file mode 100644
index 3116a53..0000000
--- a/gdb-upstream.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-commit 7a270e0c9ba0eb738a4c30258ab29c09963fcd4d
-Author: Alexander Klimov <alserkli@inbox.ru>
-Date:   Tue Jan 27 19:56:45 2015 +0200
-
-    Fix build failure in symfile.c::unmap_overlay_command (GCC5 bug)
-    
-    Compilation of (GDB) 7.9.50.20150127-cvs with (GCC) 5.0.0 20150127
-    fails with
-    
-    In file included from symfile.c:32:0:
-    symfile.c: In function 'unmap_overlay_command':
-    objfiles.h:628:3: error: 'sec' may be used uninitialized in this
-    function [-Werror=maybe-uninitialized]
-       for (osect = objfile->sections; osect < objfile->sections_end; osect++) \
-       ^
-    symfile.c:3442:23: note: 'sec' was declared here
-       struct obj_section *sec;
-                           ^
-    cc1: all warnings being treated as errors
-    make[2]: *** [symfile.o] Error 1
-    make[2]: Leaving directory `gdb/gdb'
-    
-    While the bug was reported to GCC as
-    <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64823>,
-    the attached patch simply initializes sec with NULL.
-    
-    gdb/ChangeLog:
-    
-            * symfile.c (unmap_overlay_command): Initialize sec to NULL.
-    
-    Tested on x86_64-linux.
-
-### a/gdb/ChangeLog
-### b/gdb/ChangeLog
-## -1,3 +1,7 @@
-+2015-01-29  Joel Brobecker  <brobecker@adacore.com>  (tiny patch)
-+
-+	* symfile.c (unmap_overlay_command): Initialize sec to NULL.
-+
- 2015-01-27  Doug Evans  <dje@google.com>
- 
- 	* NEWS: Mention gdb.Objfile.username.
---- a/gdb/symfile.c
-+++ b/gdb/symfile.c
-@@ -3439,7 +3439,7 @@ static void
- unmap_overlay_command (char *args, int from_tty)
- {
-   struct objfile *objfile;
--  struct obj_section *sec;
-+  struct obj_section *sec = NULL;
- 
-   if (!overlay_debugging)
-     error (_("Overlay debugging not enabled.  "

diff --git a/gdb-vla-intel-stringbt-fix.patch b/gdb-vla-intel-stringbt-fix.patch
index 67850f3..56ceff2 100644
--- a/gdb-vla-intel-stringbt-fix.patch
+++ b/gdb-vla-intel-stringbt-fix.patch
@@ -31,30 +31,30 @@ Jan
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: inline; filename="vlastringonly.patch"
 
-Index: gdb-7.8.50.20141228/gdb/gdbtypes.c
+Index: gdb-7.9.50.20150520/gdb/gdbtypes.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/gdbtypes.c	2015-01-08 18:15:18.475682523 +0100
-+++ gdb-7.8.50.20141228/gdb/gdbtypes.c	2015-01-08 18:39:01.423134700 +0100
-@@ -1684,6 +1684,7 @@ is_dynamic_type_internal (struct type *t
-       return !has_static_range (TYPE_RANGE_DATA (type));
+--- gdb-7.9.50.20150520.orig/gdb/gdbtypes.c	2015-05-31 16:14:04.164533833 +0200
++++ gdb-7.9.50.20150520/gdb/gdbtypes.c	2015-05-31 16:14:05.844545344 +0200
+@@ -1851,6 +1851,7 @@ is_dynamic_type_internal (struct type *t
+       }
  
      case TYPE_CODE_ARRAY:
 +    case TYPE_CODE_STRING:
        {
  	gdb_assert (TYPE_NFIELDS (type) == 1);
  
-@@ -1992,6 +1993,7 @@ resolve_dynamic_type_internal (struct ty
+@@ -2192,6 +2193,7 @@ resolve_dynamic_type_internal (struct ty
  	  }
  
  	case TYPE_CODE_ARRAY:
 +	case TYPE_CODE_STRING:
- 	  resolved_type = resolve_dynamic_array (type, addr);
+ 	  resolved_type = resolve_dynamic_array (type, addr_stack);
  	  break;
  
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/dynamic-other-frame-stub.f90
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/dynamic-other-frame-stub.f90
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/dynamic-other-frame-stub.f90	2015-01-08 18:15:18.897684435 +0100
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/dynamic-other-frame-stub.f90	2015-05-31 16:14:05.844545344 +0200
 @@ -0,0 +1,24 @@
 +! Copyright 2010 Free Software Foundation, Inc.
 +!
@@ -80,10 +80,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/dynamic-other-frame-stub.f9
 +  real :: dummy
 +  dummy = 1
 +end subroutine bar
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/dynamic-other-frame.exp
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/dynamic-other-frame.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/dynamic-other-frame.exp	2015-01-08 18:15:18.897684435 +0100
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/dynamic-other-frame.exp	2015-05-31 16:14:05.845545351 +0200
 @@ -0,0 +1,39 @@
 +# Copyright 2010 Free Software Foundation, Inc.
 +
@@ -124,10 +124,10 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/dynamic-other-frame.exp
 +}
 +
 +gdb_test "bt" {foo \(string='hello'.*}
-Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/dynamic-other-frame.f90
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/dynamic-other-frame.f90
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/dynamic-other-frame.f90	2015-01-08 18:15:18.897684435 +0100
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/dynamic-other-frame.f90	2015-05-31 16:14:05.845545351 +0200
 @@ -0,0 +1,36 @@
 +! Copyright 2010 Free Software Foundation, Inc.
 +!
@@ -165,3 +165,17 @@ Index: gdb-7.8.50.20141228/gdb/testsuite/gdb.fortran/dynamic-other-frame.f90
 +  end interface
 +  call foo ('hello')
 +end
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-strings.exp
+===================================================================
+--- gdb-7.9.50.20150520.orig/gdb/testsuite/gdb.fortran/vla-strings.exp	2015-05-31 16:14:04.167533854 +0200
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-strings.exp	2015-05-31 16:14:31.073718201 +0200
+@@ -33,9 +33,6 @@ gdb_continue_to_breakpoint "var_char-all
+ gdb_test "print var_char" \
+   " = \\(PTR TO -> \\( character\\*10 \\)\\) ${hex}" \
+   "print var_char after allocated first time"
+-gdb_test "print *var_char" \
+-  " = '\\\\000\\\\000\\\\000\\\\000\\\\000\\\\000\\\\000\\\\000\\\\000\\\\000'" \
+-  "print *var_char after allocated first time"
+ gdb_test "whatis var_char" "type = PTR TO -> \\( character\\*10 \\)" \
+   "whatis var_char first time"
+ gdb_test "ptype var_char" "type = PTR TO -> \\( character\\*10 \\)" \

diff --git a/gdb-vla-intel.patch b/gdb-vla-intel.patch
index 9b86bde..85c0364 100644
--- a/gdb-vla-intel.patch
+++ b/gdb-vla-intel.patch
@@ -6,10 +6,10 @@ GIT snapshot:
 commit 511bff520372ffc10fa2ff569c176bdf1e6e475d
 
 
-Index: gdb-7.8.90.20150126/gdb/c-valprint.c
+Index: gdb-7.9.50.20150520/gdb/c-valprint.c
 ===================================================================
---- 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
+--- gdb-7.9.50.20150520.orig/gdb/c-valprint.c	2015-05-29 08:27:02.657717326 +0200
++++ gdb-7.9.50.20150520/gdb/c-valprint.c	2015-05-29 08:27:06.253740209 +0200
 @@ -537,7 +537,16 @@ c_value_print (struct value *val, struct
  	{
  	  /* normal case */
@@ -28,12 +28,12 @@ Index: gdb-7.8.90.20150126/gdb/c-valprint.c
  	  fprintf_filtered (stream, ") ");
  	}
      }
-Index: gdb-7.8.90.20150126/gdb/dwarf2loc.h
+Index: gdb-7.9.50.20150520/gdb/dwarf2loc.h
 ===================================================================
---- 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,
+--- gdb-7.9.50.20150520.orig/gdb/dwarf2loc.h	2015-05-29 08:27:02.658717333 +0200
++++ gdb-7.9.50.20150520/gdb/dwarf2loc.h	2015-05-29 08:27:06.253740209 +0200
+@@ -131,6 +131,11 @@ int dwarf2_evaluate_property (const stru
+ 			      struct property_addr_info *addr_stack,
  			      CORE_ADDR *value);
  
 +/* Checks if a dwarf location definition is valid.
@@ -44,11 +44,11 @@ Index: gdb-7.8.90.20150126/gdb/dwarf2loc.h
  /* A helper for the compiler interface that compiles a single dynamic
     property to C code.
  
-Index: gdb-7.8.90.20150126/gdb/dwarf2read.c
+Index: gdb-7.9.50.20150520/gdb/dwarf2read.c
 ===================================================================
---- 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);
+--- gdb-7.9.50.20150520.orig/gdb/dwarf2read.c	2015-05-29 08:27:02.676717447 +0200
++++ gdb-7.9.50.20150520/gdb/dwarf2read.c	2015-05-29 10:04:52.272600212 +0200
+@@ -1868,6 +1868,12 @@ static void process_cu_includes (void);
  static void check_producer (struct dwarf2_cu *cu);
  
  static void free_line_header_voidp (void *arg);
@@ -61,7 +61,7 @@ Index: gdb-7.8.90.20150126/gdb/dwarf2read.c
  \f
  /* Various complaints about symbol reading that don't abort the process.  */
  
-@@ -14354,29 +14360,92 @@ read_tag_string_type (struct die_info *d
+@@ -14431,29 +14437,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.90.20150126/gdb/dwarf2read.c
    char_type = language_string_char_type (cu->language_defn, gdbarch);
    type = create_string_type (NULL, char_type, range_type);
  
-@@ -14693,13 +14762,15 @@ read_base_type (struct die_info *die, st
+@@ -14776,13 +14845,15 @@ read_base_type (struct die_info *die, st
    return set_die_type (die, type, cu);
  }
  
@@ -178,7 +178,7 @@ Index: gdb-7.8.90.20150126/gdb/dwarf2read.c
  {
    struct dwarf2_property_baton *baton;
    struct obstack *obstack = &cu->objfile->objfile_obstack;
-@@ -14712,8 +14783,25 @@ attr_to_dynamic_prop (const struct attri
+@@ -14795,8 +14866,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,38 +206,38 @@ Index: gdb-7.8.90.20150126/gdb/dwarf2read.c
        prop->data.baton = baton;
        prop->kind = PROP_LOCEXPR;
        gdb_assert (prop->data.baton != NULL);
-@@ -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;
--	  baton->locexpr.size = DW_BLOCK (target_attr)->size;
--	  baton->locexpr.data = DW_BLOCK (target_attr)->data;
-+
-+	  if (additional_data != NULL && additional_data_size > 0)
-+	    {
-+	      gdb_byte *data;
-+
-+	      data = obstack_alloc (&cu->objfile->objfile_obstack,
-+	              DW_BLOCK (target_attr)->size + additional_data_size);
-+	      memcpy (data, DW_BLOCK (target_attr)->data,
-+	              DW_BLOCK (target_attr)->size);
-+	      memcpy (data + DW_BLOCK (target_attr)->size,
-+	              additional_data, additional_data_size);
-+
-+	      baton->locexpr.data = data;
-+	      baton->locexpr.size = (DW_BLOCK (target_attr)->size
-+	                             + additional_data_size);
-+	    }
-+	  else
-+	    {
-+	      baton->locexpr.data = DW_BLOCK (target_attr)->data;
-+	      baton->locexpr.size = DW_BLOCK (target_attr)->size;
-+	    }
-+
- 	  prop->data.baton = baton;
- 	  prop->kind = PROP_LOCEXPR;
- 	  gdb_assert (prop->data.baton != NULL);
-@@ -14779,7 +14887,7 @@ read_subrange_type (struct die_info *die
+@@ -14832,8 +14920,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;
+-		baton->locexpr.size = DW_BLOCK (target_attr)->size;
+-		baton->locexpr.data = DW_BLOCK (target_attr)->data;
++
++		if (additional_data != NULL && additional_data_size > 0)
++		  {
++		    gdb_byte *data;
++
++		    data = obstack_alloc (&cu->objfile->objfile_obstack,
++			    DW_BLOCK (target_attr)->size + additional_data_size);
++		    memcpy (data, DW_BLOCK (target_attr)->data,
++			    DW_BLOCK (target_attr)->size);
++		    memcpy (data + DW_BLOCK (target_attr)->size,
++			    additional_data, additional_data_size);
++
++		    baton->locexpr.data = data;
++		    baton->locexpr.size = (DW_BLOCK (target_attr)->size
++					   + additional_data_size);
++		  }
++		else
++		  {
++		    baton->locexpr.data = DW_BLOCK (target_attr)->data;
++		    baton->locexpr.size = DW_BLOCK (target_attr)->size;
++		  }
++
+ 		prop->data.baton = baton;
+ 		prop->kind = PROP_LOCEXPR;
+ 		gdb_assert (prop->data.baton != NULL);
+@@ -14887,7 +14995,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.90.20150126/gdb/dwarf2read.c
    int low_default_is_valid;
    int high_bound_is_count = 0;
    const char *name;
-@@ -14799,7 +14907,9 @@ read_subrange_type (struct die_info *die
+@@ -14907,7 +15015,9 @@ read_subrange_type (struct die_info *die
  
    low.kind = PROP_CONST;
    high.kind = PROP_CONST;
@@ -256,7 +256,7 @@ Index: gdb-7.8.90.20150126/gdb/dwarf2read.c
  
    /* Set LOW_DEFAULT_IS_VALID if current language and DWARF version allow
       omitting DW_AT_lower_bound.  */
-@@ -14832,19 +14942,26 @@ read_subrange_type (struct die_info *die
+@@ -14940,19 +15050,26 @@ read_subrange_type (struct die_info *die
        break;
      }
  
@@ -286,7 +286,7 @@ Index: gdb-7.8.90.20150126/gdb/dwarf2read.c
  	{
  	  /* If bounds are constant do the final calculation here.  */
  	  if (low.kind == PROP_CONST && high.kind == PROP_CONST)
-@@ -14908,7 +15025,7 @@ read_subrange_type (struct die_info *die
+@@ -15016,7 +15133,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,18 +295,10 @@ Index: gdb-7.8.90.20150126/gdb/dwarf2read.c
  
    if (high_bound_is_count)
      TYPE_RANGE_DATA (range_type)->flag_upper_bound_is_count = 1;
-@@ -21994,7 +22111,44 @@ set_die_type (struct die_info *die, stru
+@@ -22128,9 +22245,37 @@ set_die_type (struct die_info *die, stru
+       && !HAVE_GNAT_AUX_INFO (type))
+     INIT_GNAT_SPECIFIC (type);
  
-   /* Read DW_AT_data_location and set in type.  */
-   attr = dwarf2_attr (die, DW_AT_data_location, cu);
--  if (attr_to_dynamic_prop (attr, die, cu, &prop))
-+  if (attr_to_dynamic_prop (attr, die, cu, &prop, NULL, 0))
-+    {
-+      TYPE_DATA_LOCATION (type)
-+        = obstack_alloc (&objfile->objfile_obstack, sizeof (prop));
-+      *TYPE_DATA_LOCATION (type) = prop;
-+    }
-+
 +  /* Read DW_AT_allocated and set in type.  */
 +  attr = dwarf2_attr (die, DW_AT_allocated, cu);
 +  if (attr_form_is_block (attr))
@@ -335,16 +327,17 @@ Index: gdb-7.8.90.20150126/gdb/dwarf2read.c
 +        }
 +    }
 +
-+  /* Read DW_AT_data_location and set in type.  */
-+  attr = dwarf2_attr (die, DW_AT_data_location, cu);
+   /* Read DW_AT_data_location and set in type.  */
+   attr = dwarf2_attr (die, DW_AT_data_location, cu);
+-  if (attr_to_dynamic_prop (attr, die, cu, &prop))
 +  if (attr_to_dynamic_prop (attr, die, cu, &prop, NULL, 0))
-     {
-       TYPE_DATA_LOCATION (type)
-         = obstack_alloc (&objfile->objfile_obstack, sizeof (prop));
-Index: gdb-7.8.90.20150126/gdb/f-typeprint.c
+     add_dyn_prop (DYN_PROP_DATA_LOCATION, prop, type, objfile);
+ 
+   if (dwarf2_per_objfile->die_type_hash == NULL)
+Index: gdb-7.9.50.20150520/gdb/f-typeprint.c
 ===================================================================
---- 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
+--- gdb-7.9.50.20150520.orig/gdb/f-typeprint.c	2015-05-29 08:27:02.678717460 +0200
++++ gdb-7.9.50.20150520/gdb/f-typeprint.c	2015-05-29 08:27:06.261740260 +0200
 @@ -30,6 +30,7 @@
  #include "gdbcore.h"
  #include "target.h"
@@ -429,10 +422,10 @@ Index: gdb-7.8.90.20150126/gdb/f-typeprint.c
        if (arrayprint_recurse_level == 1)
  	fprintf_filtered (stream, ")");
        else
-Index: gdb-7.8.90.20150126/gdb/f-valprint.c
+Index: gdb-7.9.50.20150520/gdb/f-valprint.c
 ===================================================================
---- 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
+--- gdb-7.9.50.20150520.orig/gdb/f-valprint.c	2015-05-29 08:26:49.567634019 +0200
++++ gdb-7.9.50.20150520/gdb/f-valprint.c	2015-05-29 08:27:06.262740266 +0200
 @@ -36,8 +36,6 @@
  
  extern void _initialize_f_valprint (void);
@@ -619,11 +612,11 @@ Index: gdb-7.8.90.20150126/gdb/f-valprint.c
            if (index != TYPE_NFIELDS (type) - 1)
              fputs_filtered (", ", stream);
          }
-Index: gdb-7.8.90.20150126/gdb/gdbtypes.c
+Index: gdb-7.9.50.20150520/gdb/gdbtypes.c
 ===================================================================
---- 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)
+--- gdb-7.9.50.20150520.orig/gdb/gdbtypes.c	2015-05-29 08:27:02.683717492 +0200
++++ gdb-7.9.50.20150520/gdb/gdbtypes.c	2015-05-29 10:54:36.236498749 +0200
+@@ -824,7 +824,8 @@ allocate_stub_method (struct type *type)
  struct type *
  create_range_type (struct type *result_type, struct type *index_type,
  		   const struct dynamic_prop *low_bound,
@@ -633,7 +626,7 @@ Index: gdb-7.8.90.20150126/gdb/gdbtypes.c
  {
    if (result_type == NULL)
      result_type = alloc_type_copy (index_type);
-@@ -830,6 +831,7 @@ create_range_type (struct type *result_t
+@@ -839,6 +840,7 @@ create_range_type (struct type *result_t
      TYPE_ZALLOC (result_type, sizeof (struct range_bounds));
    TYPE_RANGE_DATA (result_type)->low = *low_bound;
    TYPE_RANGE_DATA (result_type)->high = *high_bound;
@@ -641,7 +634,7 @@ Index: gdb-7.8.90.20150126/gdb/gdbtypes.c
  
    if (low_bound->kind == PROP_CONST && low_bound->data.const_val >= 0)
      TYPE_UNSIGNED (result_type) = 1;
-@@ -858,7 +860,7 @@ struct type *
+@@ -867,7 +869,7 @@ struct type *
  create_static_range_type (struct type *result_type, struct type *index_type,
  			  LONGEST low_bound, LONGEST high_bound)
  {
@@ -650,7 +643,7 @@ Index: gdb-7.8.90.20150126/gdb/gdbtypes.c
  
    low.kind = PROP_CONST;
    low.data.const_val = low_bound;
-@@ -866,7 +868,11 @@ create_static_range_type (struct type *r
+@@ -875,7 +877,11 @@ create_static_range_type (struct type *r
    high.kind = PROP_CONST;
    high.data.const_val = high_bound;
  
@@ -663,7 +656,7 @@ Index: gdb-7.8.90.20150126/gdb/gdbtypes.c
  
    return result_type;
  }
-@@ -1020,18 +1026,24 @@ create_array_type_with_stride (struct ty
+@@ -1068,18 +1074,24 @@ create_array_type_with_stride (struct ty
  
    TYPE_CODE (result_type) = TYPE_CODE_ARRAY;
    TYPE_TARGET_TYPE (result_type) = element_type;
@@ -690,7 +683,7 @@ Index: gdb-7.8.90.20150126/gdb/gdbtypes.c
        else if (bit_stride > 0)
  	TYPE_LENGTH (result_type) =
  	  (bit_stride * (high_bound - low_bound + 1) + 7) / 8;
-@@ -1630,12 +1642,31 @@ stub_noname_complaint (void)
+@@ -1789,12 +1801,31 @@ stub_noname_complaint (void)
  static int
  is_dynamic_type_internal (struct type *type, int top_level)
  {
@@ -722,7 +715,7 @@ Index: gdb-7.8.90.20150126/gdb/gdbtypes.c
    /* Types that have a dynamic TYPE_DATA_LOCATION are considered
       dynamic, even if the type itself is statically defined.
       From a user's point of view, this may appear counter-intuitive;
-@@ -1656,11 +1687,19 @@ is_dynamic_type_internal (struct type *t
+@@ -1823,11 +1854,19 @@ is_dynamic_type_internal (struct type *t
        {
  	gdb_assert (TYPE_NFIELDS (type) == 1);
  
@@ -745,14 +738,15 @@ Index: gdb-7.8.90.20150126/gdb/gdbtypes.c
        }
  
      case TYPE_CODE_STRUCT:
-@@ -1673,6 +1712,17 @@ is_dynamic_type_internal (struct type *t
+@@ -1840,6 +1879,18 @@ is_dynamic_type_internal (struct type *t
  	      && is_dynamic_type_internal (TYPE_FIELD_TYPE (type, i), 0))
  	    return 1;
        }
 +    case TYPE_CODE_PTR:
 +      {
 +        if (TYPE_TARGET_TYPE (type)
-+            && TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_STRING)
++            && (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_STRING
++                || TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_ARRAY))
 +          return is_dynamic_type (check_typedef (TYPE_TARGET_TYPE (type)));
 +
 +        return 0;
@@ -763,8 +757,8 @@ Index: gdb-7.8.90.20150126/gdb/gdbtypes.c
        break;
      }
  
-@@ -1701,7 +1751,8 @@ resolve_dynamic_range (struct type *dyn_
-   struct type *static_range_type;
+@@ -1869,7 +1920,8 @@ resolve_dynamic_range (struct type *dyn_
+   struct type *static_range_type, *static_target_type;
    const struct dynamic_prop *prop;
    const struct dwarf2_locexpr_baton *baton;
 -  struct dynamic_prop low_bound, high_bound;
@@ -773,28 +767,30 @@ Index: gdb-7.8.90.20150126/gdb/gdbtypes.c
  
    gdb_assert (TYPE_CODE (dyn_range_type) == TYPE_CODE_RANGE);
  
-@@ -1732,10 +1783,17 @@ resolve_dynamic_range (struct type *dyn_
-       high_bound.kind = PROP_UNDEFINED;
+@@ -1901,12 +1953,19 @@ resolve_dynamic_range (struct type *dyn_
        high_bound.data.const_val = 0;
      }
-+  
+ 
 +  prop = &TYPE_RANGE_DATA (dyn_range_type)->stride;
-+  if (dwarf2_evaluate_property (prop, addr, &value))
++  if (dwarf2_evaluate_property (prop, addr_stack, &value))
 +    {
 +      stride.kind = PROP_CONST;
 +      stride.data.const_val = value;
 +    }
- 
++
+   static_target_type
+-    = resolve_dynamic_type_internal (TYPE_TARGET_TYPE (dyn_range_type),
++    = resolve_dynamic_type_internal (TYPE_TARGET_TYPE (range_copy),
+ 				     addr_stack, 0);
 -  static_range_type = create_range_type (copy_type (dyn_range_type),
--					 TYPE_TARGET_TYPE (dyn_range_type),
--					 &low_bound, &high_bound);
 +  static_range_type = create_range_type (range_copy,
-+					 TYPE_TARGET_TYPE (range_copy),
+ 					 static_target_type,
+-					 &low_bound, &high_bound);
 +					 &low_bound, &high_bound, &stride);
    TYPE_RANGE_DATA (static_range_type)->flag_bound_evaluated = 1;
    return static_range_type;
  }
-@@ -1751,23 +1809,46 @@ resolve_dynamic_array (struct type *type
+@@ -1923,23 +1982,47 @@ resolve_dynamic_array (struct type *type
    struct type *elt_type;
    struct type *range_type;
    struct type *ary_dim;
@@ -807,17 +803,17 @@ Index: gdb-7.8.90.20150126/gdb/gdbtypes.c
  
    elt_type = type;
    range_type = check_typedef (TYPE_INDEX_TYPE (elt_type));
-   range_type = resolve_dynamic_range (range_type, addr);
+   range_type = resolve_dynamic_range (range_type, addr_stack);
  
 +  prop = TYPE_ALLOCATED_PROP (type);
-+  if (dwarf2_evaluate_property (prop, addr, &value))
++  if (dwarf2_evaluate_property (prop, addr_stack, &value))
 +    {
 +      TYPE_ALLOCATED_PROP (copy)->kind = PROP_CONST;
 +      TYPE_ALLOCATED_PROP (copy)->data.const_val = value;
 +    }
 +
 +  prop = TYPE_ASSOCIATED_PROP (type);
-+  if (dwarf2_evaluate_property (prop, addr, &value))
++  if (dwarf2_evaluate_property (prop, addr_stack, &value))
 +    {
 +      TYPE_ASSOCIATED_PROP (copy)->kind = PROP_CONST;
 +      TYPE_ASSOCIATED_PROP (copy)->data.const_val = value;
@@ -826,64 +822,32 @@ Index: gdb-7.8.90.20150126/gdb/gdbtypes.c
    ary_dim = check_typedef (TYPE_TARGET_TYPE (elt_type));
  
 -  if (ary_dim != NULL && TYPE_CODE (ary_dim) == TYPE_CODE_ARRAY)
--    elt_type = resolve_dynamic_array (TYPE_TARGET_TYPE (type), addr);
+-    elt_type = resolve_dynamic_array (TYPE_TARGET_TYPE (type), addr_stack);
 +  if (ary_dim != NULL && (TYPE_CODE (ary_dim) == TYPE_CODE_ARRAY
 +          || TYPE_CODE (ary_dim) == TYPE_CODE_STRING))
-+    elt_type = resolve_dynamic_array (TYPE_TARGET_TYPE (copy), addr);
++    elt_type = resolve_dynamic_array (TYPE_TARGET_TYPE (copy), addr_stack);
    else
      elt_type = TYPE_TARGET_TYPE (type);
  
--  return create_array_type (copy_type (type),
--			    elt_type,
--			    range_type);
-+  if (TYPE_CODE (type) == TYPE_CODE_STRING)
+-  return create_array_type_with_stride (copy_type (type),
+-					elt_type, range_type,
+-					TYPE_FIELD_BITSIZE (type, 0));
++  if (TYPE_CODE (type) == TYPE_CODE_STRING
++      && TYPE_FIELD_BITSIZE (type, 0) == 0)
 +    return create_string_type (copy,
 +	    elt_type,
 +	    range_type);
 +  else
-+    return create_array_type (copy,
++    return create_array_type_with_stride (copy,
 +	    elt_type,
-+	    range_type);
++	    range_type, TYPE_FIELD_BITSIZE (type, 0));
  }
  
  /* Resolve dynamic bounds of members of the union TYPE to static
-@@ -1938,6 +2019,25 @@ resolve_dynamic_type_internal (struct ty
-   else
-     TYPE_DATA_LOCATION (resolved_type) = NULL;
+@@ -4453,6 +4536,20 @@ copy_type_recursive (struct objfile *obj
+ 				TYPE_DYN_PROP_LIST (type));
  
-+  /* Resolve data_location attribute.  */
-+  prop = TYPE_DATA_LOCATION (resolved_type);
-+  if (dwarf2_evaluate_property (prop, addr, &value))
-+    {
-+      struct type *range_type = TYPE_INDEX_TYPE (resolved_type);
-+
-+      /* Adjust the data location with the value of byte stride if set, which
-+         can describe the separation between successive elements along the
-+         dimension.  */
-+      if (TYPE_BYTE_STRIDE (range_type) < 0)
-+        value += (TYPE_HIGH_BOUND (range_type) - TYPE_LOW_BOUND (range_type))
-+                  * TYPE_BYTE_STRIDE (range_type);
-+
-+      TYPE_DATA_LOCATION_ADDR (resolved_type) = value;
-+      TYPE_DATA_LOCATION_KIND (resolved_type) = PROP_CONST;
-+    }
-+  else
-+    TYPE_DATA_LOCATION (resolved_type) = NULL;
-+
-   return resolved_type;
- }
  
-@@ -4174,6 +4274,27 @@ copy_type_recursive (struct objfile *obj
- 	      sizeof (struct dynamic_prop));
-     }
- 
-+  /* Copy the data location information.  */
-+  if (TYPE_DATA_LOCATION (type) != NULL)
-+    {
-+      TYPE_DATA_LOCATION (new_type) = xmalloc (sizeof (struct dynamic_prop));
-+      *TYPE_DATA_LOCATION (new_type) = *TYPE_DATA_LOCATION (type);
-+    }
-+
 +  /* Copy allocated information.  */
 +  if (TYPE_ALLOCATED_PROP (type) != NULL)
 +    {
@@ -901,8 +865,8 @@ Index: gdb-7.8.90.20150126/gdb/gdbtypes.c
    /* Copy pointers to other types.  */
    if (TYPE_TARGET_TYPE (type))
      TYPE_TARGET_TYPE (new_type) = 
-@@ -4227,6 +4348,44 @@ copy_type (const struct type *type)
- 	      sizeof (struct dynamic_prop));
+@@ -4494,6 +4591,35 @@ copy_type_recursive (struct objfile *obj
+       gdb_assert_not_reached ("bad type_specific_kind");
      }
  
 +  if (TYPE_ALLOCATED_PROP (type))
@@ -923,15 +887,6 @@ Index: gdb-7.8.90.20150126/gdb/gdbtypes.c
 +        sizeof (struct dynamic_prop));
 +    }
 +
-+  if (TYPE_DATA_LOCATION (type))
-+    {
-+      TYPE_DATA_LOCATION (new_type)
-+              = OBSTACK_ZALLOC (&TYPE_OWNER (type).objfile->objfile_obstack,
-+                                struct dynamic_prop);
-+      memcpy (TYPE_DATA_LOCATION (new_type), TYPE_DATA_LOCATION (type),
-+        sizeof (struct dynamic_prop));
-+    }
-+
 +  if (TYPE_NFIELDS (type))
 +    {
 +      int nfields = TYPE_NFIELDS (type);
@@ -945,26 +900,41 @@ Index: gdb-7.8.90.20150126/gdb/gdbtypes.c
 +
    return new_type;
  }
- \f
-Index: gdb-7.8.90.20150126/gdb/gdbtypes.h
+ 
+@@ -4519,6 +4645,14 @@ copy_type (const struct type *type)
+     TYPE_DYN_PROP_LIST (new_type)
+       = copy_dynamic_prop_list (&TYPE_OBJFILE (type) -> objfile_obstack,
+ 				TYPE_DYN_PROP_LIST (type));
++  if (TYPE_ALLOCATED_PROP (type) != NULL)
++    TYPE_ALLOCATED_PROP (new_type) = obstack_copy
++      (&TYPE_OBJFILE (type)->objfile_obstack, TYPE_ALLOCATED_PROP (type),
++       sizeof (*TYPE_ALLOCATED_PROP (type)));
++  if (TYPE_ASSOCIATED_PROP (type) != NULL)
++    TYPE_ASSOCIATED_PROP (new_type) = obstack_copy
++      (&TYPE_OBJFILE (type)->objfile_obstack, TYPE_ASSOCIATED_PROP (type),
++       sizeof (*TYPE_ASSOCIATED_PROP (type)));
+ 
+   return new_type;
+ }
+Index: gdb-7.9.50.20150520/gdb/gdbtypes.h
 ===================================================================
---- 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
+--- gdb-7.9.50.20150520.orig/gdb/gdbtypes.h	2015-05-29 08:27:02.685717504 +0200
++++ gdb-7.9.50.20150520/gdb/gdbtypes.h	2015-05-29 08:46:08.862924052 +0200
+@@ -569,6 +569,10 @@ struct range_bounds
  
-       struct dynamic_prop high;
+   struct dynamic_prop high;
  
-+      /* * Stride of range.  */
++  /* * Stride of range.  */
 +
-+      struct dynamic_prop stride;
++  struct dynamic_prop stride;
 +
-       /* True if HIGH range bound contains the number of elements in the
- 	 subrange. This affects how the final hight bound is computed.  */
+   /* True if HIGH range bound contains the number of elements in the
+      subrange. This affects how the final hight bound is computed.  */
  
-@@ -720,6 +724,18 @@ struct main_type
-      this field yields to the location of the data for an object.  */
+@@ -741,6 +745,18 @@ struct main_type
  
-   struct dynamic_prop *data_location;
+   /* * Contains all dynamic type properties.  */
+   struct dynamic_prop_list *dyn_prop_list;
 +
 +  /* Structure for DW_AT_allocated.
 +     The presence of this attribute indicates that the object of the type
@@ -980,7 +950,7 @@ Index: gdb-7.8.90.20150126/gdb/gdbtypes.h
  };
  
  /* * A ``struct type'' describes a particular instance of a type, with
-@@ -1198,6 +1214,39 @@ extern void allocate_gnat_aux_type (stru
+@@ -1255,6 +1271,15 @@ extern void allocate_gnat_aux_type (stru
    TYPE_RANGE_DATA(range_type)->high.kind
  #define TYPE_LOW_BOUND_KIND(range_type) \
    TYPE_RANGE_DATA(range_type)->low.kind
@@ -993,16 +963,13 @@ Index: gdb-7.8.90.20150126/gdb/gdbtypes.h
 +#define TYPE_BYTE_STRIDE_KIND(range_type) \
 +  TYPE_RANGE_DATA(range_type)->stride.kind
 +
-+
-+/* Attribute accessors for the type data location.  */
-+#define TYPE_DATA_LOCATION(thistype) \
-+  TYPE_MAIN_TYPE(thistype)->data_location
-+#define TYPE_DATA_LOCATION_BATON(thistype) \
-+  TYPE_DATA_LOCATION (thistype)->data.baton
-+#define TYPE_DATA_LOCATION_ADDR(thistype) \
-+  TYPE_DATA_LOCATION (thistype)->data.const_val
-+#define TYPE_DATA_LOCATION_KIND(thistype) \
-+  TYPE_DATA_LOCATION (thistype)->kind
+ 
+ /* Property accessors for the type data location.  */
+ #define TYPE_DATA_LOCATION(thistype) \
+@@ -1265,6 +1290,20 @@ extern void allocate_gnat_aux_type (stru
+   TYPE_DATA_LOCATION (thistype)->data.const_val
+ #define TYPE_DATA_LOCATION_KIND(thistype) \
+   TYPE_DATA_LOCATION (thistype)->kind
 +#define TYPE_ALLOCATED_PROP(thistype) TYPE_MAIN_TYPE(thistype)->allocated
 +#define TYPE_ASSOCIATED_PROP(thistype) TYPE_MAIN_TYPE(thistype)->associated
 +
@@ -1018,9 +985,9 @@ Index: gdb-7.8.90.20150126/gdb/gdbtypes.h
 +  && TYPE_ASSOCIATED_PROP (t)->kind == PROP_CONST \
 +  && !TYPE_ASSOCIATED_PROP (t)->data.const_val)
  
- /* Attribute accessors for the type data location.  */
- #define TYPE_DATA_LOCATION(thistype) \
-@@ -1215,6 +1264,9 @@ extern void allocate_gnat_aux_type (stru
+ /* Attribute accessors for dynamic properties.  */
+ #define TYPE_DYN_PROP_LIST(thistype) \
+@@ -1283,6 +1322,9 @@ extern void allocate_gnat_aux_type (stru
     TYPE_HIGH_BOUND_UNDEFINED(TYPE_INDEX_TYPE(arraytype))
  #define TYPE_ARRAY_LOWER_BOUND_IS_UNDEFINED(arraytype) \
     TYPE_LOW_BOUND_UNDEFINED(TYPE_INDEX_TYPE(arraytype))
@@ -1030,7 +997,7 @@ Index: gdb-7.8.90.20150126/gdb/gdbtypes.h
  
  #define TYPE_ARRAY_UPPER_BOUND_VALUE(arraytype) \
     (TYPE_HIGH_BOUND(TYPE_INDEX_TYPE((arraytype))))
-@@ -1685,6 +1737,7 @@ extern struct type *create_array_type_wi
+@@ -1764,6 +1806,7 @@ extern struct type *create_array_type_wi
  
  extern struct type *create_range_type (struct type *, struct type *,
  				       const struct dynamic_prop *,
@@ -1038,10 +1005,10 @@ Index: gdb-7.8.90.20150126/gdb/gdbtypes.h
  				       const struct dynamic_prop *);
  
  extern struct type *create_array_type (struct type *, struct type *,
-Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-alloc-assoc.exp
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-alloc-assoc.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-alloc-assoc.exp	2015-01-26 07:47:42.405829908 +0100
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-alloc-assoc.exp	2015-05-29 08:27:06.266740292 +0200
 @@ -0,0 +1,65 @@
 +# Copyright 2014 Free Software Foundation, Inc.
 +
@@ -1108,10 +1075,10 @@ Index: gdb-7.8.90.20150126/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" " = <not allocated>" "print deallocated vla2"
-Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-datatypes.exp
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-datatypes.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-datatypes.exp	2015-01-26 07:47:42.405829908 +0100
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-datatypes.exp	2015-05-29 08:27:06.266740292 +0200
 @@ -0,0 +1,82 @@
 +# Copyright 2014 Free Software Foundation, Inc.
 +
@@ -1195,10 +1162,10 @@ Index: gdb-7.8.90.20150126/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.90.20150126/gdb/testsuite/gdb.fortran/vla-datatypes.f90
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-datatypes.f90
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-datatypes.f90	2015-01-26 07:47:42.405829908 +0100
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-datatypes.f90	2015-05-29 08:27:06.266740292 +0200
 @@ -0,0 +1,51 @@
 +! Copyright 2014 Free Software Foundation, Inc.
 +!
@@ -1251,10 +1218,10 @@ Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-datatypes.f90
 +  ! dummy statement for bp
 +  l = .FALSE.                             ! vlas-modified
 +end program vla_primitives
-Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-func.exp
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-func.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-func.exp	2015-01-26 07:47:42.406829913 +0100
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-func.exp	2015-05-29 08:27:06.266740292 +0200
 @@ -0,0 +1,61 @@
 +# Copyright 2014 Free Software Foundation, Inc.
 +
@@ -1317,10 +1284,10 @@ Index: gdb-7.8.90.20150126/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.90.20150126/gdb/testsuite/gdb.fortran/vla-func.f90
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-func.f90
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-func.f90	2015-01-26 07:47:42.406829913 +0100
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-func.f90	2015-05-29 08:27:06.267740298 +0200
 @@ -0,0 +1,71 @@
 +! Copyright 2014 Free Software Foundation, Inc.
 +!
@@ -1393,10 +1360,10 @@ Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-func.f90
 +
 +  ret = .TRUE.                ! func2-returned
 +end program vla_func
-Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-history.exp
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-history.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-history.exp	2015-01-26 07:47:42.406829913 +0100
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-history.exp	2015-05-29 08:27:06.267740298 +0200
 @@ -0,0 +1,62 @@
 +# Copyright 2014 Free Software Foundation, Inc.
 +
@@ -1460,10 +1427,10 @@ Index: gdb-7.8.90.20150126/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.90.20150126/gdb/testsuite/gdb.fortran/vla-ptype-sub.exp
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-ptype-sub.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-ptype-sub.exp	2015-01-26 07:47:42.406829913 +0100
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-ptype-sub.exp	2015-05-29 08:27:06.267740298 +0200
 @@ -0,0 +1,87 @@
 +# Copyright 2014 Free Software Foundation, Inc.
 +
@@ -1552,10 +1519,10 @@ Index: gdb-7.8.90.20150126/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.90.20150126/gdb/testsuite/gdb.fortran/vla-ptype.exp
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-ptype.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-ptype.exp	2015-01-26 07:47:42.406829913 +0100
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-ptype.exp	2015-05-29 08:27:06.267740298 +0200
 @@ -0,0 +1,96 @@
 +# Copyright 2014 Free Software Foundation, Inc.
 +
@@ -1653,10 +1620,10 @@ Index: gdb-7.8.90.20150126/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.90.20150126/gdb/testsuite/gdb.fortran/vla-sizeof.exp
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-sizeof.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-sizeof.exp	2015-01-26 07:47:42.406829913 +0100
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-sizeof.exp	2015-05-29 08:27:06.267740298 +0200
 @@ -0,0 +1,46 @@
 +# Copyright 2014 Free Software Foundation, Inc.
 +
@@ -1704,10 +1671,10 @@ Index: gdb-7.8.90.20150126/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.90.20150126/gdb/testsuite/gdb.fortran/vla-stride.exp
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-stride.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-stride.exp	2015-01-26 07:47:42.407829917 +0100
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-stride.exp	2015-05-29 08:27:06.267740298 +0200
 @@ -0,0 +1,44 @@
 +# Copyright 2014 Free Software Foundation, Inc.
 +
@@ -1753,10 +1720,10 @@ Index: gdb-7.8.90.20150126/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.90.20150126/gdb/testsuite/gdb.fortran/vla-stride.f90
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-stride.f90
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-stride.f90	2015-01-26 07:47:42.407829917 +0100
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-stride.f90	2015-05-29 08:27:06.268740305 +0200
 @@ -0,0 +1,30 @@
 +! Copyright 2014 Free Software Foundation, Inc.
 +!
@@ -1788,10 +1755,10 @@ Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-stride.f90
 +
 +  pvla => null()        ! single-element
 +end program vla_stride
-Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-strings.exp
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-strings.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-strings.exp	2015-01-26 07:47:42.407829917 +0100
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-strings.exp	2015-05-29 08:27:06.268740305 +0200
 @@ -0,0 +1,104 @@
 +# Copyright 2014 Free Software Foundation, Inc.
 +
@@ -1897,10 +1864,10 @@ Index: gdb-7.8.90.20150126/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.90.20150126/gdb/testsuite/gdb.fortran/vla-strings.f90
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-strings.f90
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-strings.f90	2015-01-26 07:47:42.407829917 +0100
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-strings.f90	2015-05-31 15:25:01.305615755 +0200
 @@ -0,0 +1,40 @@
 +! Copyright 2014 Free Software Foundation, Inc.
 +!
@@ -1942,10 +1909,10 @@ Index: gdb-7.8.90.20150126/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.90.20150126/gdb/testsuite/gdb.fortran/vla-sub.f90
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-sub.f90
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-sub.f90	2015-01-26 07:47:42.407829917 +0100
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-sub.f90	2015-05-29 08:27:06.268740305 +0200
 @@ -0,0 +1,82 @@
 +! Copyright 2014 Free Software Foundation, Inc.
 +!
@@ -2029,10 +1996,10 @@ Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-sub.f90
 +
 +  call bar(sub_arr3, sub_arr1)
 +end program vla_sub
-Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-value-sub-arbitrary.exp
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-value-sub-arbitrary.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-value-sub-arbitrary.exp	2015-01-26 07:47:42.407829917 +0100
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-value-sub-arbitrary.exp	2015-05-29 08:27:06.268740305 +0200
 @@ -0,0 +1,35 @@
 +# Copyright 2014 Free Software Foundation, Inc.
 +
@@ -2069,10 +2036,10 @@ Index: gdb-7.8.90.20150126/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.90.20150126/gdb/testsuite/gdb.fortran/vla-value-sub-finish.exp
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-value-sub-finish.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-value-sub-finish.exp	2015-01-26 07:47:42.407829917 +0100
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-value-sub-finish.exp	2015-05-29 08:27:06.268740305 +0200
 @@ -0,0 +1,49 @@
 +# Copyright 2014 Free Software Foundation, Inc.
 +
@@ -2123,10 +2090,10 @@ Index: gdb-7.8.90.20150126/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.90.20150126/gdb/testsuite/gdb.fortran/vla-value-sub.exp
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-value-sub.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-value-sub.exp	2015-01-26 07:47:42.408829922 +0100
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-value-sub.exp	2015-05-29 08:27:06.269740311 +0200
 @@ -0,0 +1,90 @@
 +# Copyright 2014 Free Software Foundation, Inc.
 +
@@ -2218,10 +2185,10 @@ Index: gdb-7.8.90.20150126/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.90.20150126/gdb/testsuite/gdb.fortran/vla-value.exp
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-value.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla-value.exp	2015-01-26 07:47:42.408829922 +0100
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-value.exp	2015-05-29 08:27:06.269740311 +0200
 @@ -0,0 +1,148 @@
 +# Copyright 2014 Free Software Foundation, Inc.
 +
@@ -2371,10 +2338,10 @@ Index: gdb-7.8.90.20150126/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.90.20150126/gdb/testsuite/gdb.fortran/vla.f90
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla.f90
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla.f90	2015-01-26 07:47:42.408829922 +0100
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla.f90	2015-05-29 08:27:06.269740311 +0200
 @@ -0,0 +1,56 @@
 +! Copyright 2014 Free Software Foundation, Inc.
 +!
@@ -2432,11 +2399,11 @@ Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.fortran/vla.f90
 +  allocate (vla3 (2,2))               ! vla2-deallocated
 +  vla3(:,:) = 13
 +end program vla
-Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.mi/mi-vla-fortran.exp
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.mi/mi-vla-fortran.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ 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 @@
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.mi/mi-vla-fortran.exp	2015-05-29 11:13:53.951656591 +0200
+@@ -0,0 +1,181 @@
 +# Copyright 2014 Free Software Foundation, Inc.
 +
 +# This program is free software; you can redistribute it and/or modify
@@ -2507,8 +2474,7 @@ Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.mi/mi-vla-fortran.exp
 +mi_run_cmd
 +mi_expect_stop "breakpoint-hit" "vla" "" ".*vla.f90" "$bp_lineno" \
 +  { "" "disp=\"del\"" } "run to breakpoint at line $bp_lineno"
-+mi_gdb_test "510-data-evaluate-expression vla1" \
-+  "510\\^done,value=\"\\(0, 0, 0, 0, 0\\)\"" "evaluate allocated vla"
++# Content of 'vla1' is uninitialized here.
 +
 +mi_create_varobj_checked vla1_allocated vla1 "real\\\(kind=4\\\) \\\(5\\\)" \
 +  "create local variable vla1_allocated"
@@ -2619,10 +2585,10 @@ Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.mi/mi-vla-fortran.exp
 +
 +mi_gdb_exit
 +return 0
-Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.mi/vla.f90
+Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.mi/vla.f90
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.8.90.20150126/gdb/testsuite/gdb.mi/vla.f90	2015-01-26 07:47:42.409829926 +0100
++++ gdb-7.9.50.20150520/gdb/testsuite/gdb.mi/vla.f90	2015-05-29 08:27:06.270740317 +0200
 @@ -0,0 +1,42 @@
 +! Copyright 2014 Free Software Foundation, Inc.
 +!
@@ -2666,11 +2632,11 @@ Index: gdb-7.8.90.20150126/gdb/testsuite/gdb.mi/vla.f90
 +  pvla2 => null()
 +  l = associated(pvla2)       ! pvla2-set-to-null
 +end program vla
-Index: gdb-7.8.90.20150126/gdb/typeprint.c
+Index: gdb-7.9.50.20150520/gdb/typeprint.c
 ===================================================================
---- 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)
+--- gdb-7.9.50.20150520.orig/gdb/typeprint.c	2015-05-29 08:27:02.688717523 +0200
++++ gdb-7.9.50.20150520/gdb/typeprint.c	2015-05-29 08:27:06.270740317 +0200
+@@ -458,6 +458,13 @@ whatis_exp (char *exp, int show)
  
    type = value_type (val);
  
@@ -2684,10 +2650,10 @@ Index: gdb-7.8.90.20150126/gdb/typeprint.c
    get_user_print_options (&opts);
    if (opts.objectprint)
      {
-Index: gdb-7.8.90.20150126/gdb/valarith.c
+Index: gdb-7.9.50.20150520/gdb/valarith.c
 ===================================================================
---- 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
+--- gdb-7.9.50.20150520.orig/gdb/valarith.c	2015-05-29 08:27:02.689717530 +0200
++++ gdb-7.9.50.20150520/gdb/valarith.c	2015-05-29 08:27:06.271740324 +0200
 @@ -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 +2688,10 @@ Index: gdb-7.8.90.20150126/gdb/valarith.c
  
    if (VALUE_LVAL (array) == lval_memory && value_lazy (array))
      v = allocate_value_lazy (elt_type);
-Index: gdb-7.8.90.20150126/gdb/valprint.c
+Index: gdb-7.9.50.20150520/gdb/valprint.c
 ===================================================================
---- 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
+--- gdb-7.9.50.20150520.orig/gdb/valprint.c	2015-05-29 08:27:02.690717536 +0200
++++ gdb-7.9.50.20150520/gdb/valprint.c	2015-05-29 08:27:06.271740324 +0200
 @@ -303,6 +303,18 @@ valprint_check_validity (struct ui_file
  {
    CHECK_TYPEDEF (type);
@@ -2764,7 +2730,7 @@ Index: gdb-7.8.90.20150126/gdb/valprint.c
  /* A generic val_print that is suitable for use by language
     implementations of the la_val_print method.  This function can
     handle most type codes, though not all, notably exception
-@@ -800,12 +824,16 @@ static int
+@@ -802,12 +826,16 @@ static int
  value_check_printable (struct value *val, struct ui_file *stream,
  		       const struct value_print_options *options)
  {
@@ -2781,7 +2747,7 @@ Index: gdb-7.8.90.20150126/gdb/valprint.c
    if (value_entirely_optimized_out (val))
      {
        if (options->summary && !val_print_scalar_type_p (value_type (val)))
-@@ -831,6 +859,18 @@ value_check_printable (struct value *val
+@@ -833,6 +861,18 @@ value_check_printable (struct value *val
        return 0;
      }
  
@@ -2800,23 +2766,23 @@ Index: gdb-7.8.90.20150126/gdb/valprint.c
    return 1;
  }
  
-Index: gdb-7.8.90.20150126/gdb/valprint.h
+Index: gdb-7.9.50.20150520/gdb/valprint.h
 ===================================================================
---- 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);
+--- gdb-7.9.50.20150520.orig/gdb/valprint.h	2015-05-29 08:27:02.691717543 +0200
++++ gdb-7.9.50.20150520/gdb/valprint.h	2015-05-29 08:27:06.272740330 +0200
+@@ -232,4 +232,8 @@ extern void print_command_parse_format (
+ 					struct format_data *fmtp);
+ extern void print_value (struct value *val, const struct format_data *fmtp);
  
 +extern void val_print_not_allocated (struct ui_file *stream);
 +
 +extern void val_print_not_associated (struct ui_file *stream);
 +
  #endif
-Index: gdb-7.8.90.20150126/gdb/value.c
+Index: gdb-7.9.50.20150520/gdb/value.c
 ===================================================================
---- 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
+--- gdb-7.9.50.20150520.orig/gdb/value.c	2015-05-29 08:27:02.693717555 +0200
++++ gdb-7.9.50.20150520/gdb/value.c	2015-05-29 08:27:06.273740337 +0200
 @@ -40,6 +40,7 @@
  #include "tracepoint.h"
  #include "cp-abi.h"
@@ -2825,7 +2791,7 @@ Index: gdb-7.8.90.20150126/gdb/value.c
  
  /* Prototypes for exported functions.  */
  
-@@ -1755,6 +1756,25 @@ set_value_component_location (struct val
+@@ -1776,6 +1777,25 @@ set_value_component_location (struct val
        if (funcs->copy_closure)
          component->location.computed.closure = funcs->copy_closure (whole);
      }
@@ -2851,7 +2817,7 @@ Index: gdb-7.8.90.20150126/gdb/value.c
  }
  
  \f
-@@ -3041,13 +3061,22 @@ value_primitive_field (struct value *arg
+@@ -3080,13 +3100,22 @@ value_primitive_field (struct value *arg
  	v = allocate_value_lazy (type);
        else
  	{
@@ -2880,7 +2846,7 @@ Index: gdb-7.8.90.20150126/gdb/value.c
      }
    set_value_component_location (v, arg1);
    VALUE_REGNUM (v) = VALUE_REGNUM (arg1);
-@@ -3635,7 +3664,8 @@ readjust_indirect_value_type (struct val
+@@ -3674,7 +3703,8 @@ readjust_indirect_value_type (struct val
  			      struct value *original_value)
  {
    /* Re-adjust type.  */
@@ -2890,7 +2856,7 @@ Index: gdb-7.8.90.20150126/gdb/value.c
  
    /* Add embedding info.  */
    set_value_enclosing_type (value, enc_type);
-@@ -3652,6 +3682,12 @@ coerce_ref (struct value *arg)
+@@ -3691,6 +3721,12 @@ coerce_ref (struct value *arg)
    struct value *retval;
    struct type *enc_type;
  
@@ -2903,7 +2869,7 @@ Index: gdb-7.8.90.20150126/gdb/value.c
    retval = coerce_ref_if_computed (arg);
    if (retval)
      return retval;
-@@ -3786,8 +3822,14 @@ value_fetch_lazy (struct value *val)
+@@ -3825,8 +3861,14 @@ value_fetch_lazy (struct value *val)
      }
    else if (VALUE_LVAL (val) == lval_memory)
      {
@@ -2919,11 +2885,11 @@ Index: gdb-7.8.90.20150126/gdb/value.c
  
        if (TYPE_LENGTH (type))
  	read_value_memory (val, 0, value_stack (val),
-Index: gdb-7.8.90.20150126/gdb/dwarf2loc.c
+Index: gdb-7.9.50.20150520/gdb/dwarf2loc.c
 ===================================================================
---- 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
+--- gdb-7.9.50.20150520.orig/gdb/dwarf2loc.c	2015-05-29 08:27:02.694717562 +0200
++++ gdb-7.9.50.20150520/gdb/dwarf2loc.c	2015-05-29 08:27:06.274740343 +0200
+@@ -2294,6 +2294,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 +2901,7 @@ Index: gdb-7.8.90.20150126/gdb/dwarf2loc.c
  	    retval = value_at_lazy (type, address + byte_offset);
  	    if (in_stack_memory)
  	      set_value_stack (retval, 1);
-@@ -2552,6 +2557,19 @@ dwarf2_compile_property_to_c (struct ui_
+@@ -2577,6 +2582,19 @@ dwarf2_compile_property_to_c (struct ui_
  			     data, data + size, per_cu);
  }
  

diff --git a/gdb.spec b/gdb.spec
index 0513241..b52efa1 100644
--- a/gdb.spec
+++ b/gdb.spec
@@ -18,15 +18,15 @@ Summary: A GNU source-level debugger for C, C++, Fortran, Go and other languages
 Name: %{?scl_prefix}gdb
 
 # Freeze it when GDB gets branched
-%global snapsrc    20140611
+%global snapsrc    20150531
 # See timestamp of source gnulib installed into gdb/gnulib/ .
 %global snapgnulib 20121213
 %global tarname gdb-%{version}
-Version: 7.9.1
+Version: 7.9.50.%{snapsrc}
 
 # 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: 14%{?dist}
+Release: 1%{?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
@@ -120,9 +120,6 @@ Patch105: gdb-6.3-ppc64syscall-20040622.patch
 #=maybepush: Write new testcase.
 Patch111: gdb-6.3-ppc64displaysymbol-20041124.patch
 
-# Fix upstream `set scheduler-locking step' vs. upstream PPC atomic seqs.
-#=push+work: It is a bit difficult patch, a part is ppc specific.
-Patch112: gdb-6.6-scheduler_locking-step-sw-watchpoints2.patch
 # Make upstream `set scheduler-locking step' as default.
 #=push+work: How much is scheduler-locking relevant after non-stop?
 Patch260: gdb-6.6-scheduler_locking-step-is-default.patch
@@ -181,11 +178,6 @@ Patch194: gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch
 #=fedoratest+work: One should recheck if it is really fixed upstream.
 Patch196: gdb-6.5-sharedlibrary-path.patch
 
-# Suggest fixing your target architecture for gdbserver(1) (BZ 190810).
-# FIXME: It could be autodetected.
-#=push+work: There are more such error cases that can happen.
-Patch199: gdb-6.5-bz190810-gdbserver-arch-advice.patch
-
 # Testcase for deadlocking on last address space byte; for corrupted backtraces.
 #=fedoratest
 Patch211: gdb-6.5-last-address-space-byte-test.patch
@@ -224,7 +216,7 @@ Patch231: gdb-6.3-bz202689-exec-from-pthread-test.patch
 
 # Backported fixups post the source tarball.
 #Xdrop: Just backports.
-Patch232: gdb-upstream.patch
+#Patch232: gdb-upstream.patch
 
 # Testcase for PPC Power6/DFP instructions disassembly (BZ 230000).
 #=fedoratest+ppc
@@ -355,11 +347,6 @@ Patch348: gdb-6.8-bz466901-backtrace-full-prelinked.patch
 #=push+work
 Patch349: gdb-archer.patch
 
-# Fix parsing elf64-i386 files for kdump PAE vmcore dumps (BZ 457187).
-# - Turn on 64-bit BFD support, globally enable AC_SYS_LARGEFILE.
-#=fedoratest
-Patch360: gdb-6.8-bz457187-largefile-test.patch
-
 # New test for step-resume breakpoint placed in multiple threads at once.
 #=fedoratest
 Patch381: gdb-simultaneous-step-resume-breakpoint-test.patch
@@ -501,9 +488,6 @@ Patch818: gdb-rhbz795424-bitpos-lazyvalue.patch
 #=fedoratest
 Patch832: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch
 
-# Fix crash on 'enable count' (Simon Marchi, BZ 993118).
-Patch843: gdb-enable-count-crash.patch
-
 # [rhel6] DTS backward Python compatibility API (BZ 1020004, Phil Muldoon).
 Patch848: gdb-dts-rhel6-python-compat.patch
 
@@ -529,15 +513,6 @@ Patch927: gdb-python-gil.patch
 # Fix jit-reader.h for multi-lib.
 Patch978: gdb-jit-reader-multilib.patch
 
-# Temporarily disable dg-extract-results.py to fix gdb.sum sorting.
-Patch982: gdb-no-dg-extract-results-py.patch
-
-# Fix Python 3 build error on 32-bit hosts.
-Patch984: gdb-python3-py_hash_t-32bit.patch
-
-# Fix Python 3 testsuite regressions.
-Patch985: gdb-python3-testsuite.patch
-
 %if 0%{!?rhel:1} || 0%{?rhel} > 6
 # RL_STATE_FEDORA_GDB would not be found for:
 # Patch642: gdb-readline62-ask-more-rh.patch
@@ -715,7 +690,7 @@ find -name "*.info*"|xargs rm -f
 # Match the Fedora's version info.
 %patch2 -p1
 
-%patch232 -p1
+#patch232 -p1
 %patch349 -p1
 %patch888 -p1
 %patch983 -p1
@@ -725,7 +700,6 @@ find -name "*.info*"|xargs rm -f
 
 %patch105 -p1
 %patch111 -p1
-%patch112 -p1
 %patch118 -p1
 %patch122 -p1
 %patch125 -p1
@@ -738,7 +712,6 @@ find -name "*.info*"|xargs rm -f
 %patch188 -p1
 %patch194 -p1
 %patch196 -p1
-%patch199 -p1
 %patch208 -p1
 %patch211 -p1
 %patch213 -p1
@@ -775,7 +748,6 @@ find -name "*.info*"|xargs rm -f
 %patch330 -p1
 %patch343 -p1
 %patch348 -p1
-%patch360 -p1
 %patch381 -p1
 %patch382 -p1
 %patch391 -p1
@@ -815,7 +787,6 @@ find -name "*.info*"|xargs rm -f
 %patch817 -p1
 %patch818 -p1
 %patch832 -p1
-%patch843 -p1
 %patch852 -p1
 %patch863 -p1
 %patch887 -p1
@@ -823,9 +794,6 @@ find -name "*.info*"|xargs rm -f
 %patch925 -p1
 %patch927 -p1
 %patch978 -p1
-%patch982 -p1
-%patch984 -p1
-%patch985 -p1
 
 %patch848 -p1
 %if 0%{!?el6:1}
@@ -877,6 +845,8 @@ rm -rf readline/*
 mv -f readline-doc readline/doc
 %endif # 0%{!?rhel:1} || 0%{?rhel} > 6
 
+rm -rf zlib
+
 %build
 rm -rf %{buildroot}
 
@@ -956,6 +926,7 @@ $(: ppc64 host build crashes on ppc variant of libexpat.so )	\
 %else
 	--disable-inprocess-agent				\
 %endif
+	--with-system-zlib					\
 	      --with-auto-load-dir='$debugdir:$datadir/auto-load%{?scl::%{_root_datadir}/gdb/auto-load}'	\
 	--with-auto-load-safe-path='$debugdir:$datadir/auto-load%{?scl::%{_root_datadir}/gdb/auto-load}'	\
 %ifarch sparc sparcv9
@@ -1026,8 +997,6 @@ cd %{gdb_build}
 make %{?_smp_mflags} \
      -C gdb/doc {gdb,annotate}{.info,/index.html,.pdf} MAKEHTMLFLAGS=--no-split MAKEINFOFLAGS=--no-split
 
-grep '#define HAVE_ZLIB_H 1' gdb/config.h
-
 # Copy the <sourcetree>/gdb/NEWS file to the directory above it.
 cp $RPM_BUILD_DIR/%{gdb_src}/gdb/NEWS $RPM_BUILD_DIR/%{gdb_src}
 
@@ -1326,6 +1295,9 @@ then
 fi
 
 %changelog
+* Sun May 31 2015 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.9.50.20150531-1.fc23
+- Rebase to FSF GDB 7.9.50.20150531 (pre-7.10 trunk snapshot).
+
 * Fri May 15 2015 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.9.1-14.fc22
 - Fix ignored Requires for gdb-doc (RH BZ 1221814).
 

diff --git a/sources b/sources
index 2f67f82..7a69162 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
 4981307aa9619bbec5b73261e4e41c8d  gdb-libstdc++-v3-python-r155978.tar.bz2
-35374c77a70884eb430c97061053a36e  gdb-7.9.1.tar.xz
+394dfbd87607c75e5c61f3e28105be54  gdb-7.9.50.20150531.tar.xz

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-06-27 23:57 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-27 23:57 [rpms/gdb] gdb-17.2-rebase-f44: Rebase to FSF GDB 7.9.50.20150531 (pre-7.10 trunk snapshot) Jan Kratochvil

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox