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

A new commit has been pushed.

Repo   : rpms/gdb
Branch : gdb-17.2-rebase-f44
Commit : 5bb0f3bac30ad11883d687f69a0620d256819e8a
Author : Jan Kratochvil <jan.kratochvil@redhat.com>
Date   : 2017-04-21T14:47:41+02:00
Stats  : +947/-868 in 16 file(s)
URL    : https://src.fedoraproject.org/rpms/gdb/c/5bb0f3bac30ad11883d687f69a0620d256819e8a?branch=gdb-17.2-rebase-f44

Log:
Rebase to FSF GDB 7.99.90.20170420 (pre-8.0 stable branch).

---
diff --git a/.gitignore b/.gitignore
index 17d3f1d..b6a974b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,3 @@
 /gdb-libstdc++-v3-python-6.3.1-20170212.tar.xz
 /v1.5.tar.gz
-/gdb-7.12.50.20170309.tar.xz
+/gdb-7.99.90.20170420.tar.xz

diff --git a/gdb-6.3-readnever-20050907.patch b/gdb-6.3-readnever-20050907.patch
index 670b505..4ce26c0 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.12.50.20170226/gdb/doc/gdb.texinfo
+Index: gdb-7.99.90.20170420/gdb/doc/gdb.texinfo
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/doc/gdb.texinfo	2017-02-26 21:26:43.609788662 +0100
-+++ gdb-7.12.50.20170226/gdb/doc/gdb.texinfo	2017-02-26 21:26:46.582809721 +0100
+--- gdb-7.99.90.20170420.orig/gdb/doc/gdb.texinfo	2017-04-20 22:29:39.179740076 +0200
++++ gdb-7.99.90.20170420/gdb/doc/gdb.texinfo	2017-04-20 22:29:40.924751096 +0200
 @@ -1037,6 +1037,12 @@
  the default, which is to read it incrementally as it is needed.
  This makes startup slower, but makes future operations faster.
@@ -28,10 +28,10 @@ Index: gdb-7.12.50.20170226/gdb/doc/gdb.texinfo
  @end table
  
  @node Mode Options
-Index: gdb-7.12.50.20170226/gdb/main.c
+Index: gdb-7.99.90.20170420/gdb/main.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/main.c	2017-02-26 21:26:43.612788684 +0100
-+++ gdb-7.12.50.20170226/gdb/main.c	2017-02-26 21:26:46.582809721 +0100
+--- gdb-7.99.90.20170420.orig/gdb/main.c	2017-04-20 22:29:39.182740095 +0200
++++ gdb-7.99.90.20170420/gdb/main.c	2017-04-20 22:29:40.925751103 +0200
 @@ -615,6 +615,7 @@
        {"tui", no_argument, 0, OPT_TUI},
        {"dbx", no_argument, &dbx_commands, 1},
@@ -40,7 +40,7 @@ Index: gdb-7.12.50.20170226/gdb/main.c
        {"r", no_argument, &readnow_symbol_files, 1},
        {"quiet", no_argument, &quiet, 1},
        {"q", no_argument, &quiet, 1},
-@@ -1253,6 +1254,7 @@
+@@ -1254,6 +1255,7 @@
    --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.12.50.20170226/gdb/main.c
    --write            Set writing into executable and core files.\n\n\
  "), stream);
    fputs_unfiltered (_("\
-Index: gdb-7.12.50.20170226/gdb/symfile.c
+Index: gdb-7.99.90.20170420/gdb/symfile.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/symfile.c	2017-02-26 21:26:43.613788691 +0100
-+++ gdb-7.12.50.20170226/gdb/symfile.c	2017-02-26 21:26:46.583809728 +0100
+--- gdb-7.99.90.20170420.orig/gdb/symfile.c	2017-04-20 22:29:39.183740101 +0200
++++ gdb-7.99.90.20170420/gdb/symfile.c	2017-04-20 22:29:40.926751109 +0200
 @@ -79,6 +79,7 @@
  
  /* Global variables owned by this file.  */
@@ -60,19 +60,19 @@ Index: gdb-7.12.50.20170226/gdb/symfile.c
  
  /* Functions this file defines.  */
  
-Index: gdb-7.12.50.20170226/gdb/dwarf2read.c
+Index: gdb-7.99.90.20170420/gdb/dwarf2read.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/dwarf2read.c	2017-02-26 21:26:43.620788740 +0100
-+++ gdb-7.12.50.20170226/gdb/dwarf2read.c	2017-02-26 21:26:59.078898234 +0100
-@@ -71,6 +71,7 @@
- #include "namespace.h"
- #include "common/gdb_unlinker.h"
+--- gdb-7.99.90.20170420.orig/gdb/dwarf2read.c	2017-04-20 22:29:39.190740145 +0200
++++ gdb-7.99.90.20170420/gdb/dwarf2read.c	2017-04-20 22:29:57.973858766 +0200
+@@ -73,6 +73,7 @@
  #include "common/function-view.h"
+ #include "common/gdb_optional.h"
+ #include "common/underlying.h"
 +#include "top.h"
  
  #include <fcntl.h>
  #include <sys/types.h>
-@@ -2113,7 +2114,8 @@
+@@ -2208,7 +2209,8 @@
                               (void *) names);
        dwarf2_per_objfile->objfile = objfile;
      }
@@ -82,10 +82,10 @@ Index: gdb-7.12.50.20170226/gdb/dwarf2read.c
  	  && dwarf2_per_objfile->info.s.section != NULL
  	  && !dwarf2_per_objfile->abbrev.is_virtual
  	  && dwarf2_per_objfile->abbrev.s.section != NULL);
-Index: gdb-7.12.50.20170226/gdb/top.h
+Index: gdb-7.99.90.20170420/gdb/top.h
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/top.h	2017-02-26 21:26:43.622788754 +0100
-+++ gdb-7.12.50.20170226/gdb/top.h	2017-02-26 21:26:46.589809771 +0100
+--- gdb-7.99.90.20170420.orig/gdb/top.h	2017-04-20 22:29:39.191740152 +0200
++++ gdb-7.99.90.20170420/gdb/top.h	2017-04-20 22:29:40.932751147 +0200
 @@ -269,6 +269,7 @@
  
  /* From random places.  */

diff --git a/gdb-6.6-buildid-locate.patch b/gdb-6.6-buildid-locate.patch
index 0f5fa8a..3ab89cf 100644
--- a/gdb-6.6-buildid-locate.patch
+++ b/gdb-6.6-buildid-locate.patch
@@ -1,7 +1,7 @@
-Index: gdb-7.12.50.20170207/gdb/corelow.c
+Index: gdb-7.99.90.20170420/gdb/corelow.c
 ===================================================================
---- gdb-7.12.50.20170207.orig/gdb/corelow.c	2017-02-24 22:18:02.176391400 +0100
-+++ gdb-7.12.50.20170207/gdb/corelow.c	2017-02-24 22:32:38.793264396 +0100
+--- gdb-7.99.90.20170420.orig/gdb/corelow.c	2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/corelow.c	2017-04-20 23:00:43.358629183 +0200
 @@ -45,6 +45,10 @@
  #include "gdb_bfd.h"
  #include "completer.h"
@@ -83,7 +83,7 @@ Index: gdb-7.12.50.20170207/gdb/corelow.c
    post_create_inferior (&core_ops, from_tty);
  
    /* Now go through the target stack looking for threads since there
-@@ -1078,4 +1138,11 @@
+@@ -1079,4 +1139,11 @@
    init_core_ops ();
  
    add_target_with_completer (&core_ops, filename_completer);
@@ -95,11 +95,11 @@ Index: gdb-7.12.50.20170207/gdb/corelow.c
 +			   NULL, NULL, NULL,
 +			   &setlist, &showlist);
  }
-Index: gdb-7.12.50.20170207/gdb/doc/gdb.texinfo
+Index: gdb-7.99.90.20170420/gdb/doc/gdb.texinfo
 ===================================================================
---- gdb-7.12.50.20170207.orig/gdb/doc/gdb.texinfo	2017-02-24 22:18:02.176391400 +0100
-+++ gdb-7.12.50.20170207/gdb/doc/gdb.texinfo	2017-02-24 22:32:38.803264463 +0100
-@@ -18962,6 +18962,27 @@
+--- gdb-7.99.90.20170420.orig/gdb/doc/gdb.texinfo	2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/doc/gdb.texinfo	2017-04-20 23:00:43.366629228 +0200
+@@ -18987,6 +18987,27 @@
  
  @end table
  
@@ -127,10 +127,10 @@ Index: gdb-7.12.50.20170207/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.12.50.20170207/gdb/solib-svr4.c
+Index: gdb-7.99.90.20170420/gdb/solib-svr4.c
 ===================================================================
---- gdb-7.12.50.20170207.orig/gdb/solib-svr4.c	2017-02-24 22:18:02.176391400 +0100
-+++ gdb-7.12.50.20170207/gdb/solib-svr4.c	2017-02-24 22:32:38.804264469 +0100
+--- gdb-7.99.90.20170420.orig/gdb/solib-svr4.c	2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/solib-svr4.c	2017-04-20 23:00:43.367629234 +0200
 @@ -45,6 +45,7 @@
  #include "auxv.h"
  #include "gdb_bfd.h"
@@ -195,10 +195,10 @@ Index: gdb-7.12.50.20170207/gdb/solib-svr4.c
        xfree (buffer);
  
        /* If this entry has no name, or its name matches the name
-Index: gdb-7.12.50.20170207/gdb/elfread.c
+Index: gdb-7.99.90.20170420/gdb/elfread.c
 ===================================================================
---- gdb-7.12.50.20170207.orig/gdb/elfread.c	2017-02-24 22:18:02.176391400 +0100
-+++ gdb-7.12.50.20170207/gdb/elfread.c	2017-02-24 22:32:38.805264476 +0100
+--- gdb-7.99.90.20170420.orig/gdb/elfread.c	2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/elfread.c	2017-04-20 23:00:43.367629234 +0200
 @@ -1265,8 +1265,9 @@
  	   && objfile->separate_debug_objfile == NULL
  	   && objfile->separate_debug_objfile_backlink == NULL)
@@ -221,11 +221,11 @@ Index: gdb-7.12.50.20170207/gdb/elfread.c
      }
  }
  
-Index: gdb-7.12.50.20170207/gdb/symfile.h
+Index: gdb-7.99.90.20170420/gdb/symfile.h
 ===================================================================
---- gdb-7.12.50.20170207.orig/gdb/symfile.h	2017-02-24 22:18:02.176391400 +0100
-+++ gdb-7.12.50.20170207/gdb/symfile.h	2017-02-24 22:32:38.805264476 +0100
-@@ -573,6 +573,10 @@
+--- gdb-7.99.90.20170420.orig/gdb/symfile.h	2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/symfile.h	2017-04-20 23:00:43.368629240 +0200
+@@ -567,6 +567,10 @@
  void map_symbol_filenames (symbol_filename_ftype *fun, void *data,
  			   int need_fullname);
  
@@ -236,10 +236,10 @@ Index: gdb-7.12.50.20170207/gdb/symfile.h
  /* From dwarf2read.c */
  
  /* Names for a dwarf2 debugging section.  The field NORMAL is the normal
-Index: gdb-7.12.50.20170207/gdb/testsuite/lib/gdb.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/lib/gdb.exp
 ===================================================================
---- gdb-7.12.50.20170207.orig/gdb/testsuite/lib/gdb.exp	2017-02-24 22:18:02.176391400 +0100
-+++ gdb-7.12.50.20170207/gdb/testsuite/lib/gdb.exp	2017-02-24 22:32:38.806264483 +0100
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/lib/gdb.exp	2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/lib/gdb.exp	2017-04-20 23:00:43.369629245 +0200
 @@ -1646,6 +1646,16 @@
  	    warning "Couldn't set the width to 0."
  	}
@@ -257,10 +257,10 @@ Index: gdb-7.12.50.20170207/gdb/testsuite/lib/gdb.exp
      return 0
  }
  
-Index: gdb-7.12.50.20170207/gdb/testsuite/lib/mi-support.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/lib/mi-support.exp
 ===================================================================
---- gdb-7.12.50.20170207.orig/gdb/testsuite/lib/mi-support.exp	2017-02-24 22:18:02.176391400 +0100
-+++ gdb-7.12.50.20170207/gdb/testsuite/lib/mi-support.exp	2017-02-24 22:32:38.807264489 +0100
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/lib/mi-support.exp	2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/lib/mi-support.exp	2017-04-20 23:00:43.369629245 +0200
 @@ -309,6 +309,16 @@
  	    warning "Couldn't set the width to 0."
  	}
@@ -278,10 +278,10 @@ Index: gdb-7.12.50.20170207/gdb/testsuite/lib/mi-support.exp
  
      if { $separate_inferior_pty } {
  	mi_create_inferior_pty
-Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/new-ui-pending-input.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.base/new-ui-pending-input.exp
 ===================================================================
---- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.base/new-ui-pending-input.exp	2017-02-24 22:18:02.176391400 +0100
-+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/new-ui-pending-input.exp	2017-02-24 22:32:38.807264489 +0100
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.base/new-ui-pending-input.exp	2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.base/new-ui-pending-input.exp	2017-04-20 23:00:43.369629245 +0200
 @@ -62,6 +62,7 @@
      set options ""
      append options " -iex \"set height 0\""
@@ -290,10 +290,10 @@ Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/new-ui-pending-input.exp
      append options " -iex \"new-ui console $extra_tty_name\""
      append options " -ex \"b $bpline\""
      append options " -ex \"run\""
-Index: gdb-7.12.50.20170207/gdb/objfiles.h
+Index: gdb-7.99.90.20170420/gdb/objfiles.h
 ===================================================================
---- gdb-7.12.50.20170207.orig/gdb/objfiles.h	2017-02-24 22:18:02.176391400 +0100
-+++ gdb-7.12.50.20170207/gdb/objfiles.h	2017-02-24 22:32:38.808264496 +0100
+--- gdb-7.99.90.20170420.orig/gdb/objfiles.h	2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/objfiles.h	2017-04-20 23:00:43.370629251 +0200
 @@ -444,6 +444,10 @@
    htab_t static_links;
  };
@@ -305,10 +305,10 @@ Index: gdb-7.12.50.20170207/gdb/objfiles.h
  /* Declarations for functions defined in objfiles.c */
  
  extern struct objfile *allocate_objfile (bfd *, const char *name,
-Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/corefile.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.base/corefile.exp
 ===================================================================
---- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.base/corefile.exp	2017-02-24 22:18:02.176391400 +0100
-+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/corefile.exp	2017-02-24 22:32:38.808264496 +0100
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.base/corefile.exp	2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.base/corefile.exp	2017-04-20 23:00:43.370629251 +0200
 @@ -293,3 +293,33 @@
  	pass $test
      }
@@ -343,10 +343,10 @@ Index: gdb-7.12.50.20170207/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.12.50.20170207/gdb/build-id.c
+Index: gdb-7.99.90.20170420/gdb/build-id.c
 ===================================================================
---- gdb-7.12.50.20170207.orig/gdb/build-id.c	2017-02-24 22:18:02.176391400 +0100
-+++ gdb-7.12.50.20170207/gdb/build-id.c	2017-02-24 22:45:25.817403162 +0100
+--- gdb-7.99.90.20170420.orig/gdb/build-id.c	2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/build-id.c	2017-04-20 23:03:00.060399474 +0200
 @@ -26,11 +26,67 @@
  #include "objfiles.h"
  #include "filenames.h"
@@ -774,7 +774,7 @@ Index: gdb-7.12.50.20170207/gdb/build-id.c
  
    if (found == NULL)
      warning (_("File \"%s\" has no build-id, file skipped"),
-@@ -65,23 +463,56 @@
+@@ -65,23 +463,54 @@
    return retval;
  }
  
@@ -796,17 +796,15 @@ Index: gdb-7.12.50.20170207/gdb/build-id.c
 +    target = xstrdup (buf);
 +  else
 +    {
-+      char *dir = ldirname (symlink);
++      const std::string dir (ldirname (symlink));
 +
-+      if (dir == NULL)
-+	return xstrdup (symlink);
 +      target = xstrprintf ("%s"
 +#ifndef HAVE_DOS_BASED_FILE_SYSTEM
 +			   "/"
 +#else /* HAVE_DOS_BASED_FILE_SYSTEM */
 +			   "\\"
 +#endif /* HAVE_DOS_BASED_FILE_SYSTEM */
-+			   "%s", dir, buf);
++			   "%s", dir.c_str(), buf);
 +    }
 +
 +  retval = link_resolve (target, level + 1);
@@ -838,7 +836,7 @@ Index: gdb-7.12.50.20170207/gdb/build-id.c
  
    /* Keep backward compatibility so that DEBUG_FILE_DIRECTORY being "" will
       cause "/.build-id/..." lookups.  */
-@@ -94,9 +525,12 @@
+@@ -94,9 +523,12 @@
        size_t debugdir_len = strlen (debugdir);
        const gdb_byte *data = build_id;
        size_t size = build_id_len;
@@ -852,7 +850,7 @@ Index: gdb-7.12.50.20170207/gdb/build-id.c
  
        memcpy (link, debugdir, debugdir_len);
        s = &link[debugdir_len];
-@@ -110,45 +544,290 @@
+@@ -110,45 +542,290 @@
  	*s++ = '/';
        while (size-- > 0)
  	s += sprintf (s, "%02x", (unsigned) *data++);
@@ -1161,7 +1159,7 @@ Index: gdb-7.12.50.20170207/gdb/build-id.c
        /* Prevent looping on a stripped .debug file.  */
        if (abfd != NULL
  	  && filename_cmp (bfd_get_filename (abfd.get ()),
-@@ -160,3 +839,21 @@
+@@ -160,3 +837,21 @@
      }
    return NULL;
  }
@@ -1183,10 +1181,10 @@ Index: gdb-7.12.50.20170207/gdb/build-id.c
 +
 +  observer_attach_executable_changed (debug_print_executable_changed);
 +}
-Index: gdb-7.12.50.20170207/gdb/build-id.h
+Index: gdb-7.99.90.20170420/gdb/build-id.h
 ===================================================================
---- gdb-7.12.50.20170207.orig/gdb/build-id.h	2017-02-24 22:18:02.176391400 +0100
-+++ gdb-7.12.50.20170207/gdb/build-id.h	2017-02-24 22:32:38.809264503 +0100
+--- gdb-7.99.90.20170420.orig/gdb/build-id.h	2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/build-id.h	2017-04-20 23:00:43.371629257 +0200
 @@ -22,9 +22,10 @@
  
  #include "gdb_bfd.h"
@@ -1222,11 +1220,11 @@ Index: gdb-7.12.50.20170207/gdb/build-id.h
 +		       gdb::unique_xmalloc_ptr<char> *build_id_filename_return);
  
  #endif /* BUILD_ID_H */
-Index: gdb-7.12.50.20170207/gdb/dwarf2read.c
+Index: gdb-7.99.90.20170420/gdb/dwarf2read.c
 ===================================================================
---- gdb-7.12.50.20170207.orig/gdb/dwarf2read.c	2017-02-24 22:18:02.176391400 +0100
-+++ gdb-7.12.50.20170207/gdb/dwarf2read.c	2017-02-24 22:32:38.814264536 +0100
-@@ -2534,7 +2534,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/dwarf2read.c	2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/dwarf2read.c	2017-04-20 23:00:43.375629279 +0200
+@@ -2671,7 +2671,7 @@
      }
  
    if (dwz_bfd == NULL)
@@ -1235,11 +1233,11 @@ Index: gdb-7.12.50.20170207/gdb/dwarf2read.c
  
    if (dwz_bfd == NULL)
      error (_("could not find '.gnu_debugaltlink' file for %s"),
-Index: gdb-7.12.50.20170207/gdb/python/py-objfile.c
+Index: gdb-7.99.90.20170420/gdb/python/py-objfile.c
 ===================================================================
---- gdb-7.12.50.20170207.orig/gdb/python/py-objfile.c	2017-02-24 22:18:02.176391400 +0100
-+++ gdb-7.12.50.20170207/gdb/python/py-objfile.c	2017-02-24 22:32:38.814264536 +0100
-@@ -136,7 +136,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/python/py-objfile.c	2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/python/py-objfile.c	2017-04-20 23:00:43.375629279 +0200
+@@ -137,7 +137,7 @@
  
    TRY
      {
@@ -1248,7 +1246,7 @@ Index: gdb-7.12.50.20170207/gdb/python/py-objfile.c
      }
    CATCH (except, RETURN_MASK_ALL)
      {
-@@ -546,7 +546,7 @@
+@@ -544,7 +544,7 @@
        /* Don't return separate debug files.  */
        if (objfile->separate_debug_objfile_backlink != NULL)
  	continue;
@@ -1257,10 +1255,10 @@ Index: gdb-7.12.50.20170207/gdb/python/py-objfile.c
        if (obfd_build_id == NULL)
  	continue;
        if (objfpy_build_id_matches (obfd_build_id, build_id))
-Index: gdb-7.12.50.20170207/gdb/coffread.c
+Index: gdb-7.99.90.20170420/gdb/coffread.c
 ===================================================================
---- gdb-7.12.50.20170207.orig/gdb/coffread.c	2017-02-24 22:18:02.176391400 +0100
-+++ gdb-7.12.50.20170207/gdb/coffread.c	2017-02-24 22:32:38.815264543 +0100
+--- gdb-7.99.90.20170420.orig/gdb/coffread.c	2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/coffread.c	2017-04-20 23:00:43.376629285 +0200
 @@ -734,7 +734,7 @@
      {
        char *debugfile;

diff --git a/gdb-6.8-attach-signalled-detach-stopped.patch b/gdb-6.8-attach-signalled-detach-stopped.patch
index 44b8311..c6f6bd4 100644
--- a/gdb-6.8-attach-signalled-detach-stopped.patch
+++ b/gdb-6.8-attach-signalled-detach-stopped.patch
@@ -1,7 +1,7 @@
-Index: gdb-7.11.50.20160716/gdb/infrun.c
+Index: gdb-7.99.90.20170420/gdb/infrun.c
 ===================================================================
---- gdb-7.11.50.20160716.orig/gdb/infrun.c	2016-07-16 14:37:09.317178150 +0200
-+++ gdb-7.11.50.20160716/gdb/infrun.c	2016-07-16 14:37:10.636188765 +0200
+--- gdb-7.99.90.20170420.orig/gdb/infrun.c	2017-04-20 23:19:16.056434309 +0200
++++ gdb-7.99.90.20170420/gdb/infrun.c	2017-04-20 23:19:22.932480367 +0200
 @@ -620,6 +620,13 @@
  				target_pid_to_str (process_ptid));
  	    }
@@ -16,10 +16,10 @@ Index: gdb-7.11.50.20160716/gdb/infrun.c
  	  target_detach (NULL, 0);
  	}
  
-Index: gdb-7.11.50.20160716/gdb/linux-nat.c
+Index: gdb-7.99.90.20170420/gdb/linux-nat.c
 ===================================================================
---- gdb-7.11.50.20160716.orig/gdb/linux-nat.c	2016-07-16 14:37:09.320178174 +0200
-+++ gdb-7.11.50.20160716/gdb/linux-nat.c	2016-07-16 14:38:09.574663094 +0200
+--- gdb-7.99.90.20170420.orig/gdb/linux-nat.c	2017-04-20 23:19:16.058434322 +0200
++++ gdb-7.99.90.20170420/gdb/linux-nat.c	2017-04-20 23:19:22.933480373 +0200
 @@ -194,6 +194,11 @@
  static struct target_ops *linux_ops;
  static struct target_ops linux_ops_saved;
@@ -32,7 +32,7 @@ Index: gdb-7.11.50.20160716/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 *);
  
-@@ -1047,6 +1052,9 @@
+@@ -1055,6 +1060,9 @@
        if (debug_linux_nat)
  	fprintf_unfiltered (gdb_stdlog,
  			    "LNPAW: Attaching to a stopped process\n");
@@ -42,7 +42,7 @@ Index: gdb-7.11.50.20160716/gdb/linux-nat.c
  
        /* The process is definitely stopped.  It is in a job control
  	 stop, unless the kernel predates the TASK_STOPPED /
-@@ -1404,6 +1412,25 @@
+@@ -1412,6 +1420,25 @@
        return gdb_signal_to_host (signo);
      }
  
@@ -68,7 +68,7 @@ Index: gdb-7.11.50.20160716/gdb/linux-nat.c
    return 0;
  }
  
-@@ -1562,6 +1589,10 @@
+@@ -1570,6 +1597,10 @@
        detach_one_lwp (main_lwp, &signo);
  
        inf_ptrace_detach_success (ops);
@@ -77,9 +77,9 @@ Index: gdb-7.11.50.20160716/gdb/linux-nat.c
 +      pid_was_stopped = 0;
 +#endif
      }
-   delete_lwp (main_lwp->ptid);
  }
-@@ -1823,6 +1854,16 @@
+ 
+@@ -1830,6 +1861,16 @@
        return;
      }
  
@@ -96,7 +96,7 @@ Index: gdb-7.11.50.20160716/gdb/linux-nat.c
    if (resume_many)
      iterate_over_lwps (ptid, linux_nat_resume_callback, lp);
  
-@@ -3819,6 +3860,10 @@
+@@ -3826,6 +3867,10 @@
  
    /* Let the arch-specific native code know this process is gone.  */
    linux_nat_forget_process (pid);
@@ -107,10 +107,10 @@ Index: gdb-7.11.50.20160716/gdb/linux-nat.c
  }
  
  /* Convert a native/host siginfo object, into/from the siginfo in the
-Index: gdb-7.11.50.20160716/gdb/testsuite/gdb.threads/attach-stopped.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.threads/attach-stopped.exp
 ===================================================================
---- gdb-7.11.50.20160716.orig/gdb/testsuite/gdb.threads/attach-stopped.exp	2016-07-16 14:37:09.321178182 +0200
-+++ gdb-7.11.50.20160716/gdb/testsuite/gdb.threads/attach-stopped.exp	2016-07-16 14:37:10.640188797 +0200
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.threads/attach-stopped.exp	2017-04-20 23:19:16.059434329 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.threads/attach-stopped.exp	2017-04-20 23:19:22.933480373 +0200
 @@ -56,7 +56,65 @@
      gdb_reinitialize_dir $srcdir/$subdir
      gdb_load ${binfile}

diff --git a/gdb-archer-pie-addons-keep-disabled.patch b/gdb-archer-pie-addons-keep-disabled.patch
index ffdf9a7..cd915d3 100644
--- a/gdb-archer-pie-addons-keep-disabled.patch
+++ b/gdb-archer-pie-addons-keep-disabled.patch
@@ -1,8 +1,8 @@
-Index: gdb-7.11.90.20160829/gdb/breakpoint.c
+Index: gdb-7.99.90.20170420/gdb/breakpoint.c
 ===================================================================
---- gdb-7.11.90.20160829.orig/gdb/breakpoint.c	2016-08-29 09:41:57.054875810 +0200
-+++ gdb-7.11.90.20160829/gdb/breakpoint.c	2016-08-29 09:45:04.166612376 +0200
-@@ -16176,6 +16176,50 @@
+--- gdb-7.99.90.20170420.orig/gdb/breakpoint.c	2017-04-20 23:04:39.627960523 +0200
++++ gdb-7.99.90.20170420/gdb/breakpoint.c	2017-04-20 23:07:29.854919725 +0200
+@@ -16086,6 +16086,50 @@
  static struct cmd_list_element *enablebreaklist = NULL;
  
  void
@@ -45,19 +45,19 @@ Index: gdb-7.11.90.20160829/gdb/breakpoint.c
 +    }
 +
 +  if (changed)
-+    qsort (bp_location, bp_location_count, sizeof (*bp_location),
-+	   bp_location_compare);
++    qsort (bp_locations, bp_locations_count, sizeof (*bp_locations),
++	   bp_locations_compare);
 +}
 +
 +void
  _initialize_breakpoint (void)
  {
    struct cmd_list_element *c;
-Index: gdb-7.11.90.20160829/gdb/breakpoint.h
+Index: gdb-7.99.90.20170420/gdb/breakpoint.h
 ===================================================================
---- gdb-7.11.90.20160829.orig/gdb/breakpoint.h	2016-08-29 09:41:57.054875810 +0200
-+++ gdb-7.11.90.20160829/gdb/breakpoint.h	2016-08-29 09:42:24.370129320 +0200
-@@ -1644,4 +1644,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/breakpoint.h	2017-04-20 23:04:39.627960523 +0200
++++ gdb-7.99.90.20170420/gdb/breakpoint.h	2017-04-20 23:04:48.331009563 +0200
+@@ -1646,4 +1646,7 @@
     UIOUT iff debugging multiple threads.  */
  extern void maybe_print_thread_hit_breakpoint (struct ui_out *uiout);
  
@@ -65,11 +65,11 @@ Index: gdb-7.11.90.20160829/gdb/breakpoint.h
 +				  struct section_offsets *delta);
 +
  #endif /* !defined (BREAKPOINT_H) */
-Index: gdb-7.11.90.20160829/gdb/objfiles.c
+Index: gdb-7.99.90.20170420/gdb/objfiles.c
 ===================================================================
---- gdb-7.11.90.20160829.orig/gdb/objfiles.c	2016-08-29 09:41:57.054875810 +0200
-+++ gdb-7.11.90.20160829/gdb/objfiles.c	2016-08-29 09:42:24.370129320 +0200
-@@ -916,6 +916,11 @@
+--- gdb-7.99.90.20170420.orig/gdb/objfiles.c	2017-04-20 23:04:39.627960523 +0200
++++ gdb-7.99.90.20170420/gdb/objfiles.c	2017-04-20 23:04:48.332009569 +0200
+@@ -909,6 +909,11 @@
  				obj_section_addr (s));
      }
  

diff --git a/gdb-archer.patch b/gdb-archer.patch
index 970745d..c3c8da6 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 e2c0cbf93cf20667be449a75d2ada5d377ddb090
+commit 718a1618b2f691a7f407213bb50f100ac59f91c3
 
 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 268c2c6..4045ef7 100644
+index 291b1a0..150a8ef 100644
 --- a/gdb/Makefile.in
 +++ b/gdb/Makefile.in
-@@ -2345,6 +2345,12 @@ stamp-h: $(srcdir)/config.in config.status
+@@ -2350,6 +2350,12 @@ stamp-h: $(srcdir)/config.in config.status
  	  CONFIG_LINKS= \
  	  $(SHELL) config.status
  
@@ -58,7 +58,7 @@ index 304d4b0..d2007a4 100644
  	gdb/printer/bound_registers.py
  
 diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
-index 962325b..589e22c 100644
+index 300d78e..699f2cb 100644
 --- a/gdb/doc/gdb.texinfo
 +++ b/gdb/doc/gdb.texinfo
 @@ -1230,6 +1230,16 @@ for remote debugging.
@@ -79,7 +79,7 @@ index 962325b..589e22c 100644
  @item -tui
  @cindex @code{--tui}
 diff --git a/gdb/doc/python.texi b/gdb/doc/python.texi
-index c3ea203..a3bdb98 100644
+index ce5810e..4ceb108 100644
 --- a/gdb/doc/python.texi
 +++ b/gdb/doc/python.texi
 @@ -88,8 +88,6 @@ containing @code{end}.  For example:
@@ -112,7 +112,7 @@ index 05a38b2..9801fdf 100644
    set variable $gdb_init_done = 1
  
 diff --git a/gdb/main.c b/gdb/main.c
-index 30e27c2..0460c28 100644
+index df4b111..6aca8b0 100644
 --- a/gdb/main.c
 +++ b/gdb/main.c
 @@ -33,6 +33,7 @@
@@ -132,7 +132,7 @@ index 30e27c2..0460c28 100644
  {
    int argc = context->argc;
    char **argv = context->argv;
-@@ -674,10 +675,14 @@ captured_main_1 (struct captured_main_args *context)
+@@ -676,10 +677,14 @@ captured_main_1 (struct captured_main_args *context)
        {"args", no_argument, &set_args, 1},
        {"l", required_argument, 0, 'l'},
        {"return-child-result", no_argument, &return_child_result, 1},
@@ -148,7 +148,7 @@ index 30e27c2..0460c28 100644
        {
  	int option_index;
  
-@@ -695,6 +700,9 @@ captured_main_1 (struct captured_main_args *context)
+@@ -697,6 +702,9 @@ captured_main_1 (struct captured_main_args *context)
  	  case 0:
  	    /* Long option that just sets a flag.  */
  	    break;
@@ -158,7 +158,7 @@ index 30e27c2..0460c28 100644
  	  case OPT_SE:
  	    symarg = optarg;
  	    execarg = optarg;
-@@ -853,7 +861,31 @@ captured_main_1 (struct captured_main_args *context)
+@@ -855,7 +863,31 @@ captured_main_1 (struct captured_main_args *context)
  
    /* Now that gdb_init has created the initial inferior, we're in
       position to set args for that inferior.  */
@@ -191,7 +191,7 @@ index 30e27c2..0460c28 100644
      {
        /* The remaining options are the command-line options for the
  	 inferior.  The first one is the sym/exec file, and the rest
-@@ -1123,7 +1155,8 @@ captured_main_1 (struct captured_main_args *context)
+@@ -1125,7 +1157,8 @@ captured_main_1 (struct captured_main_args *context)
  
    /* Read in the old history after all the command files have been
       read.  */
@@ -201,7 +201,7 @@ index 30e27c2..0460c28 100644
  
    if (batch_flag)
      {
-@@ -1136,16 +1169,29 @@ static void
+@@ -1138,16 +1171,29 @@ static void
  captured_main (void *data)
  {
    struct captured_main_args *context = (struct captured_main_args *) data;
@@ -238,7 +238,7 @@ index 30e27c2..0460c28 100644
      }
    /* No exit -- exit is through quit_command.  */
  }
-@@ -1188,6 +1234,12 @@ print_gdb_help (struct ui_file *stream)
+@@ -1190,6 +1236,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\
@@ -251,7 +251,7 @@ index 30e27c2..0460c28 100644
      gdb [options] --args executable-file [inferior-arguments ...]\n\n\
  "), stream);
    fputs_unfiltered (_("\
-@@ -1232,6 +1284,13 @@ Output and user interface control:\n\n\
+@@ -1234,6 +1286,13 @@ Output and user interface control:\n\n\
  #endif
    fputs_unfiltered (_("\
    --dbx              DBX compatibility mode.\n\
@@ -449,10 +449,10 @@ index 0000000..8742680
 +
 +InScope ()
 diff --git a/gdb/python/python-internal.h b/gdb/python/python-internal.h
-index 4dd413d..2ad4071 100644
+index e84c8d2..69305b4 100644
 --- a/gdb/python/python-internal.h
 +++ b/gdb/python/python-internal.h
-@@ -551,6 +551,9 @@ class gdbpy_enter_varobj : public gdbpy_enter
+@@ -672,6 +672,9 @@ class gdbpy_enter_varobj : public gdbpy_enter
  
  };
  
@@ -463,7 +463,7 @@ index 4dd413d..2ad4071 100644
  extern const struct language_defn *python_language;
  
 diff --git a/gdb/python/python.c b/gdb/python/python.c
-index 73fb3d0..0789c16 100644
+index 7e0c507..a67fbc3 100644
 --- a/gdb/python/python.c
 +++ b/gdb/python/python.c
 @@ -95,6 +95,8 @@ const struct extension_language_defn extension_language_python =
@@ -505,7 +505,7 @@ index 73fb3d0..0789c16 100644
  /* Set the quit flag.  */
  
  static void
-@@ -1192,6 +1217,92 @@ gdbpy_print_stack (void)
+@@ -1187,6 +1212,92 @@ gdbpy_print_stack (void)
  
  /* Return the current Progspace.
     There always is one.  */
@@ -598,7 +598,7 @@ index 73fb3d0..0789c16 100644
  
  static PyObject *
  gdbpy_get_current_progspace (PyObject *unused1, PyObject *unused2)
-@@ -1888,6 +1999,8 @@ PyMethodDef python_GdbMethods[] =
+@@ -1881,6 +1992,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." },
@@ -632,10 +632,10 @@ index f5d4a3c..3546f7b 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 d9a4d20..c87e4d8 100644
+index 1781887..8a2ddd6 100644
 --- a/gdb/testsuite/gdb.python/py-value.exp
 +++ b/gdb/testsuite/gdb.python/py-value.exp
-@@ -407,6 +407,15 @@ proc test_value_after_death {} {
+@@ -384,6 +384,15 @@ proc test_value_after_death {} {
      "print value's type"
  }
  
@@ -651,16 +651,16 @@ index d9a4d20..c87e4d8 100644
  # Regression test for invalid subscript operations.  The bug was that
  # the type of the value was not being checked before allowing a
  # subscript operation to proceed.
-@@ -536,6 +545,7 @@ test_value_in_inferior
+@@ -512,6 +521,7 @@ if ![runto_main] then {
+ test_value_in_inferior
  test_inferior_function_call
- test_lazy_strings
  test_value_after_death
 +test_cast_regression
  
  # Test either C or C++ values. 
  
 diff --git a/gdb/varobj.c b/gdb/varobj.c
-index 173abf3..c3abf66 100644
+index 5f21d84..18506f1 100644
 --- a/gdb/varobj.c
 +++ b/gdb/varobj.c
 @@ -226,6 +226,14 @@ is_root_p (const struct varobj *var)
@@ -679,7 +679,7 @@ index 173abf3..c3abf66 100644
  /* See python-internal.h.  */
  gdbpy_enter_varobj::gdbpy_enter_varobj (const struct varobj *var)
 diff --git a/gdb/varobj.h b/gdb/varobj.h
-index 989c8cd..fc7f177 100644
+index e35c1b8..12339d1 100644
 --- a/gdb/varobj.h
 +++ b/gdb/varobj.h
 @@ -320,6 +320,8 @@ extern int varobj_has_more (const struct varobj *var, int to);

diff --git a/gdb-gnat-dwarf-crash-3of3.patch b/gdb-gnat-dwarf-crash-3of3.patch
index 3f57fd3..4a85073 100644
--- a/gdb-gnat-dwarf-crash-3of3.patch
+++ b/gdb-gnat-dwarf-crash-3of3.patch
@@ -34,11 +34,11 @@ gdb/
 
 	* dwarf2read.c (process_die): Change gdb_assert to complaint.
 
-diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
-index 3eaa0b1..71f5d34 100644
---- a/gdb/dwarf2read.c
-+++ b/gdb/dwarf2read.c
-@@ -8029,7 +8029,13 @@ process_die (struct die_info *die, struct dwarf2_cu *cu)
+Index: gdb-7.99.90.20170420/gdb/dwarf2read.c
+===================================================================
+--- gdb-7.99.90.20170420.orig/gdb/dwarf2read.c	2017-04-20 23:15:26.578897210 +0200
++++ gdb-7.99.90.20170420/gdb/dwarf2read.c	2017-04-20 23:15:57.805106371 +0200
+@@ -8426,7 +8426,13 @@
    struct cleanup *in_process;
  
    /* We should only be processing those not already in process.  */
@@ -47,12 +47,9 @@ index 3eaa0b1..71f5d34 100644
 +    {
 +      complaint (&symfile_complaints,
 +		 _("DIE at 0x%x attempted to be processed twice"),
-+		 die->offset.sect_off);
++		 to_underlying (die->sect_off));
 +      return;
 +    }
  
    die->in_process = 1;
    in_process = make_cleanup (reset_die_in_process,die);
-
---6TrnltStXW4iwmi0--
-

diff --git a/gdb-python-gil.patch b/gdb-python-gil.patch
index 3756f4a..d2736fb 100644
--- a/gdb-python-gil.patch
+++ b/gdb-python-gil.patch
@@ -1,7 +1,7 @@
-Index: gdb-7.12.50.20170226/gdb/doc/python.texi
+Index: gdb-7.99.90.20170420/gdb/doc/python.texi
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/doc/python.texi	2017-02-28 16:06:13.508969181 +0100
-+++ gdb-7.12.50.20170226/gdb/doc/python.texi	2017-02-28 16:06:14.958979480 +0100
+--- gdb-7.99.90.20170420.orig/gdb/doc/python.texi	2017-04-20 23:16:30.895328018 +0200
++++ gdb-7.99.90.20170420/gdb/doc/python.texi	2017-04-20 23:16:35.690360136 +0200
 @@ -230,6 +230,14 @@
  return value is @code{None}.  If @var{to_string} is @code{True}, the
  @value{GDBN} virtual terminal will be temporarily set to unlimited width
@@ -17,10 +17,10 @@ Index: gdb-7.12.50.20170226/gdb/doc/python.texi
  @end defun
  
  @findex gdb.breakpoints
-Index: gdb-7.12.50.20170226/gdb/python/python-internal.h
+Index: gdb-7.99.90.20170420/gdb/python/python-internal.h
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/python/python-internal.h	2017-02-28 16:06:13.510969195 +0100
-+++ gdb-7.12.50.20170226/gdb/python/python-internal.h	2017-02-28 16:06:14.958979480 +0100
+--- gdb-7.99.90.20170420.orig/gdb/python/python-internal.h	2017-04-20 23:16:30.896328024 +0200
++++ gdb-7.99.90.20170420/gdb/python/python-internal.h	2017-04-20 23:16:35.690360136 +0200
 @@ -142,6 +142,8 @@
  #define PyGILState_Release(ARG) ((void)(ARG))
  #define PyEval_InitThreads()
@@ -30,32 +30,32 @@ Index: gdb-7.12.50.20170226/gdb/python/python-internal.h
  #define PyEval_ReleaseLock()
  #endif
  
-Index: gdb-7.12.50.20170226/gdb/python/python.c
+Index: gdb-7.99.90.20170420/gdb/python/python.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/python/python.c	2017-02-28 16:06:13.510969195 +0100
-+++ gdb-7.12.50.20170226/gdb/python/python.c	2017-02-28 16:06:14.959979487 +0100
-@@ -596,12 +596,16 @@
+--- gdb-7.99.90.20170420.orig/gdb/python/python.c	2017-04-20 23:16:30.897328031 +0200
++++ gdb-7.99.90.20170420/gdb/python/python.c	2017-04-20 23:18:11.377001070 +0200
+@@ -594,12 +594,16 @@
  {
    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 };
+-  static const char *keywords[] = { "command", "from_tty", "to_string", NULL };
 +  int from_tty, to_string, release_gil;
-+  static char *keywords[] = {"command", "from_tty", "to_string", "release_gil", NULL };
++  static const char *keywords[] = {"command", "from_tty", "to_string", "release_gil", NULL };
 +  PyObject *release_gil_obj = NULL;
 +  /* Initialize it just to avoid a GCC false warning.  */
 +  PyThreadState *state = NULL;
  
--  if (! PyArg_ParseTupleAndKeywords (args, kw, "s|O!O!", keywords, &arg,
-+  if (! PyArg_ParseTupleAndKeywords (args, kw, "s|O!O!O!", keywords, &arg,
- 				     &PyBool_Type, &from_tty_obj,
--				     &PyBool_Type, &to_string_obj))
-+				     &PyBool_Type, &to_string_obj,
-+				     &PyBool_Type, &release_gil_obj))
+-  if (!gdb_PyArg_ParseTupleAndKeywords (args, kw, "s|O!O!", keywords, &arg,
++  if (!gdb_PyArg_ParseTupleAndKeywords (args, kw, "s|O!O!O!", keywords, &arg,
+ 					&PyBool_Type, &from_tty_obj,
+-					&PyBool_Type, &to_string_obj))
++					&PyBool_Type, &to_string_obj,
++					&PyBool_Type, &release_gil_obj))
      return NULL;
  
    from_tty = 0;
-@@ -622,6 +626,15 @@
+@@ -620,6 +624,15 @@
        to_string = cmp;
      }
  
@@ -71,7 +71,7 @@ Index: gdb-7.12.50.20170226/gdb/python/python.c
    std::string to_string_res;
  
    TRY
-@@ -630,6 +643,13 @@
+@@ -628,6 +641,13 @@
        std::string copy (arg);
        struct interp *interp;
  
@@ -85,7 +85,7 @@ Index: gdb-7.12.50.20170226/gdb/python/python.c
        scoped_restore save_async = make_scoped_restore (&current_ui->async, 0);
  
        scoped_restore save_uiout = make_scoped_restore (&current_uiout);
-@@ -644,10 +664,22 @@
+@@ -642,10 +662,22 @@
  	to_string_res = execute_command_to_string (&copy[0], from_tty);
        else
  	execute_command (&copy[0], from_tty);
@@ -109,10 +109,10 @@ Index: gdb-7.12.50.20170226/gdb/python/python.c
      }
    END_CATCH
  
-Index: gdb-7.12.50.20170226/gdb/testsuite/gdb.python/py-gil-mthread.c
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.python/py-gil-mthread.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.12.50.20170226/gdb/testsuite/gdb.python/py-gil-mthread.c	2017-02-28 16:06:14.959979487 +0100
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.python/py-gil-mthread.c	2017-04-20 23:16:35.691360143 +0200
 @@ -0,0 +1,13 @@
 +#include <stdio.h>
 +#include <unistd.h>
@@ -127,10 +127,10 @@ Index: gdb-7.12.50.20170226/gdb/testsuite/gdb.python/py-gil-mthread.c
 +      printf ("Sleeping %d\n", i);
 +    }
 +}
-Index: gdb-7.12.50.20170226/gdb/testsuite/gdb.python/py-gil-mthread.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.python/py-gil-mthread.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.12.50.20170226/gdb/testsuite/gdb.python/py-gil-mthread.exp	2017-02-28 16:06:14.959979487 +0100
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.python/py-gil-mthread.exp	2017-04-20 23:16:35.691360143 +0200
 @@ -0,0 +1,69 @@
 +# Copyright (C) 2014 Free Software Foundation, Inc.
 +
@@ -201,10 +201,10 @@ Index: gdb-7.12.50.20170226/gdb/testsuite/gdb.python/py-gil-mthread.exp
 +	}
 +    }
 +}
-Index: gdb-7.12.50.20170226/gdb/testsuite/gdb.python/py-gil-mthread.py
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.python/py-gil-mthread.py
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.12.50.20170226/gdb/testsuite/gdb.python/py-gil-mthread.py	2017-02-28 16:26:39.565085643 +0100
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.python/py-gil-mthread.py	2017-04-20 23:16:35.692360149 +0200
 @@ -0,0 +1,28 @@
 +try:
 +   import thread

diff --git a/gdb-release-werror.patch b/gdb-release-werror.patch
new file mode 100644
index 0000000..ddbe0a9
--- /dev/null
+++ b/gdb-release-werror.patch
@@ -0,0 +1,74 @@
+http://sourceware.org/ml/gdb-patches/2017-04/msg00593.html
+Subject: [patch+8.0] release branch: Fix: --enable-werror
+
+
+--8t9RHnE3ZwKMSgU+
+Content-Type: text/plain; charset=iso-2022-jp
+Content-Disposition: inline
+
+Hi,
+
+gdb-8.0-branch
+./configure --enable-werror --enable-targets=all
+aarch64-tdep.c:3045:13: error: ^[$B!F^[(Bvoid selftests::aarch64_process_record_test()^[$B!G^[(B declared ^[$B!F^[(Bstatic^[$B!G^[(B but never defined [-Werror=unused-function]
+arm-tdep.c:9601:13: error: ^[$B!F^[(Bvoid selftests::arm_record_test()^[$B!G^[(B declared ^[$B!F^[(Bstatic^[$B!G^[(B but never defined [-Werror=unused-function]
+
+OK for check-in?
+
+Please do not tell me release branches do not support --enable-werror as this
+is due to a sourcebase bug, not due to some unexpected compiler
+incompatibility.
+
+Sergio: Shouldn't it be also buildbot-tested?
+
+
+Jan
+
+--8t9RHnE3ZwKMSgU+
+Content-Type: text/plain; charset=us-ascii
+Content-Disposition: inline; filename=1
+
+gdb/ChangeLog
+2017-04-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* aarch64-tdep.c (selftests::aarch64_process_record_test): Make it #if
+	GDB_SELF_TEST.
+	* arm-tdep.c (selftests::arm_record_test): Likewise.
+
+diff --git a/gdb/aarch64-tdep.c b/gdb/aarch64-tdep.c
+index 28c2573..6113621 100644
+--- a/gdb/aarch64-tdep.c
++++ b/gdb/aarch64-tdep.c
+@@ -3040,10 +3040,12 @@ aarch64_dump_tdep (struct gdbarch *gdbarch, struct ui_file *file)
+ 		      paddress (gdbarch, tdep->lowest_pc));
+ }
+ 
++#if GDB_SELF_TEST
+ namespace selftests
+ {
+ static void aarch64_process_record_test (void);
+ }
++#endif
+ 
+ /* Suppress warning from -Wmissing-prototypes.  */
+ extern initialize_file_ftype _initialize_aarch64_tdep;
+diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c
+index c8fabfb..9ac667f 100644
+--- a/gdb/arm-tdep.c
++++ b/gdb/arm-tdep.c
+@@ -9596,10 +9596,12 @@ arm_dump_tdep (struct gdbarch *gdbarch, struct ui_file *file)
+ 		      (unsigned long) tdep->lowest_pc);
+ }
+ 
++#if GDB_SELF_TEST
+ namespace selftests
+ {
+ static void arm_record_test (void);
+ }
++#endif
+ 
+ extern initialize_file_ftype _initialize_arm_tdep; /* -Wmissing-prototypes */
+ 
+
+--8t9RHnE3ZwKMSgU+--
+

diff --git a/gdb-rhbz795424-bitpos-20of25.patch b/gdb-rhbz795424-bitpos-20of25.patch
index 8d15227..518f87b 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.12.50.20170226/gdb/ada-lang.c
+Index: gdb-7.99.90.20170420/gdb/ada-lang.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/ada-lang.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/ada-lang.c	2017-02-26 22:04:03.415609774 +0100
+--- gdb-7.99.90.20170420.orig/gdb/ada-lang.c	2017-04-20 23:08:54.142394671 +0200
++++ gdb-7.99.90.20170420/gdb/ada-lang.c	2017-04-20 23:08:56.967410590 +0200
 @@ -76,7 +76,7 @@
  
  static struct value *desc_bounds (struct value *);
@@ -539,7 +539,7 @@ Index: gdb-7.12.50.20170226/gdb/ada-lang.c
  					     struct type *);
  
  static struct value *assign_aggregate (struct value *, struct value *, 
-@@ -701,7 +702,7 @@
+@@ -699,7 +700,7 @@
  }
  
  static const gdb_byte *
@@ -548,7 +548,7 @@ Index: gdb-7.12.50.20170226/gdb/ada-lang.c
  {
    if (valaddr == NULL)
      return NULL;
-@@ -710,7 +711,7 @@
+@@ -708,7 +709,7 @@
  }
  
  static CORE_ADDR
@@ -557,7 +557,7 @@ Index: gdb-7.12.50.20170226/gdb/ada-lang.c
  {
    if (address == 0)
      return 0;
-@@ -1757,7 +1758,7 @@
+@@ -1755,7 +1756,7 @@
  /* 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.12.50.20170226/gdb/ada-lang.c
  fat_pntr_bounds_bitpos (struct type *type)
  {
    return TYPE_FIELD_BITPOS (desc_base_type (type), 1);
-@@ -1823,7 +1824,7 @@
+@@ -1821,7 +1822,7 @@
  /* 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.12.50.20170226/gdb/ada-lang.c
  fat_pntr_data_bitpos (struct type *type)
  {
    return TYPE_FIELD_BITPOS (desc_base_type (type), 0);
-@@ -1858,7 +1859,7 @@
+@@ -1856,7 +1857,7 @@
     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.12.50.20170226/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);
-@@ -2048,7 +2049,7 @@
+@@ -2046,7 +2047,7 @@
  	         zero, and does not need to be recomputed.  */
  	      if (lo < hi)
  		{
@@ -593,7 +593,7 @@ Index: gdb-7.12.50.20170226/gdb/ada-lang.c
  		        (hi - lo + 1) * TYPE_FIELD_BITSIZE (elt_type, 0);
  
  		  TYPE_LENGTH (array_type) = (array_bitsize + 7) / 8;
-@@ -2208,7 +2209,7 @@
+@@ -2206,7 +2207,7 @@
     the length is arbitrary.  */
  
  static struct type *
@@ -602,7 +602,7 @@ Index: gdb-7.12.50.20170226/gdb/ada-lang.c
  {
    struct type *new_elt_type;
    struct type *new_type;
-@@ -2262,7 +2263,7 @@
+@@ -2260,7 +2261,7 @@
    char *name;
    const char *tail;
    struct type *shadow_type;
@@ -611,7 +611,7 @@ Index: gdb-7.12.50.20170226/gdb/ada-lang.c
  
    if (!raw_name)
      raw_name = ada_type_name (desc_base_type (type));
-@@ -2333,7 +2334,8 @@
+@@ -2331,7 +2332,8 @@
   	 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.12.50.20170226/gdb/ada-lang.c
        ULONGEST mod;
  
        mod = ada_modulus (value_type (arr)) - 1;
-@@ -2561,7 +2563,7 @@
+@@ -2559,7 +2561,7 @@
  
  struct value *
  ada_value_primitive_packed_val (struct value *obj, const gdb_byte *valaddr,
@@ -630,7 +630,7 @@ Index: gdb-7.12.50.20170226/gdb/ada-lang.c
                                  struct type *type)
  {
    struct value *v;
-@@ -2632,7 +2634,7 @@
+@@ -2630,7 +2632,7 @@
  
    if (obj != NULL)
      {
@@ -639,7 +639,7 @@ Index: gdb-7.12.50.20170226/gdb/ada-lang.c
  
        set_value_component_location (v, obj);
        set_value_bitpos (v, bit_offset + value_bitpos (obj));
-@@ -2678,7 +2680,7 @@
+@@ -2676,7 +2678,7 @@
     not overlap.  */
  static void
  move_bits (gdb_byte *target, int targ_offset, const gdb_byte *source,
@@ -648,7 +648,7 @@ Index: gdb-7.12.50.20170226/gdb/ada-lang.c
  {
    unsigned int accum, mask;
    int accum_bits, chunk_size;
-@@ -2768,7 +2770,7 @@
+@@ -2766,7 +2768,7 @@
      {
        int len = (value_bitpos (toval)
  		 + bits + HOST_CHAR_BIT - 1) / HOST_CHAR_BIT;
@@ -657,7 +657,7 @@ Index: gdb-7.12.50.20170226/gdb/ada-lang.c
        gdb_byte *buffer = (gdb_byte *) alloca (len);
        struct value *val;
        CORE_ADDR to_addr = value_address (toval);
-@@ -2819,7 +2821,7 @@
+@@ -2817,7 +2819,7 @@
      (LONGEST)  (value_address (component) - value_address (container));
    int bit_offset_in_container =
      value_bitpos (component) - value_bitpos (container);
@@ -666,7 +666,7 @@ Index: gdb-7.12.50.20170226/gdb/ada-lang.c
  
    val = value_cast (value_type (component), val);
  
-@@ -4470,7 +4472,7 @@
+@@ -4468,7 +4470,7 @@
    if (VALUE_LVAL (val) == not_lval
        || VALUE_LVAL (val) == lval_internalvar)
      {
@@ -675,7 +675,7 @@ Index: gdb-7.12.50.20170226/gdb/ada-lang.c
        const CORE_ADDR addr =
          value_as_long (value_allocate_space_in_inferior (len));
  
-@@ -4554,7 +4556,7 @@
+@@ -4552,7 +4554,7 @@
  value_pointer (struct value *value, struct type *type)
  {
    struct gdbarch *gdbarch = get_type_arch (type);
@@ -684,7 +684,7 @@ Index: gdb-7.12.50.20170226/gdb/ada-lang.c
    gdb_byte *buf = (gdb_byte *) alloca (len);
    CORE_ADDR addr;
  
-@@ -6754,7 +6756,7 @@
+@@ -6752,7 +6754,7 @@
  				     const gdb_byte *valaddr,
                                       CORE_ADDR address)
  {
@@ -693,7 +693,7 @@ Index: gdb-7.12.50.20170226/gdb/ada-lang.c
    struct type *tag_type;
  
    if (find_struct_field ("_tag", type, 0, &tag_type, &tag_byte_offset,
-@@ -7235,7 +7237,7 @@
+@@ -7233,7 +7235,7 @@
     only in that it can handle packed values of arbitrary type.  */
  
  static struct value *
@@ -702,7 +702,7 @@ Index: gdb-7.12.50.20170226/gdb/ada-lang.c
                             struct type *arg_type)
  {
    struct type *type;
-@@ -7247,7 +7249,7 @@
+@@ -7245,7 +7247,7 @@
  
    if (TYPE_FIELD_BITSIZE (arg_type, fieldno) != 0)
      {
@@ -711,7 +711,7 @@ Index: gdb-7.12.50.20170226/gdb/ada-lang.c
        int bit_size = TYPE_FIELD_BITSIZE (arg_type, fieldno);
  
        return ada_value_primitive_packed_val (arg1, value_contents (arg1),
-@@ -7274,9 +7276,9 @@
+@@ -7272,9 +7274,9 @@
     Returns 1 if found, 0 otherwise.  */
  
  static int
@@ -723,7 +723,7 @@ Index: gdb-7.12.50.20170226/gdb/ada-lang.c
  		   int *index_p)
  {
    int i;
-@@ -7294,8 +7296,8 @@
+@@ -7292,8 +7294,8 @@
  
    for (i = 0; i < TYPE_NFIELDS (type); i += 1)
      {
@@ -734,7 +734,7 @@ Index: gdb-7.12.50.20170226/gdb/ada-lang.c
        const char *t_field_name = TYPE_FIELD_NAME (type, i);
  
        if (t_field_name == NULL)
-@@ -7365,7 +7367,7 @@
+@@ -7363,7 +7365,7 @@
     Searches recursively through wrapper fields (e.g., '_parent').  */
  
  static struct value *
@@ -743,7 +743,7 @@ Index: gdb-7.12.50.20170226/gdb/ada-lang.c
                           struct type *type)
  {
    int i;
-@@ -7398,7 +7400,7 @@
+@@ -7396,7 +7398,7 @@
            int j;
            struct type *field_type = ada_check_typedef (TYPE_FIELD_TYPE (type,
  									i));
@@ -752,7 +752,7 @@ Index: gdb-7.12.50.20170226/gdb/ada-lang.c
  
            for (j = 0; j < TYPE_NFIELDS (field_type); j += 1)
              {
-@@ -7416,8 +7418,8 @@
+@@ -7414,8 +7416,8 @@
    return NULL;
  }
  
@@ -763,7 +763,7 @@ Index: gdb-7.12.50.20170226/gdb/ada-lang.c
  
  
  /* Return field #INDEX in ARG, where the index is that returned by
-@@ -7426,7 +7428,7 @@
+@@ -7424,7 +7426,7 @@
   * If found, return value, else return NULL.  */
  
  static struct value *
@@ -772,7 +772,7 @@ Index: gdb-7.12.50.20170226/gdb/ada-lang.c
  			struct type *type)
  {
    return ada_index_struct_field_1 (&index, arg, offset, type);
-@@ -7438,7 +7440,7 @@
+@@ -7436,7 +7438,7 @@
   * *INDEX_P.  */
  
  static struct value *
@@ -781,7 +781,7 @@ Index: gdb-7.12.50.20170226/gdb/ada-lang.c
  			  struct type *type)
  {
    int i;
-@@ -7528,7 +7530,8 @@
+@@ -7526,7 +7528,8 @@
      v = ada_search_struct_field (name, arg, 0, t);
    else
      {
@@ -791,7 +791,7 @@ Index: gdb-7.12.50.20170226/gdb/ada-lang.c
        struct type *field_type;
        CORE_ADDR address;
  
-@@ -7834,8 +7837,8 @@
+@@ -7832,8 +7835,8 @@
  /* Return OFF rounded upward if necessary to a multiple of
     ALIGNMENT (a power of 2).  */
  
@@ -802,7 +802,7 @@ Index: gdb-7.12.50.20170226/gdb/ada-lang.c
  {
    return (off + alignment - 1) & ~(alignment - 1);
  }
-@@ -8229,10 +8232,9 @@
+@@ -8227,10 +8230,9 @@
    struct value *mark = value_mark ();
    struct value *dval;
    struct type *rtype;
@@ -815,7 +815,7 @@ Index: gdb-7.12.50.20170226/gdb/ada-lang.c
    int f;
  
    /* Compute the number of fields in this record type that are going
-@@ -8310,7 +8312,7 @@
+@@ -8308,7 +8310,7 @@
  	     that follow this one.  */
  	  if (ada_is_aligner_type (field_type))
  	    {
@@ -824,7 +824,7 @@ Index: gdb-7.12.50.20170226/gdb/ada-lang.c
  
  	      field_valaddr = cond_offset_host (field_valaddr, field_offset);
  	      field_address = cond_offset_target (field_address, field_offset);
-@@ -8446,11 +8448,11 @@
+@@ -8444,11 +8446,11 @@
    if (TYPE_LENGTH (type) <= 0)
      {
        if (TYPE_NAME (rtype))
@@ -840,7 +840,7 @@ Index: gdb-7.12.50.20170226/gdb/ada-lang.c
      }
    else
      {
-@@ -8917,7 +8919,8 @@
+@@ -8915,7 +8917,8 @@
  	 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.  */
@@ -850,10 +850,10 @@ Index: gdb-7.12.50.20170226/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.12.50.20170226/gdb/ada-lang.h
+Index: gdb-7.99.90.20170420/gdb/ada-lang.h
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/ada-lang.h	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/ada-lang.h	2017-02-26 22:04:03.416609782 +0100
+--- gdb-7.99.90.20170420.orig/gdb/ada-lang.h	2017-04-20 23:08:54.143394676 +0200
++++ gdb-7.99.90.20170420/gdb/ada-lang.h	2017-04-20 23:08:56.967410590 +0200
 @@ -168,7 +168,7 @@
  extern void ada_print_typedef (struct type *type, struct symbol *new_symbol,
  			       struct ui_file *stream);
@@ -881,10 +881,10 @@ Index: gdb-7.12.50.20170226/gdb/ada-lang.h
                                                       struct type *);
  
  extern struct type *ada_coerce_to_simple_array_type (struct type *);
-Index: gdb-7.12.50.20170226/gdb/ada-typeprint.c
+Index: gdb-7.99.90.20170420/gdb/ada-typeprint.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/ada-typeprint.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/ada-typeprint.c	2017-02-26 22:04:03.416609782 +0100
+--- gdb-7.99.90.20170420.orig/gdb/ada-typeprint.c	2017-04-20 23:08:54.143394676 +0200
++++ gdb-7.99.90.20170420/gdb/ada-typeprint.c	2017-04-20 23:08:56.967410590 +0200
 @@ -891,8 +891,8 @@
  	    const char *name = ada_type_name (type);
  
@@ -906,10 +906,10 @@ Index: gdb-7.12.50.20170226/gdb/ada-typeprint.c
  	break;
        case TYPE_CODE_ENUM:
  	if (show < 0)
-Index: gdb-7.12.50.20170226/gdb/ada-valprint.c
+Index: gdb-7.99.90.20170420/gdb/ada-valprint.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/ada-valprint.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/ada-valprint.c	2017-02-26 22:04:03.417609789 +0100
+--- gdb-7.99.90.20170420.orig/gdb/ada-valprint.c	2017-04-20 23:08:54.144394682 +0200
++++ gdb-7.99.90.20170420/gdb/ada-valprint.c	2017-04-20 23:08:56.968410595 +0200
 @@ -33,11 +33,11 @@
  #include "objfiles.h"
  
@@ -1036,7 +1036,7 @@ Index: gdb-7.12.50.20170226/gdb/ada-valprint.c
  
        /* Look for a NULL char.  */
        for (temp_len = 0;
-@@ -1069,7 +1070,7 @@
+@@ -1072,7 +1073,7 @@
  
  static void
  ada_val_print_1 (struct type *type,
@@ -1045,7 +1045,7 @@ Index: gdb-7.12.50.20170226/gdb/ada-valprint.c
  		 struct ui_file *stream, int recurse,
  		 struct value *original_value,
  		 const struct value_print_options *options,
-@@ -1153,7 +1154,7 @@
+@@ -1156,7 +1157,7 @@
  
  void
  ada_val_print (struct type *type,
@@ -1054,10 +1054,10 @@ Index: gdb-7.12.50.20170226/gdb/ada-valprint.c
  	       struct ui_file *stream, int recurse,
  	       struct value *val,
  	       const struct value_print_options *options)
-Index: gdb-7.12.50.20170226/gdb/annotate.c
+Index: gdb-7.99.90.20170420/gdb/annotate.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/annotate.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/annotate.c	2017-02-26 22:04:03.417609789 +0100
+--- gdb-7.99.90.20170420.orig/gdb/annotate.c	2017-04-20 23:08:54.144394682 +0200
++++ gdb-7.99.90.20170420/gdb/annotate.c	2017-04-20 23:08:56.968410595 +0200
 @@ -533,21 +533,21 @@
  }
  \f
@@ -1084,10 +1084,10 @@ Index: gdb-7.12.50.20170226/gdb/annotate.c
  }
  
  void
-Index: gdb-7.12.50.20170226/gdb/annotate.h
+Index: gdb-7.99.90.20170420/gdb/annotate.h
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/annotate.h	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/annotate.h	2017-02-26 22:04:03.417609789 +0100
+--- gdb-7.99.90.20170420.orig/gdb/annotate.h	2017-04-20 23:08:54.145394688 +0200
++++ gdb-7.99.90.20170420/gdb/annotate.h	2017-04-20 23:08:56.968410595 +0200
 @@ -92,8 +92,8 @@
  extern void annotate_frame_where (void);
  extern void annotate_frame_end (void);
@@ -1099,10 +1099,10 @@ Index: gdb-7.12.50.20170226/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.12.50.20170226/gdb/arm-linux-nat.c
+Index: gdb-7.99.90.20170420/gdb/arm-linux-nat.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/arm-linux-nat.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/arm-linux-nat.c	2017-02-26 22:04:03.417609789 +0100
+--- gdb-7.99.90.20170420.orig/gdb/arm-linux-nat.c	2017-04-20 23:08:54.145394688 +0200
++++ gdb-7.99.90.20170420/gdb/arm-linux-nat.c	2017-04-20 23:08:56.969410601 +0200
 @@ -1065,7 +1065,7 @@
     ADDR?  */
  static int
@@ -1112,10 +1112,10 @@ Index: gdb-7.12.50.20170226/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.12.50.20170226/gdb/ax-gdb.c
+Index: gdb-7.99.90.20170420/gdb/ax-gdb.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/ax-gdb.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/ax-gdb.c	2017-02-26 22:04:03.418609796 +0100
+--- gdb-7.99.90.20170420.orig/gdb/ax-gdb.c	2017-04-20 23:08:54.146394694 +0200
++++ gdb-7.99.90.20170420/gdb/ax-gdb.c	2017-04-20 23:10:24.154901877 +0200
 @@ -83,12 +83,12 @@
  static void gen_sign_extend (struct agent_expr *, struct type *);
  static void gen_extend (struct agent_expr *, struct type *);
@@ -1131,7 +1131,7 @@ Index: gdb-7.12.50.20170226/gdb/ax-gdb.c
  static void gen_sym_offset (struct agent_expr *, struct symbol *);
  static void gen_var_ref (struct gdbarch *, struct agent_expr *ax,
  			 struct axs_value *value, struct symbol *var);
-@@ -136,15 +136,16 @@
+@@ -137,15 +137,15 @@
  static void gen_address_of (struct agent_expr *, struct axs_value *);
  static void gen_bitfield_ref (struct expression *exp, struct agent_expr *ax,
  			      struct axs_value *value,
@@ -1141,17 +1141,16 @@ Index: gdb-7.12.50.20170226/gdb/ax-gdb.c
  				 struct agent_expr *ax,
  				 struct axs_value *value,
 -				 int offset, int fieldno, struct type *type);
-+				 LONGEST offset, int fieldno,
-+				 struct type *type);
++				 LONGEST offset, int fieldno, struct type *type);
  static int gen_struct_ref_recursive (struct expression *exp,
  				     struct agent_expr *ax,
  				     struct axs_value *value,
--				     char *field, int offset,
-+				     char *field, LONGEST offset,
+-				     const char *field, int offset,
++				     const char *field, LONGEST offset,
  				     struct type *type);
  static void gen_struct_ref (struct expression *exp, struct agent_expr *ax,
  			    struct axs_value *value,
-@@ -538,7 +539,7 @@
+@@ -541,7 +541,7 @@
     right shift it by -DISTANCE bits if DISTANCE < 0.  This generates
     unsigned (logical) right shifts.  */
  static void
@@ -1160,7 +1159,7 @@ Index: gdb-7.12.50.20170226/gdb/ax-gdb.c
  {
    if (distance > 0)
      {
-@@ -592,7 +593,7 @@
+@@ -595,7 +595,7 @@
     programming in ML, it would be clearer why these are the same
     thing.  */
  static void
@@ -1169,7 +1168,7 @@ Index: gdb-7.12.50.20170226/gdb/ax-gdb.c
  {
    /* It would suffice to simply push the offset and add it, but this
       makes it easier to read positive and negative offsets in the
-@@ -1247,7 +1248,7 @@
+@@ -1251,7 +1251,7 @@
  static void
  gen_bitfield_ref (struct expression *exp, struct agent_expr *ax,
  		  struct axs_value *value, struct type *type,
@@ -1178,7 +1177,7 @@ Index: gdb-7.12.50.20170226/gdb/ax-gdb.c
  {
    /* Note that ops[i] fetches 8 << i bits.  */
    static enum agent_op ops[]
-@@ -1282,13 +1283,13 @@
+@@ -1286,13 +1286,13 @@
  
    /* The first and one-after-last bits in the field, but rounded down
       and up to byte boundaries.  */
@@ -1197,7 +1196,7 @@ Index: gdb-7.12.50.20170226/gdb/ax-gdb.c
  
    /* The index in ops of the opcode we're considering.  */
    int op;
-@@ -1407,7 +1408,7 @@
+@@ -1411,7 +1411,7 @@
  static void
  gen_primitive_field (struct expression *exp,
  		     struct agent_expr *ax, struct axs_value *value,
@@ -1206,19 +1205,19 @@ Index: gdb-7.12.50.20170226/gdb/ax-gdb.c
  {
    /* Is this a bitfield?  */
    if (TYPE_FIELD_PACKED (type, fieldno))
-@@ -1432,7 +1433,7 @@
+@@ -1436,7 +1436,7 @@
  static int
  gen_struct_ref_recursive (struct expression *exp, struct agent_expr *ax,
  			  struct axs_value *value,
--			  char *field, int offset, struct type *type)
-+			  char *field, LONGEST offset, struct type *type)
+-			  const char *field, int offset, struct type *type)
++			  const char *field, LONGEST offset, struct type *type)
  {
    int i, rslt;
    int nbases = TYPE_N_BASECLASSES (type);
-Index: gdb-7.12.50.20170226/gdb/ax-general.c
+Index: gdb-7.99.90.20170420/gdb/ax-general.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/ax-general.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/ax-general.c	2017-02-26 22:04:03.418609796 +0100
+--- gdb-7.99.90.20170420.orig/gdb/ax-general.c	2017-04-20 23:08:54.147394699 +0200
++++ gdb-7.99.90.20170420/gdb/ax-general.c	2017-04-20 23:08:56.970410606 +0200
 @@ -177,7 +177,7 @@
  
  /* Append a trace_quick instruction to EXPR, to record N bytes.  */
@@ -1228,10 +1227,10 @@ Index: gdb-7.12.50.20170226/gdb/ax-general.c
  {
    /* N must fit in a byte.  */
    if (n < 0 || n > 255)
-Index: gdb-7.12.50.20170226/gdb/ax.h
+Index: gdb-7.99.90.20170420/gdb/ax.h
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/ax.h	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/ax.h	2017-02-26 22:04:03.419609803 +0100
+--- gdb-7.99.90.20170420.orig/gdb/ax.h	2017-04-20 23:08:54.147394699 +0200
++++ gdb-7.99.90.20170420/gdb/ax.h	2017-04-20 23:08:56.970410606 +0200
 @@ -205,7 +205,7 @@
  extern void ax_zero_ext (struct agent_expr *EXPR, int N);
  
@@ -1241,11 +1240,11 @@ Index: gdb-7.12.50.20170226/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.12.50.20170226/gdb/breakpoint.c
+Index: gdb-7.99.90.20170420/gdb/breakpoint.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/breakpoint.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/breakpoint.c	2017-02-26 22:04:03.422609824 +0100
-@@ -2226,9 +2226,9 @@
+--- gdb-7.99.90.20170420.orig/gdb/breakpoint.c	2017-04-20 23:08:54.151394722 +0200
++++ gdb-7.99.90.20170420/gdb/breakpoint.c	2017-04-20 23:08:56.973410623 +0200
+@@ -2225,9 +2225,9 @@
  	{
  	  fprintf_unfiltered (gdb_stdlog,
  			      "infrun: stepping past non-steppable watchpoint. "
@@ -1257,7 +1256,7 @@ Index: gdb-7.12.50.20170226/gdb/breakpoint.c
  	}
        return 0;
      }
-@@ -7153,7 +7153,7 @@
+@@ -7151,7 +7151,7 @@
  
  static int
  breakpoint_address_match_range (struct address_space *aspace1, CORE_ADDR addr1,
@@ -1266,7 +1265,7 @@ Index: gdb-7.12.50.20170226/gdb/breakpoint.c
  				CORE_ADDR addr2)
  {
    return ((gdbarch_has_global_breakpoints (target_gdbarch ())
-@@ -11474,7 +11474,7 @@
+@@ -11444,7 +11444,7 @@
  		      && TYPE_CODE (vtype) != TYPE_CODE_ARRAY))
  		{
  		  CORE_ADDR vaddr = value_address (v);
@@ -1275,10 +1274,10 @@ Index: gdb-7.12.50.20170226/gdb/breakpoint.c
  		  int num_regs;
  
  		  len = (target_exact_watchpoints
-Index: gdb-7.12.50.20170226/gdb/breakpoint.h
+Index: gdb-7.99.90.20170420/gdb/breakpoint.h
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/breakpoint.h	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/breakpoint.h	2017-02-26 22:04:03.423609831 +0100
+--- gdb-7.99.90.20170420.orig/gdb/breakpoint.h	2017-04-20 23:08:54.152394727 +0200
++++ gdb-7.99.90.20170420/gdb/breakpoint.h	2017-04-20 23:08:56.974410629 +0200
 @@ -250,7 +250,7 @@
  
    /* If this is a ranged breakpoint, then this field contains the
@@ -1297,10 +1296,10 @@ Index: gdb-7.12.50.20170226/gdb/breakpoint.h
  
    /* Type of hardware watchpoint.  */
    enum target_hw_bp_type watchpoint_type;
-Index: gdb-7.12.50.20170226/gdb/c-lang.c
+Index: gdb-7.99.90.20170420/gdb/c-lang.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/c-lang.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/c-lang.c	2017-02-26 22:04:03.423609831 +0100
+--- gdb-7.99.90.20170420.orig/gdb/c-lang.c	2017-04-20 23:08:54.152394727 +0200
++++ gdb-7.99.90.20170420/gdb/c-lang.c	2017-04-20 23:08:56.974410629 +0200
 @@ -186,7 +186,7 @@
  
  void
@@ -1328,10 +1327,10 @@ Index: gdb-7.12.50.20170226/gdb/c-lang.c
  
  		if (get_discrete_bounds (TYPE_INDEX_TYPE (expect_type),
  					 &low_bound, &high_bound) < 0)
-Index: gdb-7.12.50.20170226/gdb/c-lang.h
+Index: gdb-7.99.90.20170420/gdb/c-lang.h
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/c-lang.h	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/c-lang.h	2017-02-26 22:04:03.423609831 +0100
+--- gdb-7.99.90.20170420.orig/gdb/c-lang.h	2017-04-20 23:08:54.152394727 +0200
++++ gdb-7.99.90.20170420/gdb/c-lang.h	2017-04-20 23:08:56.974410629 +0200
 @@ -77,7 +77,7 @@
  			     struct ui_file *);
  
@@ -1350,10 +1349,10 @@ Index: gdb-7.12.50.20170226/gdb/c-lang.h
  			const char *user_encoding,
  			int force_ellipses,
  			const struct value_print_options *options);
-Index: gdb-7.12.50.20170226/gdb/c-valprint.c
+Index: gdb-7.99.90.20170420/gdb/c-valprint.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/c-valprint.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/c-valprint.c	2017-02-26 22:04:03.424609838 +0100
+--- gdb-7.99.90.20170420.orig/gdb/c-valprint.c	2017-04-20 23:08:54.153394733 +0200
++++ gdb-7.99.90.20170420/gdb/c-valprint.c	2017-04-20 23:08:56.975410634 +0200
 @@ -244,7 +244,7 @@
    if (TYPE_LENGTH (type) > 0 && TYPE_LENGTH (unresolved_elttype) > 0)
      {
@@ -1392,10 +1391,10 @@ Index: gdb-7.12.50.20170226/gdb/c-valprint.c
  	     struct ui_file *stream, int recurse,
  	     struct value *original_value,
  	     const struct value_print_options *options)
-Index: gdb-7.12.50.20170226/gdb/cp-abi.c
+Index: gdb-7.99.90.20170420/gdb/cp-abi.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/cp-abi.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/cp-abi.c	2017-02-26 22:04:03.424609838 +0100
+--- gdb-7.99.90.20170420.orig/gdb/cp-abi.c	2017-04-20 23:08:54.153394733 +0200
++++ gdb-7.99.90.20170420/gdb/cp-abi.c	2017-04-20 23:08:56.975410634 +0200
 @@ -64,12 +64,12 @@
    return (*current_cp_abi.is_operator_name) (name);
  }
@@ -1420,10 +1419,10 @@ Index: gdb-7.12.50.20170226/gdb/cp-abi.c
  {
    if ((current_cp_abi.virtual_fn_field) == NULL)
      return NULL;
-Index: gdb-7.12.50.20170226/gdb/cp-abi.h
+Index: gdb-7.99.90.20170420/gdb/cp-abi.h
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/cp-abi.h	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/cp-abi.h	2017-02-26 22:04:03.424609838 +0100
+--- gdb-7.99.90.20170420.orig/gdb/cp-abi.h	2017-04-20 23:08:54.153394733 +0200
++++ gdb-7.99.90.20170420/gdb/cp-abi.h	2017-04-20 23:08:56.975410634 +0200
 @@ -108,7 +108,7 @@
  					     struct fn_field *f,
  					     int j,
@@ -1467,10 +1466,10 @@ Index: gdb-7.12.50.20170226/gdb/cp-abi.h
    void (*print_method_ptr) (const gdb_byte *contents,
  			    struct type *type,
  			    struct ui_file *stream);
-Index: gdb-7.12.50.20170226/gdb/cp-valprint.c
+Index: gdb-7.99.90.20170420/gdb/cp-valprint.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/cp-valprint.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/cp-valprint.c	2017-02-26 22:04:03.424609838 +0100
+--- gdb-7.99.90.20170420.orig/gdb/cp-valprint.c	2017-04-20 23:08:54.153394733 +0200
++++ gdb-7.99.90.20170420/gdb/cp-valprint.c	2017-04-20 23:08:56.975410634 +0200
 @@ -336,7 +336,7 @@
  		}
  	      else if (i == vptr_fieldno && type == vptr_basetype)
@@ -1480,10 +1479,10 @@ Index: gdb-7.12.50.20170226/gdb/cp-valprint.c
  		  struct type *i_type = TYPE_FIELD_TYPE (type, i);
  
  		  if (valprint_check_validity (stream, i_type, i_offset, val))
-Index: gdb-7.12.50.20170226/gdb/d-lang.h
+Index: gdb-7.99.90.20170420/gdb/d-lang.h
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/d-lang.h	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/d-lang.h	2017-02-26 22:04:03.424609838 +0100
+--- gdb-7.99.90.20170420.orig/gdb/d-lang.h	2017-04-20 23:08:54.153394733 +0200
++++ gdb-7.99.90.20170420/gdb/d-lang.h	2017-04-20 23:08:56.975410634 +0200
 @@ -81,7 +81,7 @@
  /* Defined in d-valprint.c  */
  
@@ -1493,10 +1492,10 @@ Index: gdb-7.12.50.20170226/gdb/d-lang.h
  			 struct ui_file *stream, int recurse,
  			 struct value *val,
  			 const struct value_print_options *options);
-Index: gdb-7.12.50.20170226/gdb/d-valprint.c
+Index: gdb-7.99.90.20170420/gdb/d-valprint.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/d-valprint.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/d-valprint.c	2017-02-26 22:04:03.424609838 +0100
+--- gdb-7.99.90.20170420.orig/gdb/d-valprint.c	2017-04-20 23:08:54.154394739 +0200
++++ gdb-7.99.90.20170420/gdb/d-valprint.c	2017-04-20 23:08:56.976410640 +0200
 @@ -73,7 +73,7 @@
  
  /* Implements the la_val_print routine for language D.  */
@@ -1506,11 +1505,11 @@ Index: gdb-7.12.50.20170226/gdb/d-valprint.c
               CORE_ADDR address, struct ui_file *stream, int recurse,
  	     struct value *val,
               const struct value_print_options *options)
-Index: gdb-7.12.50.20170226/gdb/dwarf2loc.c
+Index: gdb-7.99.90.20170420/gdb/dwarf2loc.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/dwarf2loc.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/dwarf2loc.c	2017-02-26 22:04:03.426609852 +0100
-@@ -1758,12 +1758,12 @@
+--- gdb-7.99.90.20170420.orig/gdb/dwarf2loc.c	2017-04-20 23:08:54.156394750 +0200
++++ gdb-7.99.90.20170420/gdb/dwarf2loc.c	2017-04-20 23:11:23.138266582 +0200
+@@ -1761,12 +1761,12 @@
  read_pieced_value (struct value *v)
  {
    int i;
@@ -1525,7 +1524,7 @@ Index: gdb-7.12.50.20170226/gdb/dwarf2loc.c
    size_t buffer_size = 0;
    std::vector<gdb_byte> buffer;
    int bits_big_endian
-@@ -1787,8 +1787,8 @@
+@@ -1790,8 +1790,8 @@
    for (i = 0; i < c->n_pieces && offset < type_len; i++)
      {
        struct dwarf_expr_piece *p = &c->pieces[i];
@@ -1536,7 +1535,7 @@ Index: gdb-7.12.50.20170226/gdb/dwarf2loc.c
        const gdb_byte *intermediate_buffer;
  
        /* Compute size, source, and destination offsets for copying, in
-@@ -1927,12 +1927,12 @@
+@@ -1930,12 +1930,12 @@
  write_pieced_value (struct value *to, struct value *from)
  {
    int i;
@@ -1551,7 +1550,7 @@ Index: gdb-7.12.50.20170226/gdb/dwarf2loc.c
    size_t buffer_size = 0;
    std::vector<gdb_byte> buffer;
    int bits_big_endian
-@@ -1951,8 +1951,8 @@
+@@ -1954,8 +1954,8 @@
    for (i = 0; i < c->n_pieces && offset < type_len; i++)
      {
        struct dwarf_expr_piece *p = &c->pieces[i];
@@ -1562,7 +1561,7 @@ Index: gdb-7.12.50.20170226/gdb/dwarf2loc.c
        int need_bitwise;
        const gdb_byte *source_buffer;
  
-@@ -2071,7 +2071,7 @@
+@@ -2074,7 +2074,7 @@
  
  static int
  check_pieced_synthetic_pointer (const struct value *value, LONGEST bit_offset,
@@ -1571,7 +1570,7 @@ Index: gdb-7.12.50.20170226/gdb/dwarf2loc.c
  {
    struct piece_closure *c
      = (struct piece_closure *) value_computed_closure (value);
-@@ -2084,7 +2084,7 @@
+@@ -2087,7 +2087,7 @@
    for (i = 0; i < c->n_pieces && bit_length > 0; i++)
      {
        struct dwarf_expr_piece *p = &c->pieces[i];
@@ -1580,7 +1579,7 @@ Index: gdb-7.12.50.20170226/gdb/dwarf2loc.c
  
        if (bit_offset > 0)
  	{
-@@ -2186,8 +2186,8 @@
+@@ -2195,8 +2195,8 @@
    struct type *type;
    struct frame_info *frame;
    struct dwarf2_locexpr_baton baton;
@@ -1591,7 +1590,7 @@ Index: gdb-7.12.50.20170226/gdb/dwarf2loc.c
    struct dwarf_expr_piece *piece = NULL;
    LONGEST byte_offset;
    enum bfd_endian byte_order;
-@@ -2204,7 +2204,7 @@
+@@ -2213,7 +2213,7 @@
    for (i = 0; i < c->n_pieces && bit_length > 0; i++)
      {
        struct dwarf_expr_piece *p = &c->pieces[i];
@@ -1600,20 +1599,24 @@ Index: gdb-7.12.50.20170226/gdb/dwarf2loc.c
  
        if (bit_offset > 0)
  	{
-@@ -2477,7 +2477,7 @@
+@@ -2504,9 +2504,9 @@
+ 	case DWARF_VALUE_STACK:
+ 	  {
  	    struct value *value = ctx.fetch (0);
- 	    gdb_byte *contents;
- 	    const gdb_byte *val_bytes;
 -	    size_t n = TYPE_LENGTH (value_type (value));
+-	    size_t len = TYPE_LENGTH (subobj_type);
+-	    size_t max = TYPE_LENGTH (type);
 +	    ULONGEST n = TYPE_LENGTH (value_type (value));
++	    ULONGEST len = TYPE_LENGTH (subobj_type);
++	    ULONGEST max = TYPE_LENGTH (type);
+ 	    struct gdbarch *objfile_gdbarch = get_objfile_arch (objfile);
  	    struct cleanup *cleanup;
  
- 	    if (byte_offset + TYPE_LENGTH (type) > n)
-Index: gdb-7.12.50.20170226/gdb/dwarf2read.c
+Index: gdb-7.99.90.20170420/gdb/dwarf2read.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/dwarf2read.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/dwarf2read.c	2017-02-26 22:04:03.431609888 +0100
-@@ -1969,12 +1969,12 @@
+--- gdb-7.99.90.20170420.orig/gdb/dwarf2read.c	2017-04-20 23:08:54.160394772 +0200
++++ gdb-7.99.90.20170420/gdb/dwarf2read.c	2017-04-20 23:08:56.981410668 +0200
+@@ -2064,12 +2064,12 @@
  }
  
  static void
@@ -1630,7 +1633,7 @@ Index: gdb-7.12.50.20170226/gdb/dwarf2read.c
  }
  
  static void
-@@ -12789,8 +12789,8 @@
+@@ -12863,8 +12863,8 @@
  	         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.  */
@@ -1641,10 +1644,10 @@ Index: gdb-7.12.50.20170226/gdb/dwarf2read.c
  
  	      attr = dwarf2_attr (die, DW_AT_byte_size, cu);
  	      if (attr)
-Index: gdb-7.12.50.20170226/gdb/eval.c
+Index: gdb-7.99.90.20170420/gdb/eval.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/eval.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/eval.c	2017-02-26 22:04:03.431609888 +0100
+--- gdb-7.99.90.20170420.orig/gdb/eval.c	2017-04-20 23:08:54.162394784 +0200
++++ gdb-7.99.90.20170420/gdb/eval.c	2017-04-20 23:08:56.982410674 +0200
 @@ -297,7 +297,8 @@
    while (--nargs >= 0)
      {
@@ -1697,10 +1700,10 @@ Index: gdb-7.12.50.20170226/gdb/eval.c
  	  LONGEST low_bound, high_bound, index;
  
  	  if (get_discrete_bounds (range_type, &low_bound, &high_bound) < 0)
-Index: gdb-7.12.50.20170226/gdb/f-lang.c
+Index: gdb-7.99.90.20170420/gdb/f-lang.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/f-lang.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/f-lang.c	2017-02-26 22:04:03.432609895 +0100
+--- gdb-7.99.90.20170420.orig/gdb/f-lang.c	2017-04-20 23:08:54.162394784 +0200
++++ gdb-7.99.90.20170420/gdb/f-lang.c	2017-04-20 23:08:56.982410674 +0200
 @@ -103,7 +103,7 @@
  
  static void
@@ -1710,10 +1713,10 @@ Index: gdb-7.12.50.20170226/gdb/f-lang.c
  	    const struct value_print_options *options)
  {
    const char *type_encoding = f_get_encoding (type);
-Index: gdb-7.12.50.20170226/gdb/f-lang.h
+Index: gdb-7.99.90.20170420/gdb/f-lang.h
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/f-lang.h	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/f-lang.h	2017-02-26 22:04:03.432609895 +0100
+--- gdb-7.99.90.20170420.orig/gdb/f-lang.h	2017-04-20 23:08:54.163394789 +0200
++++ gdb-7.99.90.20170420/gdb/f-lang.h	2017-04-20 23:08:56.982410674 +0200
 @@ -30,7 +30,7 @@
  extern void f_print_type (struct type *, const char *, struct ui_file *, int,
  			  int, const struct type_print_options *);
@@ -1723,10 +1726,10 @@ Index: gdb-7.12.50.20170226/gdb/f-lang.h
  			 struct ui_file *, int,
  			 struct value *,
  			 const struct value_print_options *);
-Index: gdb-7.12.50.20170226/gdb/f-valprint.c
+Index: gdb-7.99.90.20170420/gdb/f-valprint.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/f-valprint.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/f-valprint.c	2017-02-26 22:04:03.432609895 +0100
+--- gdb-7.99.90.20170420.orig/gdb/f-valprint.c	2017-04-20 23:08:54.163394789 +0200
++++ gdb-7.99.90.20170420/gdb/f-valprint.c	2017-04-20 23:08:56.982410674 +0200
 @@ -38,7 +38,7 @@
  static void info_common_command (char *, int);
  static void f77_get_dynamic_length_of_aggregate (struct type *);
@@ -1783,11 +1786,11 @@ Index: gdb-7.12.50.20170226/gdb/f-valprint.c
  	     CORE_ADDR address, struct ui_file *stream, int recurse,
  	     struct value *original_value,
  	     const struct value_print_options *options)
-Index: gdb-7.12.50.20170226/gdb/findvar.c
+Index: gdb-7.99.90.20170420/gdb/findvar.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/findvar.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/findvar.c	2017-02-26 22:04:03.432609895 +0100
-@@ -819,7 +819,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/findvar.c	2017-04-20 23:08:54.163394789 +0200
++++ gdb-7.99.90.20170420/gdb/findvar.c	2017-04-20 23:08:56.983410680 +0200
+@@ -817,7 +817,7 @@
  default_value_from_register (struct gdbarch *gdbarch, struct type *type,
                               int regnum, struct frame_id frame_id)
  {
@@ -1796,7 +1799,7 @@ Index: gdb-7.12.50.20170226/gdb/findvar.c
    struct value *value = allocate_value (type);
    struct frame_info *frame;
  
-@@ -863,7 +863,7 @@
+@@ -861,7 +861,7 @@
    LONGEST offset = 0;
    LONGEST reg_offset = value_offset (value);
    int regnum = VALUE_REGNUM (value);
@@ -1805,7 +1808,7 @@ Index: gdb-7.12.50.20170226/gdb/findvar.c
  
    gdb_assert (VALUE_LVAL (value) == lval_register);
  
-@@ -878,7 +878,7 @@
+@@ -876,7 +876,7 @@
    while (len > 0)
      {
        struct value *regval = get_frame_register_value (frame, regnum);
@@ -1814,11 +1817,11 @@ Index: gdb-7.12.50.20170226/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.12.50.20170226/gdb/frame.c
+Index: gdb-7.99.90.20170420/gdb/frame.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/frame.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/frame.c	2017-02-26 22:04:03.433609902 +0100
-@@ -1358,7 +1358,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/frame.c	2017-04-20 23:08:54.164394795 +0200
++++ gdb-7.99.90.20170420/gdb/frame.c	2017-04-20 23:08:56.983410680 +0200
+@@ -1375,7 +1375,7 @@
  
  int
  get_frame_register_bytes (struct frame_info *frame, int regnum,
@@ -1827,7 +1830,7 @@ Index: gdb-7.12.50.20170226/gdb/frame.c
  			  int *optimizedp, int *unavailablep)
  {
    struct gdbarch *gdbarch = get_frame_arch (frame);
-@@ -1387,7 +1387,7 @@
+@@ -1404,7 +1404,7 @@
      }
    if (len > maxsize)
      error (_("Bad debug information detected: "
@@ -1836,10 +1839,10 @@ Index: gdb-7.12.50.20170226/gdb/frame.c
  
    /* Copy the data.  */
    while (len > 0)
-Index: gdb-7.12.50.20170226/gdb/frame.h
+Index: gdb-7.99.90.20170420/gdb/frame.h
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/frame.h	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/frame.h	2017-02-26 22:04:03.433609902 +0100
+--- gdb-7.99.90.20170420.orig/gdb/frame.h	2017-04-20 23:08:54.164394795 +0200
++++ gdb-7.99.90.20170420/gdb/frame.h	2017-04-20 23:08:56.984410685 +0200
 @@ -600,7 +600,7 @@
     contents are optimized out or unavailable, set *OPTIMIZEDP,
     *UNAVAILABLEP accordingly.  */
@@ -1849,11 +1852,11 @@ Index: gdb-7.12.50.20170226/gdb/frame.h
  				     gdb_byte *myaddr,
  				     int *optimizedp, int *unavailablep);
  
-Index: gdb-7.12.50.20170226/gdb/gdbtypes.c
+Index: gdb-7.99.90.20170420/gdb/gdbtypes.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/gdbtypes.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/gdbtypes.c	2017-02-26 22:04:03.434609909 +0100
-@@ -2782,7 +2782,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/gdbtypes.c	2017-04-20 23:08:54.166394806 +0200
++++ gdb-7.99.90.20170420/gdb/gdbtypes.c	2017-04-20 23:08:56.985410691 +0200
+@@ -2808,7 +2808,7 @@
     least as long as OBJFILE.  */
  
  struct type *
@@ -1862,7 +1865,7 @@ Index: gdb-7.12.50.20170226/gdb/gdbtypes.c
  	   const char *name)
  {
    struct type *type;
-@@ -3091,8 +3091,8 @@
+@@ -3117,8 +3117,8 @@
  
  static int
  is_unique_ancestor_worker (struct type *base, struct type *dclass,
@@ -1873,7 +1876,7 @@ Index: gdb-7.12.50.20170226/gdb/gdbtypes.c
  			   CORE_ADDR address, struct value *val)
  {
    int i, count = 0;
-@@ -3103,7 +3103,7 @@
+@@ -3129,7 +3129,7 @@
    for (i = 0; i < TYPE_N_BASECLASSES (dclass) && count < 2; ++i)
      {
        struct type *iter;
@@ -1882,7 +1885,7 @@ Index: gdb-7.12.50.20170226/gdb/gdbtypes.c
  
        iter = check_typedef (TYPE_BASECLASS (dclass, i));
  
-@@ -3144,7 +3144,7 @@
+@@ -3170,7 +3170,7 @@
  int
  is_unique_ancestor (struct type *base, struct value *val)
  {
@@ -1891,7 +1894,7 @@ Index: gdb-7.12.50.20170226/gdb/gdbtypes.c
  
    return is_unique_ancestor_worker (base, value_type (val), &offset,
  				    value_contents_for_printing (val),
-@@ -4332,7 +4332,7 @@
+@@ -4409,7 +4409,7 @@
        break;
      }
    puts_filtered ("\n");
@@ -1900,7 +1903,7 @@ Index: gdb-7.12.50.20170226/gdb/gdbtypes.c
    if (TYPE_OBJFILE_OWNED (type))
      {
        printfi_filtered (spaces, "objfile ");
-@@ -4792,7 +4792,7 @@
+@@ -4869,7 +4869,7 @@
  
  struct type *
  arch_type (struct gdbarch *gdbarch,
@@ -1909,11 +1912,11 @@ Index: gdb-7.12.50.20170226/gdb/gdbtypes.c
  {
    struct type *type;
  
-Index: gdb-7.12.50.20170226/gdb/gdbtypes.h
+Index: gdb-7.99.90.20170420/gdb/gdbtypes.h
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/gdbtypes.h	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/gdbtypes.h	2017-02-26 22:04:03.435609916 +0100
-@@ -782,7 +782,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/gdbtypes.h	2017-04-20 23:08:54.167394812 +0200
++++ gdb-7.99.90.20170420/gdb/gdbtypes.h	2017-04-20 23:08:56.985410691 +0200
+@@ -787,7 +787,7 @@
       type_length_units function should be used in order to get the length
       expressed in target addressable memory units.  */
  
@@ -1922,7 +1925,7 @@ Index: gdb-7.12.50.20170226/gdb/gdbtypes.h
  
    /* * Core type, shared by a group of qualified types.  */
  
-@@ -1658,7 +1658,7 @@
+@@ -1665,7 +1665,7 @@
  
  /* * Helper function to construct objfile-owned types.  */
  
@@ -1931,7 +1934,7 @@ Index: gdb-7.12.50.20170226/gdb/gdbtypes.h
  			       const char *);
  extern struct type *init_integer_type (struct objfile *, int, int,
  				       const char *);
-@@ -1675,7 +1675,7 @@
+@@ -1682,7 +1682,7 @@
  				       struct type *);
  
  /* Helper functions to construct architecture-owned types.  */
@@ -1940,10 +1943,10 @@ Index: gdb-7.12.50.20170226/gdb/gdbtypes.h
  			       const char *);
  extern struct type *arch_integer_type (struct gdbarch *, int, int,
  				       const char *);
-Index: gdb-7.12.50.20170226/gdb/gnu-v2-abi.c
+Index: gdb-7.99.90.20170420/gdb/gnu-v2-abi.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/gnu-v2-abi.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/gnu-v2-abi.c	2017-02-26 22:04:03.435609916 +0100
+--- gdb-7.99.90.20170420.orig/gdb/gnu-v2-abi.c	2017-04-20 23:08:54.167394812 +0200
++++ gdb-7.99.90.20170420/gdb/gnu-v2-abi.c	2017-04-20 23:08:56.985410691 +0200
 @@ -82,7 +82,7 @@
     TYPE is the type in which F is located.  */
  static struct value *
@@ -1981,11 +1984,11 @@ Index: gdb-7.12.50.20170226/gdb/gnu-v2-abi.c
  	    gnuv2_baseclass_offset (type, i, valaddr,
  				    embedded_offset, address, val);
  
-Index: gdb-7.12.50.20170226/gdb/gnu-v3-abi.c
+Index: gdb-7.99.90.20170420/gdb/gnu-v3-abi.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/gnu-v3-abi.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/gnu-v3-abi.c	2017-02-26 22:04:03.435609916 +0100
-@@ -108,7 +108,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/gnu-v3-abi.c	2017-04-20 23:08:54.168394817 +0200
++++ gdb-7.99.90.20170420/gdb/gnu-v3-abi.c	2017-04-20 23:08:56.986410697 +0200
+@@ -109,7 +109,7 @@
  {
    struct type *t;
    struct field *field_list, *field;
@@ -1994,7 +1997,7 @@ Index: gdb-7.12.50.20170226/gdb/gnu-v3-abi.c
  
    struct type *void_ptr_type
      = builtin_type (arch)->builtin_data_ptr;
-@@ -184,7 +184,7 @@
+@@ -185,7 +185,7 @@
  /* Return the offset from the start of the imaginary `struct
     gdb_gnu_v3_abi_vtable' object to the vtable's "address point"
     (i.e., where objects' virtual table pointers point).  */
@@ -2003,7 +2006,7 @@ Index: gdb-7.12.50.20170226/gdb/gnu-v3-abi.c
  vtable_address_point_offset (struct gdbarch *gdbarch)
  {
    struct type *vtable_type
-@@ -407,7 +407,7 @@
+@@ -408,7 +408,7 @@
  static struct value *
  gnuv3_virtual_fn_field (struct value **value_p,
                          struct fn_field *f, int j,
@@ -2012,7 +2015,7 @@ Index: gdb-7.12.50.20170226/gdb/gnu-v3-abi.c
  {
    struct type *values_type = check_typedef (value_type (*value_p));
    struct gdbarch *gdbarch;
-@@ -437,7 +437,7 @@
+@@ -438,7 +438,7 @@
  
     -1 is returned on error.  */
  
@@ -2021,7 +2024,7 @@ Index: gdb-7.12.50.20170226/gdb/gnu-v3-abi.c
  gnuv3_baseclass_offset (struct type *type, int index,
  			const bfd_byte *valaddr, LONGEST embedded_offset,
  			CORE_ADDR address, const struct value *val)
-@@ -446,7 +446,7 @@
+@@ -447,7 +447,7 @@
    struct type *ptr_type;
    struct value *vtable;
    struct value *vbase_array;
@@ -2030,7 +2033,7 @@ Index: gdb-7.12.50.20170226/gdb/gnu-v3-abi.c
  
    /* Determine architecture.  */
    gdbarch = get_type_arch (type);
-@@ -469,7 +469,7 @@
+@@ -470,7 +470,7 @@
    cur_base_offset = cur_base_offset + vtable_address_point_offset (gdbarch);
    if ((- cur_base_offset) % TYPE_LENGTH (ptr_type) != 0)
      error (_("Misaligned vbase offset."));
@@ -2039,7 +2042,7 @@ Index: gdb-7.12.50.20170226/gdb/gnu-v3-abi.c
  
    vtable = gnuv3_get_vtable (gdbarch, type, address + embedded_offset);
    gdb_assert (vtable != NULL);
-@@ -513,7 +513,7 @@
+@@ -514,7 +514,7 @@
       we're out of luck.  */
    for (i = 0; i < TYPE_N_BASECLASSES (domain); i++)
      {
@@ -2048,10 +2051,10 @@ Index: gdb-7.12.50.20170226/gdb/gnu-v3-abi.c
        struct type *basetype;
  
        if (BASETYPE_VIA_VIRTUAL (domain, i))
-Index: gdb-7.12.50.20170226/gdb/go-lang.h
+Index: gdb-7.99.90.20170420/gdb/go-lang.h
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/go-lang.h	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/go-lang.h	2017-02-26 22:04:03.436609923 +0100
+--- gdb-7.99.90.20170420.orig/gdb/go-lang.h	2017-04-20 23:08:54.168394817 +0200
++++ gdb-7.99.90.20170420/gdb/go-lang.h	2017-04-20 23:08:56.986410697 +0200
 @@ -85,7 +85,7 @@
  /* Defined in go-valprint.c.  */
  
@@ -2061,10 +2064,10 @@ Index: gdb-7.12.50.20170226/gdb/go-lang.h
  			  struct ui_file *stream, int recurse,
  			  struct value *val,
  			  const struct value_print_options *options);
-Index: gdb-7.12.50.20170226/gdb/go-valprint.c
+Index: gdb-7.99.90.20170420/gdb/go-valprint.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/go-valprint.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/go-valprint.c	2017-02-26 22:04:03.436609923 +0100
+--- gdb-7.99.90.20170420.orig/gdb/go-valprint.c	2017-04-20 23:08:54.168394817 +0200
++++ gdb-7.99.90.20170420/gdb/go-valprint.c	2017-04-20 23:08:56.986410697 +0200
 @@ -86,7 +86,7 @@
  /* Implements the la_val_print routine for language Go.  */
  
@@ -2074,11 +2077,11 @@ Index: gdb-7.12.50.20170226/gdb/go-valprint.c
  	      CORE_ADDR address, struct ui_file *stream, int recurse,
  	      struct value *val,
  	      const struct value_print_options *options)
-Index: gdb-7.12.50.20170226/gdb/language.c
+Index: gdb-7.99.90.20170420/gdb/language.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/language.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/language.c	2017-02-26 22:04:03.436609923 +0100
-@@ -754,7 +754,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/language.c	2017-04-20 23:08:54.168394817 +0200
++++ gdb-7.99.90.20170420/gdb/language.c	2017-04-20 23:08:56.986410697 +0200
+@@ -753,7 +753,7 @@
  
  static void
  unk_lang_printstr (struct ui_file *stream, struct type *type,
@@ -2087,7 +2090,7 @@ Index: gdb-7.12.50.20170226/gdb/language.c
  		   const char *encoding, int force_ellipses,
  		   const struct value_print_options *options)
  {
-@@ -773,7 +773,7 @@
+@@ -772,7 +772,7 @@
  
  static void
  unk_lang_val_print (struct type *type,
@@ -2096,10 +2099,10 @@ Index: gdb-7.12.50.20170226/gdb/language.c
  		    struct ui_file *stream, int recurse,
  		    struct value *val,
  		    const struct value_print_options *options)
-Index: gdb-7.12.50.20170226/gdb/language.h
+Index: gdb-7.99.90.20170420/gdb/language.h
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/language.h	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/language.h	2017-02-26 22:04:03.436609923 +0100
+--- gdb-7.99.90.20170420.orig/gdb/language.h	2017-04-20 23:08:54.169394823 +0200
++++ gdb-7.99.90.20170420/gdb/language.h	2017-04-20 23:08:56.986410697 +0200
 @@ -197,7 +197,7 @@
  			  struct ui_file * stream);
  
@@ -2118,10 +2121,10 @@ Index: gdb-7.12.50.20170226/gdb/language.h
  			  struct ui_file *stream, int recurse,
  			  struct value *val,
  			  const struct value_print_options *options);
-Index: gdb-7.12.50.20170226/gdb/m2-lang.c
+Index: gdb-7.99.90.20170420/gdb/m2-lang.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/m2-lang.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/m2-lang.c	2017-02-26 22:04:03.436609923 +0100
+--- gdb-7.99.90.20170420.orig/gdb/m2-lang.c	2017-04-20 23:08:54.169394823 +0200
++++ gdb-7.99.90.20170420/gdb/m2-lang.c	2017-04-20 23:08:56.987410702 +0200
 @@ -104,10 +104,10 @@
  
  static void
@@ -2156,10 +2159,10 @@ Index: gdb-7.12.50.20170226/gdb/m2-lang.c
  	  i = rep1 - 1;
  	  things_printed += options->repeat_count_threshold;
  	  need_comma = 1;
-Index: gdb-7.12.50.20170226/gdb/m2-lang.h
+Index: gdb-7.99.90.20170420/gdb/m2-lang.h
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/m2-lang.h	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/m2-lang.h	2017-02-26 22:04:03.437609930 +0100
+--- gdb-7.99.90.20170420.orig/gdb/m2-lang.h	2017-04-20 23:08:54.169394823 +0200
++++ gdb-7.99.90.20170420/gdb/m2-lang.h	2017-04-20 23:08:56.987410702 +0200
 @@ -34,7 +34,7 @@
  extern int m2_is_long_set (struct type *type);
  extern int m2_is_unbounded_array (struct type *type);
@@ -2169,10 +2172,10 @@ Index: gdb-7.12.50.20170226/gdb/m2-lang.h
  			  struct ui_file *, int,
  			  struct value *,
  			  const struct value_print_options *);
-Index: gdb-7.12.50.20170226/gdb/m2-typeprint.c
+Index: gdb-7.99.90.20170420/gdb/m2-typeprint.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/m2-typeprint.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/m2-typeprint.c	2017-02-26 22:04:03.437609930 +0100
+--- gdb-7.99.90.20170420.orig/gdb/m2-typeprint.c	2017-04-20 23:08:54.169394823 +0200
++++ gdb-7.99.90.20170420/gdb/m2-typeprint.c	2017-04-20 23:08:56.987410702 +0200
 @@ -234,9 +234,12 @@
  	  m2_print_bounds (TYPE_INDEX_TYPE (type), stream, show, -1, 1);
  	}
@@ -2189,10 +2192,10 @@ Index: gdb-7.12.50.20170226/gdb/m2-typeprint.c
      }
    fprintf_filtered (stream, "] OF ");
    m2_print_type (TYPE_TARGET_TYPE (type), "", stream, show, level, flags);
-Index: gdb-7.12.50.20170226/gdb/m2-valprint.c
+Index: gdb-7.99.90.20170420/gdb/m2-valprint.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/m2-valprint.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/m2-valprint.c	2017-02-26 22:04:03.437609930 +0100
+--- gdb-7.99.90.20170420.orig/gdb/m2-valprint.c	2017-04-20 23:08:54.170394829 +0200
++++ gdb-7.99.90.20170420/gdb/m2-valprint.c	2017-04-20 23:08:56.987410702 +0200
 @@ -35,7 +35,7 @@
  				   struct ui_file *stream);
  static void
@@ -2263,10 +2266,10 @@ Index: gdb-7.12.50.20170226/gdb/m2-valprint.c
  	  int need_comma = 0;
  
  	  fputs_filtered ("{", stream);
-Index: gdb-7.12.50.20170226/gdb/memrange.c
+Index: gdb-7.99.90.20170420/gdb/memrange.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/memrange.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/memrange.c	2017-02-26 22:04:03.437609930 +0100
+--- gdb-7.99.90.20170420.orig/gdb/memrange.c	2017-04-20 23:08:54.170394829 +0200
++++ gdb-7.99.90.20170420/gdb/memrange.c	2017-04-20 23:08:56.987410702 +0200
 @@ -22,8 +22,8 @@
  #include <algorithm>
  
@@ -2278,10 +2281,10 @@ Index: gdb-7.12.50.20170226/gdb/memrange.c
  {
    ULONGEST h, l;
  
-Index: gdb-7.12.50.20170226/gdb/memrange.h
+Index: gdb-7.99.90.20170420/gdb/memrange.h
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/memrange.h	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/memrange.h	2017-02-26 22:04:03.437609930 +0100
+--- gdb-7.99.90.20170420.orig/gdb/memrange.h	2017-04-20 23:08:54.170394829 +0200
++++ gdb-7.99.90.20170420/gdb/memrange.h	2017-04-20 23:08:56.987410702 +0200
 @@ -30,7 +30,7 @@
    CORE_ADDR start;
  
@@ -2302,11 +2305,11 @@ Index: gdb-7.12.50.20170226/gdb/memrange.h
  
  /* Returns true if ADDR is in RANGE.  */
  
-Index: gdb-7.12.50.20170226/gdb/mips-linux-nat.c
+Index: gdb-7.99.90.20170420/gdb/mips-linux-nat.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/mips-linux-nat.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/mips-linux-nat.c	2017-02-26 22:04:03.438609937 +0100
-@@ -587,7 +587,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/mips-linux-nat.c	2017-04-20 23:08:54.170394829 +0200
++++ gdb-7.99.90.20170420/gdb/mips-linux-nat.c	2017-04-20 23:08:56.988410708 +0200
+@@ -584,7 +584,7 @@
  
  static int
  mips_linux_region_ok_for_hw_watchpoint (struct target_ops *self,
@@ -2315,10 +2318,10 @@ Index: gdb-7.12.50.20170226/gdb/mips-linux-nat.c
  {
    struct pt_watch_regs dummy_regs;
    int i;
-Index: gdb-7.12.50.20170226/gdb/opencl-lang.c
+Index: gdb-7.99.90.20170420/gdb/opencl-lang.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/opencl-lang.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/opencl-lang.c	2017-02-26 22:04:03.438609937 +0100
+--- gdb-7.99.90.20170420.orig/gdb/opencl-lang.c	2017-04-20 23:08:54.171394834 +0200
++++ gdb-7.99.90.20170420/gdb/opencl-lang.c	2017-04-20 23:08:56.988410708 +0200
 @@ -78,11 +78,11 @@
  
  static struct type *
@@ -2387,10 +2390,10 @@ Index: gdb-7.12.50.20170226/gdb/opencl-lang.c
  
        if (!value_bits_synthetic_pointer (c->val,
  					 c->indices[i] * elsize + comp_offset,
-Index: gdb-7.12.50.20170226/gdb/p-lang.c
+Index: gdb-7.99.90.20170420/gdb/p-lang.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/p-lang.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/p-lang.c	2017-02-26 22:04:03.438609937 +0100
+--- gdb-7.99.90.20170420.orig/gdb/p-lang.c	2017-04-20 23:08:54.171394834 +0200
++++ gdb-7.99.90.20170420/gdb/p-lang.c	2017-04-20 23:08:56.988410708 +0200
 @@ -95,8 +95,8 @@
     are not multiple of TARGET_CHAR_BIT then the results are wrong
     but this does not happen for Free Pascal nor for GPC.  */
@@ -2438,10 +2441,10 @@ Index: gdb-7.12.50.20170226/gdb/p-lang.c
  	  i = rep1 - 1;
  	  things_printed += options->repeat_count_threshold;
  	  need_comma = 1;
-Index: gdb-7.12.50.20170226/gdb/p-lang.h
+Index: gdb-7.99.90.20170420/gdb/p-lang.h
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/p-lang.h	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/p-lang.h	2017-02-26 22:04:03.438609937 +0100
+--- gdb-7.99.90.20170420.orig/gdb/p-lang.h	2017-04-20 23:08:54.171394834 +0200
++++ gdb-7.99.90.20170420/gdb/p-lang.h	2017-04-20 23:08:56.988410708 +0200
 @@ -36,7 +36,7 @@
  extern void pascal_print_typedef (struct type *, struct symbol *,
  				  struct ui_file *);
@@ -2467,10 +2470,10 @@ Index: gdb-7.12.50.20170226/gdb/p-lang.h
  			     const struct value_print_options *);
  
  extern struct type **const (pascal_builtin_types[]);
-Index: gdb-7.12.50.20170226/gdb/p-valprint.c
+Index: gdb-7.99.90.20170420/gdb/p-valprint.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/p-valprint.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/p-valprint.c	2017-02-26 22:04:03.439609944 +0100
+--- gdb-7.99.90.20170420.orig/gdb/p-valprint.c	2017-04-20 23:08:54.171394834 +0200
++++ gdb-7.99.90.20170420/gdb/p-valprint.c	2017-04-20 23:08:56.989410713 +0200
 @@ -59,7 +59,7 @@
  
  void
@@ -2491,11 +2494,11 @@ Index: gdb-7.12.50.20170226/gdb/p-valprint.c
    struct type *char_type;
    CORE_ADDR addr;
    int want_space = 0;
-Index: gdb-7.12.50.20170226/gdb/ppc-linux-nat.c
+Index: gdb-7.99.90.20170420/gdb/ppc-linux-nat.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/ppc-linux-nat.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/ppc-linux-nat.c	2017-02-26 22:04:03.439609944 +0100
-@@ -1449,7 +1449,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/ppc-linux-nat.c	2017-04-20 23:08:54.172394840 +0200
++++ gdb-7.99.90.20170420/gdb/ppc-linux-nat.c	2017-04-20 23:08:56.989410713 +0200
+@@ -1445,7 +1445,7 @@
  
  static int
  ppc_linux_region_ok_for_hw_watchpoint (struct target_ops *self,
@@ -2504,10 +2507,10 @@ Index: gdb-7.12.50.20170226/gdb/ppc-linux-nat.c
  {
    /* Handle sub-8-byte quantities.  */
    if (len <= 0)
-Index: gdb-7.12.50.20170226/gdb/printcmd.c
+Index: gdb-7.99.90.20170420/gdb/printcmd.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/printcmd.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/printcmd.c	2017-02-26 22:04:03.440609951 +0100
+--- gdb-7.99.90.20170420.orig/gdb/printcmd.c	2017-04-20 23:08:54.173394846 +0200
++++ gdb-7.99.90.20170420/gdb/printcmd.c	2017-04-20 23:08:56.990410719 +0200
 @@ -280,7 +280,7 @@
  		 struct ui_file *stream)
  {
@@ -2526,11 +2529,11 @@ Index: gdb-7.12.50.20170226/gdb/printcmd.c
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
  
    /* String printing should go through val_print_scalar_formatted.  */
-Index: gdb-7.12.50.20170226/gdb/procfs.c
+Index: gdb-7.99.90.20170420/gdb/procfs.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/procfs.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/procfs.c	2017-02-26 22:04:03.441609958 +0100
-@@ -4862,7 +4862,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/procfs.c	2017-04-20 23:08:54.173394846 +0200
++++ gdb-7.99.90.20170420/gdb/procfs.c	2017-04-20 23:08:56.991410725 +0200
+@@ -4864,7 +4864,7 @@
  
  static int
  procfs_region_ok_for_hw_watchpoint (struct target_ops *self,
@@ -2539,11 +2542,11 @@ Index: gdb-7.12.50.20170226/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.12.50.20170226/gdb/regcache.c
+Index: gdb-7.99.90.20170420/gdb/regcache.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/regcache.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/regcache.c	2017-02-26 22:04:03.441609958 +0100
-@@ -980,7 +980,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/regcache.c	2017-04-20 23:08:54.174394851 +0200
++++ gdb-7.99.90.20170420/gdb/regcache.c	2017-04-20 23:08:56.991410725 +0200
+@@ -988,7 +988,7 @@
  
  static enum register_status
  regcache_xfer_part (struct regcache *regcache, int regnum,
@@ -2552,7 +2555,7 @@ Index: gdb-7.12.50.20170226/gdb/regcache.c
  		    enum register_status (*read) (struct regcache *regcache,
  						  int regnum,
  						  gdb_byte *buf),
-@@ -1025,7 +1025,7 @@
+@@ -1033,7 +1033,7 @@
  
  enum register_status
  regcache_raw_read_part (struct regcache *regcache, int regnum,
@@ -2561,7 +2564,7 @@ Index: gdb-7.12.50.20170226/gdb/regcache.c
  {
    struct regcache_descr *descr = regcache->descr;
  
-@@ -1036,7 +1036,7 @@
+@@ -1044,7 +1044,7 @@
  
  void
  regcache_raw_write_part (struct regcache *regcache, int regnum,
@@ -2570,7 +2573,7 @@ Index: gdb-7.12.50.20170226/gdb/regcache.c
  {
    struct regcache_descr *descr = regcache->descr;
  
-@@ -1047,7 +1047,7 @@
+@@ -1055,7 +1055,7 @@
  
  enum register_status
  regcache_cooked_read_part (struct regcache *regcache, int regnum,
@@ -2579,7 +2582,7 @@ Index: gdb-7.12.50.20170226/gdb/regcache.c
  {
    struct regcache_descr *descr = regcache->descr;
  
-@@ -1058,7 +1058,7 @@
+@@ -1066,7 +1066,7 @@
  
  void
  regcache_cooked_write_part (struct regcache *regcache, int regnum,
@@ -2588,11 +2591,11 @@ Index: gdb-7.12.50.20170226/gdb/regcache.c
  {
    struct regcache_descr *descr = regcache->descr;
  
-Index: gdb-7.12.50.20170226/gdb/regcache.h
+Index: gdb-7.99.90.20170420/gdb/regcache.h
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/regcache.h	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/regcache.h	2017-02-26 22:04:03.441609958 +0100
-@@ -86,9 +86,9 @@
+--- gdb-7.99.90.20170420.orig/gdb/regcache.h	2017-04-20 23:08:54.174394851 +0200
++++ gdb-7.99.90.20170420/gdb/regcache.h	2017-04-20 23:08:56.991410725 +0200
+@@ -94,9 +94,9 @@
  
  extern enum register_status
    regcache_raw_read_part (struct regcache *regcache, int regnum,
@@ -2604,7 +2607,7 @@ Index: gdb-7.12.50.20170226/gdb/regcache.h
  
  void regcache_invalidate (struct regcache *regcache, int regnum);
  
-@@ -125,10 +125,11 @@
+@@ -133,10 +133,11 @@
     write style operations.  */
  
  enum register_status regcache_cooked_read_part (struct regcache *regcache,
@@ -2619,11 +2622,11 @@ Index: gdb-7.12.50.20170226/gdb/regcache.h
  
  /* Special routines to read/write the PC.  */
  
-Index: gdb-7.12.50.20170226/gdb/remote.c
+Index: gdb-7.99.90.20170420/gdb/remote.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/remote.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/remote.c	2017-02-26 22:04:03.444609979 +0100
-@@ -9920,7 +9920,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/remote.c	2017-04-20 23:08:54.177394868 +0200
++++ gdb-7.99.90.20170420/gdb/remote.c	2017-04-20 23:08:56.993410736 +0200
+@@ -9915,7 +9915,7 @@
  
  static int
  remote_region_ok_for_hw_watchpoint (struct target_ops *self,
@@ -2632,10 +2635,10 @@ Index: gdb-7.12.50.20170226/gdb/remote.c
  {
    if (remote_hw_watchpoint_length_limit == 0)
      return 0;
-Index: gdb-7.12.50.20170226/gdb/spu-multiarch.c
+Index: gdb-7.99.90.20170420/gdb/spu-multiarch.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/spu-multiarch.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/spu-multiarch.c	2017-02-26 22:04:03.444609979 +0100
+--- gdb-7.99.90.20170420.orig/gdb/spu-multiarch.c	2017-04-20 23:08:54.177394868 +0200
++++ gdb-7.99.90.20170420/gdb/spu-multiarch.c	2017-04-20 23:08:56.994410742 +0200
 @@ -127,7 +127,7 @@
  /* Override the to_region_ok_for_hw_watchpoint routine.  */
  static int
@@ -2645,10 +2648,10 @@ Index: gdb-7.12.50.20170226/gdb/spu-multiarch.c
  {
    struct target_ops *ops_beneath = find_target_beneath (self);
  
-Index: gdb-7.12.50.20170226/gdb/stack.c
+Index: gdb-7.99.90.20170420/gdb/stack.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/stack.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/stack.c	2017-02-26 22:04:03.445609987 +0100
+--- gdb-7.99.90.20170420.orig/gdb/stack.c	2017-04-20 23:08:54.178394874 +0200
++++ gdb-7.99.90.20170420/gdb/stack.c	2017-04-20 23:08:56.994410742 +0200
 @@ -189,7 +189,7 @@
     argument (not just the first nameless argument).  */
  
@@ -2687,10 +2690,10 @@ Index: gdb-7.12.50.20170226/gdb/stack.c
  
        if (highest_offset == -1)
  	start = gdbarch_frame_args_skip (get_frame_arch (frame));
-Index: gdb-7.12.50.20170226/gdb/symmisc.c
+Index: gdb-7.99.90.20170420/gdb/symmisc.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/symmisc.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/symmisc.c	2017-02-26 22:04:03.445609987 +0100
+--- gdb-7.99.90.20170420.orig/gdb/symmisc.c	2017-04-20 23:08:54.178394874 +0200
++++ gdb-7.99.90.20170420/gdb/symmisc.c	2017-04-20 23:08:56.994410742 +0200
 @@ -604,11 +604,11 @@
  
  	case LOC_CONST_BYTES:
@@ -2706,10 +2709,10 @@ Index: gdb-7.12.50.20170226/gdb/symmisc.c
  	    for (i = 0; i < TYPE_LENGTH (type); i++)
  	      fprintf_filtered (outfile, " %02x",
  				(unsigned) SYMBOL_VALUE_BYTES (symbol)[i]);
-Index: gdb-7.12.50.20170226/gdb/target.c
+Index: gdb-7.99.90.20170420/gdb/target.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/target.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/target.c	2017-02-26 22:04:03.446609994 +0100
+--- gdb-7.99.90.20170420.orig/gdb/target.c	2017-04-20 23:08:54.179394879 +0200
++++ gdb-7.99.90.20170420/gdb/target.c	2017-04-20 23:08:56.995410747 +0200
 @@ -57,7 +57,7 @@
  						 CORE_ADDR, CORE_ADDR, int);
  
@@ -2728,10 +2731,10 @@ Index: gdb-7.12.50.20170226/gdb/target.c
  {
    return (len <= gdbarch_ptr_bit (target_gdbarch ()) / TARGET_CHAR_BIT);
  }
-Index: gdb-7.12.50.20170226/gdb/target.h
+Index: gdb-7.99.90.20170420/gdb/target.h
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/target.h	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/target.h	2017-02-26 22:04:03.447610001 +0100
+--- gdb-7.99.90.20170420.orig/gdb/target.h	2017-04-20 23:08:54.180394885 +0200
++++ gdb-7.99.90.20170420/gdb/target.h	2017-04-20 23:08:56.996410753 +0200
 @@ -555,7 +555,7 @@
      /* Documentation of this routine is provided with the corresponding
         target_* macro.  */
@@ -2741,11 +2744,11 @@ Index: gdb-7.12.50.20170226/gdb/target.h
        TARGET_DEFAULT_FUNC (default_region_ok_for_hw_watchpoint);
  
      int (*to_can_accel_watchpoint_condition) (struct target_ops *,
-Index: gdb-7.12.50.20170226/gdb/tracepoint.c
+Index: gdb-7.99.90.20170420/gdb/tracepoint.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/tracepoint.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/tracepoint.c	2017-02-26 22:04:03.448610008 +0100
-@@ -908,10 +908,10 @@
+--- gdb-7.99.90.20170420.orig/gdb/tracepoint.c	2017-04-20 23:08:54.182394896 +0200
++++ gdb-7.99.90.20170420/gdb/tracepoint.c	2017-04-20 23:08:56.997410758 +0200
+@@ -904,10 +904,10 @@
  void
  collection_list::add_memrange (struct gdbarch *gdbarch,
  			       int type, bfd_signed_vma base,
@@ -2758,7 +2761,7 @@ Index: gdb-7.12.50.20170226/gdb/tracepoint.c
  
    /* type: memrange_absolute == memory, other n == basereg */
    /* base: addr if memory, offset if reg relative.  */
-@@ -931,7 +931,7 @@
+@@ -927,7 +927,7 @@
  				 CORE_ADDR scope,
  				 int trace_string)
  {
@@ -2767,7 +2770,7 @@ Index: gdb-7.12.50.20170226/gdb/tracepoint.c
    unsigned int reg;
    bfd_signed_vma offset;
    int treat_as_expr = 0;
-@@ -952,8 +952,8 @@
+@@ -948,8 +948,8 @@
        offset = SYMBOL_VALUE_ADDRESS (sym);
        if (info_verbose)
  	{
@@ -2778,7 +2781,7 @@ Index: gdb-7.12.50.20170226/gdb/tracepoint.c
  			   paddress (gdbarch, offset));
  	}
        /* A struct may be a C++ class with static fields, go to general
-@@ -985,9 +985,9 @@
+@@ -981,9 +981,9 @@
        offset = frame_offset + SYMBOL_VALUE (sym);
        if (info_verbose)
  	{
@@ -2790,7 +2793,7 @@ Index: gdb-7.12.50.20170226/gdb/tracepoint.c
  			   paddress (gdbarch, offset), reg);
  	}
        add_memrange (gdbarch, reg, offset, len);
-@@ -997,9 +997,9 @@
+@@ -993,9 +993,9 @@
        offset = 0;
        if (info_verbose)
  	{
@@ -2802,7 +2805,7 @@ Index: gdb-7.12.50.20170226/gdb/tracepoint.c
  			   paddress (gdbarch, offset), reg);
  	}
        add_memrange (gdbarch, reg, offset, len);
-@@ -1009,9 +1009,9 @@
+@@ -1005,9 +1005,9 @@
        offset = frame_offset + SYMBOL_VALUE (sym);
        if (info_verbose)
  	{
@@ -2814,7 +2817,7 @@ Index: gdb-7.12.50.20170226/gdb/tracepoint.c
  			   paddress (gdbarch, offset), reg);
  	}
        add_memrange (gdbarch, reg, offset, len);
-@@ -2583,7 +2583,8 @@
+@@ -2585,7 +2585,8 @@
    const char *symname;
    char *save_args = args;
    struct block_iterator iter;
@@ -2823,7 +2826,7 @@ Index: gdb-7.12.50.20170226/gdb/tracepoint.c
 +  LONGEST j;
    struct gdbarch *gdbarch;
    int regno;
-   struct event_location *location;
+ 
 @@ -2727,8 +2728,11 @@
  		}
  	    }
@@ -2838,10 +2841,10 @@ Index: gdb-7.12.50.20170226/gdb/tracepoint.c
  	}
        if (BLOCK_FUNCTION (block))
  	break;
-Index: gdb-7.12.50.20170226/gdb/valarith.c
+Index: gdb-7.99.90.20170420/gdb/valarith.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/valarith.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/valarith.c	2017-02-26 22:04:03.448610008 +0100
+--- gdb-7.99.90.20170420.orig/gdb/valarith.c	2017-04-20 23:08:54.182394896 +0200
++++ gdb-7.99.90.20170420/gdb/valarith.c	2017-04-20 23:08:56.997410758 +0200
 @@ -188,7 +188,7 @@
     to doubles, but no longer does.  */
  
@@ -2884,10 +2887,10 @@ Index: gdb-7.12.50.20170226/gdb/valarith.c
  
    for (i = 0; i < len; i++)
      {
-Index: gdb-7.12.50.20170226/gdb/valops.c
+Index: gdb-7.99.90.20170420/gdb/valops.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/valops.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/valops.c	2017-02-26 22:04:03.449610015 +0100
+--- gdb-7.99.90.20170420.orig/gdb/valops.c	2017-04-20 23:08:54.184394908 +0200
++++ gdb-7.99.90.20170420/gdb/valops.c	2017-04-20 23:08:56.998410764 +0200
 @@ -79,7 +79,7 @@
  					   int, int);
  
@@ -2906,7 +2909,7 @@ Index: gdb-7.12.50.20170226/gdb/valops.c
  {
    struct objfile *objf;
    struct value *val = find_function_in_inferior ("malloc", &objf);
-@@ -397,12 +397,12 @@
+@@ -393,12 +393,12 @@
    if (code1 == TYPE_CODE_ARRAY)
      {
        struct type *element_type = TYPE_TARGET_TYPE (type);
@@ -2921,7 +2924,7 @@ Index: gdb-7.12.50.20170226/gdb/valops.c
  	  LONGEST low_bound, high_bound, new_length;
  
  	  if (get_discrete_bounds (range_type, &low_bound, &high_bound) < 0)
-@@ -1063,7 +1063,7 @@
+@@ -1064,7 +1064,7 @@
        {
  	const gdb_byte *dest_buffer;
  	CORE_ADDR changed_addr;
@@ -2930,7 +2933,7 @@ Index: gdb-7.12.50.20170226/gdb/valops.c
          gdb_byte buffer[sizeof (LONGEST)];
  
  	if (value_bitsize (toval))
-@@ -3335,7 +3335,7 @@
+@@ -3339,7 +3339,7 @@
     the form "DOMAIN::NAME".  */
  
  static struct value *
@@ -2939,7 +2942,7 @@ Index: gdb-7.12.50.20170226/gdb/valops.c
  				struct type *curtype, const char *name,
  				struct type *intype, 
  				int want_address,
-@@ -3369,7 +3369,7 @@
+@@ -3373,7 +3373,7 @@
  	  if (want_address)
  	    return value_from_longest
  	      (lookup_memberptr_type (TYPE_FIELD_TYPE (t, i), domain),
@@ -2948,7 +2951,7 @@ Index: gdb-7.12.50.20170226/gdb/valops.c
  	  else if (noside != EVAL_NORMAL)
  	    return allocate_value (TYPE_FIELD_TYPE (t, i));
  	  else
-@@ -3537,7 +3537,7 @@
+@@ -3541,7 +3541,7 @@
    for (i = TYPE_N_BASECLASSES (t) - 1; i >= 0; i--)
      {
        struct value *v;
@@ -2957,7 +2960,7 @@ Index: gdb-7.12.50.20170226/gdb/valops.c
  
        if (BASETYPE_VIA_VIRTUAL (t, i))
  	base_offset = 0;
-@@ -3686,7 +3686,7 @@
+@@ -3690,7 +3690,7 @@
  struct value *
  value_full_object (struct value *argp, 
  		   struct type *rtype, 
@@ -2966,10 +2969,10 @@ Index: gdb-7.12.50.20170226/gdb/valops.c
  		   int xusing_enc)
  {
    struct type *real_type;
-Index: gdb-7.12.50.20170226/gdb/valprint.c
+Index: gdb-7.99.90.20170420/gdb/valprint.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/valprint.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/valprint.c	2017-02-26 22:04:03.450610022 +0100
+--- gdb-7.99.90.20170420.orig/gdb/valprint.c	2017-04-20 23:08:54.185394913 +0200
++++ gdb-7.99.90.20170420/gdb/valprint.c	2017-04-20 23:08:56.998410764 +0200
 @@ -933,7 +933,7 @@
  
  void
@@ -2979,7 +2982,7 @@ Index: gdb-7.12.50.20170226/gdb/valprint.c
  		   struct ui_file *stream, int recurse,
  		   struct value *original_value,
  		   const struct value_print_options *options,
-@@ -1869,7 +1869,7 @@
+@@ -1873,7 +1873,7 @@
  
  void
  print_hex_chars (struct ui_file *stream, const gdb_byte *valaddr,
@@ -2988,7 +2991,7 @@ Index: gdb-7.12.50.20170226/gdb/valprint.c
  {
    const gdb_byte *p;
  
-@@ -1991,17 +1991,17 @@
+@@ -1995,17 +1995,17 @@
  			  int recurse,
  			  struct value *val,
  			  const struct value_print_options *options,
@@ -3011,7 +3014,7 @@ Index: gdb-7.12.50.20170226/gdb/valprint.c
    LONGEST low_bound, high_bound;
    LONGEST low_pos, high_pos;
  
-@@ -2091,7 +2091,7 @@
+@@ -2095,7 +2095,7 @@
  		     address, stream, recurse + 1, val, options,
  		     current_language);
  	  annotate_elt_rep (reps);
@@ -3020,7 +3023,7 @@ Index: gdb-7.12.50.20170226/gdb/valprint.c
  	  annotate_elt_rep_end ();
  
  	  i = rep1 - 1;
-@@ -2743,7 +2743,7 @@
+@@ -2747,7 +2747,7 @@
  
  void
  generic_printstr (struct ui_file *stream, struct type *type, 
@@ -3029,10 +3032,10 @@ Index: gdb-7.12.50.20170226/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.12.50.20170226/gdb/valprint.h
+Index: gdb-7.99.90.20170420/gdb/valprint.h
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/valprint.h	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/valprint.h	2017-02-26 22:04:03.450610022 +0100
+--- gdb-7.99.90.20170420.orig/gdb/valprint.h	2017-04-20 23:08:54.186394919 +0200
++++ gdb-7.99.90.20170420/gdb/valprint.h	2017-04-20 23:08:56.998410764 +0200
 @@ -119,7 +119,7 @@
  				      CORE_ADDR, struct ui_file *, int,
  				      struct value *,
@@ -3069,10 +3072,10 @@ Index: gdb-7.12.50.20170226/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.12.50.20170226/gdb/value.c
+Index: gdb-7.99.90.20170420/gdb/value.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/value.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/value.c	2017-02-26 22:04:03.451610029 +0100
+--- gdb-7.99.90.20170420.orig/gdb/value.c	2017-04-20 23:08:54.187394924 +0200
++++ gdb-7.99.90.20170420/gdb/value.c	2017-04-20 23:08:56.999410770 +0200
 @@ -367,7 +367,8 @@
  }
  
@@ -3096,7 +3099,7 @@ Index: gdb-7.12.50.20170226/gdb/value.c
  {
    /* Each array element corresponds to a ranges source (unavailable,
       optimized out).  '1' is for VAL1, '2' for VAL2.  */
-@@ -1456,7 +1457,8 @@
+@@ -1455,7 +1456,8 @@
     the following LENGTH bytes.  */
  
  void
@@ -3106,10 +3109,10 @@ Index: gdb-7.12.50.20170226/gdb/value.c
  {
    mark_value_bits_optimized_out (value,
  				 offset * TARGET_CHAR_BIT,
-Index: gdb-7.12.50.20170226/gdb/value.h
+Index: gdb-7.99.90.20170420/gdb/value.h
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/value.h	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/value.h	2017-02-26 22:04:03.451610029 +0100
+--- gdb-7.99.90.20170420.orig/gdb/value.h	2017-04-20 23:08:54.187394924 +0200
++++ gdb-7.99.90.20170420/gdb/value.h	2017-04-20 23:08:56.999410770 +0200
 @@ -246,7 +246,7 @@
    /* If non-NULL, this is used to determine whether the indicated bits
       of VALUE are a synthetic pointer.  */
@@ -3166,11 +3169,11 @@ Index: gdb-7.12.50.20170226/gdb/value.h
  
  /* User function handler.  */
  
-Index: gdb-7.12.50.20170226/gdb/s390-linux-nat.c
+Index: gdb-7.99.90.20170420/gdb/s390-linux-nat.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/s390-linux-nat.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/s390-linux-nat.c	2017-02-26 22:04:03.451610029 +0100
-@@ -899,7 +899,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/s390-linux-nat.c	2017-04-20 23:08:54.188394930 +0200
++++ gdb-7.99.90.20170420/gdb/s390-linux-nat.c	2017-04-20 23:08:57.000410775 +0200
+@@ -900,7 +900,7 @@
  
  static int
  s390_region_ok_for_hw_watchpoint (struct target_ops *self,
@@ -3179,10 +3182,10 @@ Index: gdb-7.12.50.20170226/gdb/s390-linux-nat.c
  {
    return 1;
  }
-Index: gdb-7.12.50.20170226/gdb/target-delegates.c
+Index: gdb-7.99.90.20170420/gdb/target-delegates.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/target-delegates.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/target-delegates.c	2017-02-26 22:04:03.452610036 +0100
+--- gdb-7.99.90.20170420.orig/gdb/target-delegates.c	2017-04-20 23:08:54.189394936 +0200
++++ gdb-7.99.90.20170420/gdb/target-delegates.c	2017-04-20 23:08:57.000410775 +0200
 @@ -760,14 +760,14 @@
  }
  
@@ -3209,10 +3212,10 @@ Index: gdb-7.12.50.20170226/gdb/target-delegates.c
    fputs_unfiltered (") = ", gdb_stdlog);
    target_debug_print_int (result);
    fputs_unfiltered ("\n", gdb_stdlog);
-Index: gdb-7.12.50.20170226/gdb/aarch64-linux-nat.c
+Index: gdb-7.99.90.20170420/gdb/aarch64-linux-nat.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/aarch64-linux-nat.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/aarch64-linux-nat.c	2017-02-26 22:04:03.452610036 +0100
+--- gdb-7.99.90.20170420.orig/gdb/aarch64-linux-nat.c	2017-04-20 23:08:54.189394936 +0200
++++ gdb-7.99.90.20170420/gdb/aarch64-linux-nat.c	2017-04-20 23:08:57.001410781 +0200
 @@ -708,7 +708,7 @@
  
  static int
@@ -3222,10 +3225,10 @@ Index: gdb-7.12.50.20170226/gdb/aarch64-linux-nat.c
  {
    return aarch64_linux_region_ok_for_watchpoint (addr, len);
  }
-Index: gdb-7.12.50.20170226/gdb/nat/x86-dregs.c
+Index: gdb-7.99.90.20170420/gdb/nat/x86-dregs.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/nat/x86-dregs.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/nat/x86-dregs.c	2017-02-26 22:04:03.453610043 +0100
+--- gdb-7.99.90.20170420.orig/gdb/nat/x86-dregs.c	2017-04-20 23:08:54.189394936 +0200
++++ gdb-7.99.90.20170420/gdb/nat/x86-dregs.c	2017-04-20 23:08:57.001410781 +0200
 @@ -384,7 +384,7 @@
  
  static int
@@ -3244,11 +3247,11 @@ Index: gdb-7.12.50.20170226/gdb/nat/x86-dregs.c
  {
    int nregs;
  
-Index: gdb-7.12.50.20170226/gdb/compile/compile-c-support.c
+Index: gdb-7.99.90.20170420/gdb/compile/compile-c-support.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/compile/compile-c-support.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/compile/compile-c-support.c	2017-02-26 22:04:03.453610043 +0100
-@@ -307,11 +307,11 @@
+--- gdb-7.99.90.20170420.orig/gdb/compile/compile-c-support.c	2017-04-20 23:08:54.189394936 +0200
++++ gdb-7.99.90.20170420/gdb/compile/compile-c-support.c	2017-04-20 23:08:57.001410781 +0200
+@@ -309,11 +309,11 @@
  
  	      default:
  		fprintf_unfiltered (stream,
@@ -3262,10 +3265,10 @@ Index: gdb-7.12.50.20170226/gdb/compile/compile-c-support.c
  	      }
  	    fputs_unfiltered (";\n", stream);
  
-Index: gdb-7.12.50.20170226/gdb/nat/x86-dregs.h
+Index: gdb-7.99.90.20170420/gdb/nat/x86-dregs.h
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/nat/x86-dregs.h	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/nat/x86-dregs.h	2017-02-26 22:04:03.453610043 +0100
+--- gdb-7.99.90.20170420.orig/gdb/nat/x86-dregs.h	2017-04-20 23:08:54.190394942 +0200
++++ gdb-7.99.90.20170420/gdb/nat/x86-dregs.h	2017-04-20 23:08:57.001410781 +0200
 @@ -116,7 +116,7 @@
  /* Return non-zero if we can watch a memory region that starts at
     address ADDR and whose length is LEN bytes.  */
@@ -3275,10 +3278,10 @@ Index: gdb-7.12.50.20170226/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.12.50.20170226/gdb/x86-nat.c
+Index: gdb-7.99.90.20170420/gdb/x86-nat.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/x86-nat.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/x86-nat.c	2017-02-26 22:04:03.453610043 +0100
+--- gdb-7.99.90.20170420.orig/gdb/x86-nat.c	2017-04-20 23:08:54.190394942 +0200
++++ gdb-7.99.90.20170420/gdb/x86-nat.c	2017-04-20 23:08:57.001410781 +0200
 @@ -174,7 +174,7 @@
  
  static int
@@ -3288,10 +3291,10 @@ Index: gdb-7.12.50.20170226/gdb/x86-nat.c
  {
    struct x86_debug_reg_state *state
      = x86_debug_reg_state (ptid_get_pid (inferior_ptid));
-Index: gdb-7.12.50.20170226/gdb/rust-lang.c
+Index: gdb-7.99.90.20170420/gdb/rust-lang.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/rust-lang.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/rust-lang.c	2017-02-26 22:04:03.454610050 +0100
+--- gdb-7.99.90.20170420.orig/gdb/rust-lang.c	2017-04-20 23:08:54.190394942 +0200
++++ gdb-7.99.90.20170420/gdb/rust-lang.c	2017-04-20 23:08:57.002410787 +0200
 @@ -439,7 +439,7 @@
  
  static void
@@ -3310,10 +3313,10 @@ Index: gdb-7.12.50.20170226/gdb/rust-lang.c
  		CORE_ADDR address, struct ui_file *stream, int recurse,
  		struct value *val,
  		const struct value_print_options *options)
-Index: gdb-7.12.50.20170226/gdb/arch-utils.c
+Index: gdb-7.99.90.20170420/gdb/arch-utils.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/arch-utils.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/arch-utils.c	2017-02-26 22:04:03.454610050 +0100
+--- gdb-7.99.90.20170420.orig/gdb/arch-utils.c	2017-04-20 23:08:54.191394947 +0200
++++ gdb-7.99.90.20170420/gdb/arch-utils.c	2017-04-20 23:08:57.002410787 +0200
 @@ -247,7 +247,7 @@
  
  const struct floatformat **
@@ -3323,10 +3326,10 @@ Index: gdb-7.12.50.20170226/gdb/arch-utils.c
  {
    const struct floatformat **format = NULL;
  
-Index: gdb-7.12.50.20170226/gdb/arch-utils.h
+Index: gdb-7.99.90.20170420/gdb/arch-utils.h
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/arch-utils.h	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/arch-utils.h	2017-02-26 22:04:03.454610050 +0100
+--- gdb-7.99.90.20170420.orig/gdb/arch-utils.h	2017-04-20 23:08:54.191394947 +0200
++++ gdb-7.99.90.20170420/gdb/arch-utils.h	2017-04-20 23:08:57.002410787 +0200
 @@ -144,7 +144,7 @@
  /* Default implementation of gdbarch_floatformat_for_type.  */
  extern const struct floatformat **
@@ -3336,10 +3339,10 @@ Index: gdb-7.12.50.20170226/gdb/arch-utils.h
  
  extern CORE_ADDR generic_skip_trampoline_code (struct frame_info *frame,
  					       CORE_ADDR pc);
-Index: gdb-7.12.50.20170226/gdb/findcmd.c
+Index: gdb-7.99.90.20170420/gdb/findcmd.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/findcmd.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/findcmd.c	2017-02-26 22:04:03.454610050 +0100
+--- gdb-7.99.90.20170420.orig/gdb/findcmd.c	2017-04-20 23:08:54.191394947 +0200
++++ gdb-7.99.90.20170420/gdb/findcmd.c	2017-04-20 23:08:57.002410787 +0200
 @@ -180,7 +180,7 @@
  	 need to grow the pattern buf.  */
        pattern_buf_size_need = (pattern_buf_end - pattern_buf
@@ -3349,11 +3352,11 @@ Index: gdb-7.12.50.20170226/gdb/findcmd.c
        if (pattern_buf_size_need > pattern_buf_size)
  	{
  	  size_t current_offset = pattern_buf_end - pattern_buf;
-Index: gdb-7.12.50.20170226/gdb/gdbarch.c
+Index: gdb-7.99.90.20170420/gdb/gdbarch.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/gdbarch.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/gdbarch.c	2017-02-26 22:04:03.455610057 +0100
-@@ -1740,7 +1740,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/gdbarch.c	2017-04-20 23:08:54.192394953 +0200
++++ gdb-7.99.90.20170420/gdb/gdbarch.c	2017-04-20 23:08:57.003410792 +0200
+@@ -1806,7 +1806,7 @@
  }
  
  const struct floatformat **
@@ -3362,11 +3365,11 @@ Index: gdb-7.12.50.20170226/gdb/gdbarch.c
  {
    gdb_assert (gdbarch != NULL);
    gdb_assert (gdbarch->floatformat_for_type != NULL);
-Index: gdb-7.12.50.20170226/gdb/gdbarch.h
+Index: gdb-7.99.90.20170420/gdb/gdbarch.h
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/gdbarch.h	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/gdbarch.h	2017-02-26 22:04:03.456610064 +0100
-@@ -191,8 +191,8 @@
+--- gdb-7.99.90.20170420.orig/gdb/gdbarch.h	2017-04-20 23:08:54.192394953 +0200
++++ gdb-7.99.90.20170420/gdb/gdbarch.h	2017-04-20 23:08:57.004410798 +0200
+@@ -203,8 +203,8 @@
     NAME, if non-NULL, is the type name, which may be used to distinguish
     different target formats of the same length. */
  
@@ -3377,11 +3380,11 @@ Index: gdb-7.12.50.20170226/gdb/gdbarch.h
  extern void set_gdbarch_floatformat_for_type (struct gdbarch *gdbarch, gdbarch_floatformat_for_type_ftype *floatformat_for_type);
  
  /* For most targets, a pointer on the target and its representation as an
-Index: gdb-7.12.50.20170226/gdb/gdbarch.sh
+Index: gdb-7.99.90.20170420/gdb/gdbarch.sh
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/gdbarch.sh	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/gdbarch.sh	2017-02-26 22:04:03.456610064 +0100
-@@ -386,7 +386,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/gdbarch.sh	2017-04-20 23:08:54.193394958 +0200
++++ gdb-7.99.90.20170420/gdb/gdbarch.sh	2017-04-20 23:08:57.004410798 +0200
+@@ -392,7 +392,7 @@
  # Returns the floating-point format to be used for values of length LENGTH.
  # NAME, if non-NULL, is the type name, which may be used to distinguish
  # different target formats of the same length.
@@ -3390,11 +3393,11 @@ Index: gdb-7.12.50.20170226/gdb/gdbarch.sh
  
  # For most targets, a pointer on the target and its representation as an
  # address in GDB have the same size and "look the same".  For such a
-Index: gdb-7.12.50.20170226/gdb/i386-tdep.c
+Index: gdb-7.99.90.20170420/gdb/i386-tdep.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/i386-tdep.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/i386-tdep.c	2017-02-26 22:04:03.458610079 +0100
-@@ -8204,7 +8204,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/i386-tdep.c	2017-04-20 23:08:54.194394964 +0200
++++ gdb-7.99.90.20170420/gdb/i386-tdep.c	2017-04-20 23:08:57.005410804 +0200
+@@ -8180,7 +8180,7 @@
  
  const struct floatformat **
  i386_floatformat_for_type (struct gdbarch *gdbarch,
@@ -3403,10 +3406,10 @@ Index: gdb-7.12.50.20170226/gdb/i386-tdep.c
  {
    if (len == 128 && name)
      if (strcmp (name, "__float128") == 0
-Index: gdb-7.12.50.20170226/gdb/ppc-linux-tdep.c
+Index: gdb-7.99.90.20170420/gdb/ppc-linux-tdep.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/ppc-linux-tdep.c	2017-02-26 21:59:36.043719369 +0100
-+++ gdb-7.12.50.20170226/gdb/ppc-linux-tdep.c	2017-02-26 22:04:03.458610079 +0100
+--- gdb-7.99.90.20170420.orig/gdb/ppc-linux-tdep.c	2017-04-20 23:08:54.195394970 +0200
++++ gdb-7.99.90.20170420/gdb/ppc-linux-tdep.c	2017-04-20 23:08:57.006410809 +0200
 @@ -1632,7 +1632,7 @@
  
  const struct floatformat **
@@ -3416,10 +3419,10 @@ Index: gdb-7.12.50.20170226/gdb/ppc-linux-tdep.c
  {
    if (len == 128 && name)
      if (strcmp (name, "__float128") == 0
-Index: gdb-7.12.50.20170226/gdb/tracepoint.h
+Index: gdb-7.99.90.20170420/gdb/tracepoint.h
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/tracepoint.h	2017-02-26 22:05:14.775114309 +0100
-+++ gdb-7.12.50.20170226/gdb/tracepoint.h	2017-02-26 22:05:24.807185239 +0100
+--- gdb-7.99.90.20170420.orig/gdb/tracepoint.h	2017-04-20 23:08:54.195394970 +0200
++++ gdb-7.99.90.20170420/gdb/tracepoint.h	2017-04-20 23:08:57.006410809 +0200
 @@ -254,7 +254,7 @@
    void add_register (unsigned int regno);
    void add_memrange (struct gdbarch *gdbarch,

diff --git a/gdb-rhbz795424-bitpos-23of25.patch b/gdb-rhbz795424-bitpos-23of25.patch
index f0e4ff1..7b49612 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.12.50.20170309/gdb/alpha-tdep.c
+Index: gdb-7.99.90.20170420/gdb/alpha-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/alpha-tdep.c	2017-03-09 23:35:09.691541049 +0100
-+++ gdb-7.12.50.20170309/gdb/alpha-tdep.c	2017-03-09 23:35:14.414573943 +0100
+--- gdb-7.99.90.20170420.orig/gdb/alpha-tdep.c	2017-04-20 23:12:07.894566371 +0200
++++ gdb-7.99.90.20170420/gdb/alpha-tdep.c	2017-04-20 23:12:11.228588703 +0200
 @@ -300,17 +300,17 @@
  {
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
@@ -183,10 +183,10 @@ Index: gdb-7.12.50.20170309/gdb/alpha-tdep.c
  	      memcpy (arg_reg_buffer + offset, contents, tlen);
  	      offset += tlen;
  	      contents += tlen;
-Index: gdb-7.12.50.20170309/gdb/amd64-tdep.c
+Index: gdb-7.99.90.20170420/gdb/amd64-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/amd64-tdep.c	2017-03-09 23:35:09.693541062 +0100
-+++ gdb-7.12.50.20170309/gdb/amd64-tdep.c	2017-03-09 23:35:14.415573950 +0100
+--- gdb-7.99.90.20170420.orig/gdb/amd64-tdep.c	2017-04-20 23:12:07.897566391 +0200
++++ gdb-7.99.90.20170420/gdb/amd64-tdep.c	2017-04-20 23:12:11.229588710 +0200
 @@ -735,7 +735,7 @@
  		    gdb_byte *readbuf, const gdb_byte *writebuf)
  {
@@ -238,11 +238,11 @@ Index: gdb-7.12.50.20170309/gdb/amd64-tdep.c
  	      regcache_raw_write_part (regcache, regnum, offset, 8, buf);
  	    }
  	}
-Index: gdb-7.12.50.20170309/gdb/amd64-windows-tdep.c
+Index: gdb-7.99.90.20170420/gdb/amd64-windows-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/amd64-windows-tdep.c	2017-03-09 23:35:09.693541062 +0100
-+++ gdb-7.12.50.20170309/gdb/amd64-windows-tdep.c	2017-03-09 23:35:14.416573957 +0100
-@@ -289,7 +289,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/amd64-windows-tdep.c	2017-04-20 23:12:07.897566391 +0200
++++ gdb-7.99.90.20170420/gdb/amd64-windows-tdep.c	2017-04-20 23:12:11.230588717 +0200
+@@ -290,7 +290,7 @@
  			    struct type *type, struct regcache *regcache,
  			    gdb_byte *readbuf, const gdb_byte *writebuf)
  {
@@ -251,11 +251,11 @@ Index: gdb-7.12.50.20170309/gdb/amd64-windows-tdep.c
    int regnum = -1;
  
    /* See if our value is returned through a register.  If it is, then
-Index: gdb-7.12.50.20170309/gdb/arm-tdep.c
+Index: gdb-7.99.90.20170420/gdb/arm-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/arm-tdep.c	2017-03-09 23:35:09.698541097 +0100
-+++ gdb-7.12.50.20170309/gdb/arm-tdep.c	2017-03-09 23:35:14.419573978 +0100
-@@ -3487,7 +3487,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/arm-tdep.c	2017-04-20 23:12:07.905566445 +0200
++++ gdb-7.99.90.20170420/gdb/arm-tdep.c	2017-04-20 23:12:11.233588737 +0200
+@@ -3492,7 +3492,7 @@
     array).  Vector types are not currently supported, matching the
     generic AAPCS support.  */
  
@@ -264,7 +264,7 @@ Index: gdb-7.12.50.20170309/gdb/arm-tdep.c
  arm_vfp_cprc_sub_candidate (struct type *t,
  			    enum arm_vfp_cprc_base_type *base_type)
  {
-@@ -3570,7 +3570,7 @@
+@@ -3575,7 +3575,7 @@
  	  }
  	else
  	  {
@@ -273,7 +273,7 @@ Index: gdb-7.12.50.20170309/gdb/arm-tdep.c
  	    unsigned unitlen;
  
  	    count = arm_vfp_cprc_sub_candidate (TYPE_TARGET_TYPE (t),
-@@ -3593,12 +3593,12 @@
+@@ -3598,12 +3598,12 @@
  
      case TYPE_CODE_STRUCT:
        {
@@ -288,7 +288,7 @@ Index: gdb-7.12.50.20170309/gdb/arm-tdep.c
  
  	    if (!field_is_static (&TYPE_FIELD (t, i)))
  	      sub_count = arm_vfp_cprc_sub_candidate (TYPE_FIELD_TYPE (t, i),
-@@ -3622,13 +3622,15 @@
+@@ -3627,13 +3627,15 @@
  
      case TYPE_CODE_UNION:
        {
@@ -307,7 +307,7 @@ Index: gdb-7.12.50.20170309/gdb/arm-tdep.c
  	    if (sub_count == -1)
  	      return -1;
  	    count = (count > sub_count ? count : sub_count);
-@@ -3664,7 +3666,7 @@
+@@ -3669,7 +3671,7 @@
  			int *count)
  {
    enum arm_vfp_cprc_base_type b = VFP_CPRC_UNKNOWN;
@@ -316,7 +316,7 @@ Index: gdb-7.12.50.20170309/gdb/arm-tdep.c
    if (c <= 0 || c > 4)
      return 0;
    *base_type = b;
-@@ -3745,7 +3747,7 @@
+@@ -3750,7 +3752,7 @@
  
    for (argnum = 0; argnum < nargs; argnum++)
      {
@@ -325,10 +325,10 @@ Index: gdb-7.12.50.20170309/gdb/arm-tdep.c
        struct type *arg_type;
        struct type *target_type;
        enum type_code typecode;
-Index: gdb-7.12.50.20170309/gdb/avr-tdep.c
+Index: gdb-7.99.90.20170420/gdb/avr-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/avr-tdep.c	2017-03-09 23:35:09.700541111 +0100
-+++ gdb-7.12.50.20170309/gdb/avr-tdep.c	2017-03-09 23:35:14.419573978 +0100
+--- gdb-7.99.90.20170420.orig/gdb/avr-tdep.c	2017-04-20 23:12:07.907566458 +0200
++++ gdb-7.99.90.20170420/gdb/avr-tdep.c	2017-04-20 23:12:11.234588743 +0200
 @@ -1191,13 +1191,13 @@
  
  struct stack_item
@@ -361,11 +361,11 @@ Index: gdb-7.12.50.20170309/gdb/avr-tdep.c
  
        /* Calculate the potential last register needed.
           E.g. For length 2, registers regnum and regnum-1 (say 25 and 24)
-Index: gdb-7.12.50.20170309/gdb/bfin-tdep.c
+Index: gdb-7.99.90.20170420/gdb/bfin-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/bfin-tdep.c	2017-03-09 23:35:09.700541111 +0100
-+++ gdb-7.12.50.20170309/gdb/bfin-tdep.c	2017-03-09 23:35:14.420573985 +0100
-@@ -502,7 +502,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/bfin-tdep.c	2017-04-20 23:12:07.907566458 +0200
++++ gdb-7.99.90.20170420/gdb/bfin-tdep.c	2017-04-20 23:12:11.234588743 +0200
+@@ -504,7 +504,7 @@
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
    int i;
    long reg_r0, reg_r1, reg_r2;
@@ -374,7 +374,7 @@ Index: gdb-7.12.50.20170309/gdb/bfin-tdep.c
  
    for (i = nargs - 1; i >= 0; i--)
      {
-@@ -524,7 +524,7 @@
+@@ -526,7 +526,7 @@
      {
        struct type *value_type = value_enclosing_type (args[i]);
        struct type *arg_type = check_typedef (value_type);
@@ -383,10 +383,10 @@ Index: gdb-7.12.50.20170309/gdb/bfin-tdep.c
  
        sp -= container_len;
        write_memory (sp, value_contents (args[i]), container_len);
-Index: gdb-7.12.50.20170309/gdb/cris-tdep.c
+Index: gdb-7.99.90.20170420/gdb/cris-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/cris-tdep.c	2017-03-09 23:35:09.702541125 +0100
-+++ gdb-7.12.50.20170309/gdb/cris-tdep.c	2017-03-09 23:35:14.421573991 +0100
+--- gdb-7.99.90.20170420.orig/gdb/cris-tdep.c	2017-04-20 23:12:07.909566471 +0200
++++ gdb-7.99.90.20170420/gdb/cris-tdep.c	2017-04-20 23:12:11.235588750 +0200
 @@ -663,13 +663,13 @@
  
  struct stack_item
@@ -421,10 +421,10 @@ Index: gdb-7.12.50.20170309/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.12.50.20170309/gdb/h8300-tdep.c
+Index: gdb-7.99.90.20170420/gdb/h8300-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/h8300-tdep.c	2017-03-09 23:35:09.702541125 +0100
-+++ gdb-7.12.50.20170309/gdb/h8300-tdep.c	2017-03-09 23:35:14.421573991 +0100
+--- gdb-7.99.90.20170420.orig/gdb/h8300-tdep.c	2017-04-20 23:12:07.910566478 +0200
++++ gdb-7.99.90.20170420/gdb/h8300-tdep.c	2017-04-20 23:12:11.235588750 +0200
 @@ -637,7 +637,7 @@
  		       int struct_return, CORE_ADDR struct_addr)
  {
@@ -457,11 +457,11 @@ Index: gdb-7.12.50.20170309/gdb/h8300-tdep.c
  
  	      for (offset = 0; offset < padded_len; offset += wordsize)
  		{
-Index: gdb-7.12.50.20170309/gdb/hppa-tdep.c
+Index: gdb-7.99.90.20170420/gdb/hppa-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/hppa-tdep.c	2017-03-09 23:35:09.703541132 +0100
-+++ gdb-7.12.50.20170309/gdb/hppa-tdep.c	2017-03-09 23:35:14.422573999 +0100
-@@ -988,7 +988,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/hppa-tdep.c	2017-04-20 23:12:07.911566485 +0200
++++ gdb-7.99.90.20170420/gdb/hppa-tdep.c	2017-04-20 23:12:11.236588757 +0200
+@@ -989,7 +989,7 @@
      {
        struct value *arg = args[i];
        struct type *type = value_type (arg);
@@ -470,7 +470,7 @@ Index: gdb-7.12.50.20170309/gdb/hppa-tdep.c
        const bfd_byte *valbuf;
        bfd_byte fptrbuf[8];
        int regnum;
-@@ -1183,7 +1183,7 @@
+@@ -1184,7 +1184,7 @@
  		     struct type *type, struct regcache *regcache,
  		     gdb_byte *readbuf, const gdb_byte *writebuf)
  {
@@ -479,10 +479,10 @@ Index: gdb-7.12.50.20170309/gdb/hppa-tdep.c
    int regnum, offset;
  
    if (len > 16)
-Index: gdb-7.12.50.20170309/gdb/i386-darwin-tdep.c
+Index: gdb-7.99.90.20170420/gdb/i386-darwin-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/i386-darwin-tdep.c	2017-03-09 23:35:09.704541139 +0100
-+++ gdb-7.12.50.20170309/gdb/i386-darwin-tdep.c	2017-03-09 23:35:14.422573999 +0100
+--- gdb-7.99.90.20170420.orig/gdb/i386-darwin-tdep.c	2017-04-20 23:12:07.912566492 +0200
++++ gdb-7.99.90.20170420/gdb/i386-darwin-tdep.c	2017-04-20 23:12:11.237588763 +0200
 @@ -167,7 +167,7 @@
  
    for (write_pass = 0; write_pass < 2; write_pass++)
@@ -492,10 +492,10 @@ Index: gdb-7.12.50.20170309/gdb/i386-darwin-tdep.c
        int num_m128 = 0;
  
        if (struct_return)
-Index: gdb-7.12.50.20170309/gdb/i386-tdep.c
+Index: gdb-7.99.90.20170420/gdb/i386-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/i386-tdep.c	2017-03-09 23:35:09.707541160 +0100
-+++ gdb-7.12.50.20170309/gdb/i386-tdep.c	2017-03-09 23:35:37.494734688 +0100
+--- gdb-7.99.90.20170420.orig/gdb/i386-tdep.c	2017-04-20 23:12:07.917566525 +0200
++++ gdb-7.99.90.20170420/gdb/i386-tdep.c	2017-04-20 23:12:11.239588777 +0200
 @@ -2682,7 +2682,7 @@
    gdb_byte buf[4];
    int i;
@@ -559,10 +559,10 @@ Index: gdb-7.12.50.20170309/gdb/i386-tdep.c
  
    if (i386_fp_regnum_p (get_frame_arch (frame), regnum))
      {
-Index: gdb-7.12.50.20170309/gdb/iq2000-tdep.c
+Index: gdb-7.99.90.20170420/gdb/iq2000-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/iq2000-tdep.c	2017-03-09 23:35:09.708541167 +0100
-+++ gdb-7.12.50.20170309/gdb/iq2000-tdep.c	2017-03-09 23:35:14.425574019 +0100
+--- gdb-7.99.90.20170420.orig/gdb/iq2000-tdep.c	2017-04-20 23:12:07.918566532 +0200
++++ gdb-7.99.90.20170420/gdb/iq2000-tdep.c	2017-04-20 23:12:11.239588777 +0200
 @@ -651,8 +651,9 @@
    const bfd_byte *val;
    bfd_byte buf[4];
@@ -575,23 +575,23 @@ Index: gdb-7.12.50.20170309/gdb/iq2000-tdep.c
    /* Used to copy struct arguments into the stack.  */
    CORE_ADDR struct_ptr;
  
-Index: gdb-7.12.50.20170309/gdb/m32r-tdep.c
+Index: gdb-7.99.90.20170420/gdb/m32r-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/m32r-tdep.c	2017-03-09 23:35:09.708541167 +0100
-+++ gdb-7.12.50.20170309/gdb/m32r-tdep.c	2017-03-09 23:35:14.425574019 +0100
-@@ -678,7 +678,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/m32r-tdep.c	2017-04-20 23:12:11.239588777 +0200
++++ gdb-7.99.90.20170420/gdb/m32r-tdep.c	2017-04-20 23:12:30.385717023 +0200
+@@ -681,7 +681,7 @@
    CORE_ADDR regval;
    gdb_byte *val;
-   gdb_byte valbuf[MAX_REGISTER_SIZE];
+   gdb_byte valbuf[M32R_ARG_REGISTER_SIZE];
 -  int len;
 +  LONGEST len;
  
    /* First force sp to a 4-byte alignment.  */
    sp = sp & ~3;
-Index: gdb-7.12.50.20170309/gdb/m68k-tdep.c
+Index: gdb-7.99.90.20170420/gdb/m68k-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/m68k-tdep.c	2017-03-09 23:35:09.709541174 +0100
-+++ gdb-7.12.50.20170309/gdb/m68k-tdep.c	2017-03-09 23:35:14.425574019 +0100
+--- gdb-7.99.90.20170420.orig/gdb/m68k-tdep.c	2017-04-20 23:12:07.919566538 +0200
++++ gdb-7.99.90.20170420/gdb/m68k-tdep.c	2017-04-20 23:12:11.240588783 +0200
 @@ -377,7 +377,7 @@
  {
    struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
@@ -614,11 +614,11 @@ Index: gdb-7.12.50.20170309/gdb/m68k-tdep.c
  
        /* Non-scalars bigger than 4 bytes are left aligned, others are
  	 right aligned.  */
-Index: gdb-7.12.50.20170309/gdb/m88k-tdep.c
+Index: gdb-7.99.90.20170420/gdb/m88k-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/m88k-tdep.c	2017-03-09 23:35:09.709541174 +0100
-+++ gdb-7.12.50.20170309/gdb/m88k-tdep.c	2017-03-09 23:35:14.426574026 +0100
-@@ -253,13 +253,13 @@
+--- gdb-7.99.90.20170420.orig/gdb/m88k-tdep.c	2017-04-20 23:12:07.919566538 +0200
++++ gdb-7.99.90.20170420/gdb/m88k-tdep.c	2017-04-20 23:12:11.240588783 +0200
+@@ -254,13 +254,13 @@
  {
    struct gdbarch *gdbarch = get_regcache_arch (regcache);
    int num_register_words = 0;
@@ -634,7 +634,7 @@ Index: gdb-7.12.50.20170309/gdb/m88k-tdep.c
  
        if (m88k_integral_or_pointer_p (type) && len < 4)
  	{
-@@ -301,8 +301,8 @@
+@@ -302,8 +302,8 @@
      {
        const bfd_byte *valbuf = value_contents (args[i]);
        struct type *type = value_type (args[i]);
@@ -645,10 +645,10 @@ Index: gdb-7.12.50.20170309/gdb/m88k-tdep.c
  
        if (m88k_in_register_p (type))
  	{
-Index: gdb-7.12.50.20170309/gdb/mep-tdep.c
+Index: gdb-7.99.90.20170420/gdb/mep-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/mep-tdep.c	2017-03-09 23:35:09.710541181 +0100
-+++ gdb-7.12.50.20170309/gdb/mep-tdep.c	2017-03-09 23:35:14.426574026 +0100
+--- gdb-7.99.90.20170420.orig/gdb/mep-tdep.c	2017-04-20 23:12:07.920566545 +0200
++++ gdb-7.99.90.20170420/gdb/mep-tdep.c	2017-04-20 23:12:11.241588790 +0200
 @@ -2262,7 +2262,7 @@
  
    for (i = 0; i < argc; i++)
@@ -658,10 +658,10 @@ Index: gdb-7.12.50.20170309/gdb/mep-tdep.c
  
        if (arg_len > MEP_GPR_SIZE)
          {
-Index: gdb-7.12.50.20170309/gdb/mips-tdep.c
+Index: gdb-7.99.90.20170420/gdb/mips-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/mips-tdep.c	2017-03-09 23:35:09.714541209 +0100
-+++ gdb-7.12.50.20170309/gdb/mips-tdep.c	2017-03-09 23:35:14.428574040 +0100
+--- gdb-7.99.90.20170420.orig/gdb/mips-tdep.c	2017-04-20 23:12:07.928566599 +0200
++++ gdb-7.99.90.20170420/gdb/mips-tdep.c	2017-04-20 23:12:11.243588804 +0200
 @@ -474,7 +474,7 @@
  mips_xfer_register (struct gdbarch *gdbarch, struct regcache *regcache,
  		    int reg_num, int length,
@@ -807,11 +807,11 @@ Index: gdb-7.12.50.20170309/gdb/mips-tdep.c
  
        val = value_contents (arg);
  
-Index: gdb-7.12.50.20170309/gdb/mn10300-tdep.c
+Index: gdb-7.99.90.20170420/gdb/mn10300-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/mn10300-tdep.c	2017-03-09 23:35:09.715541216 +0100
-+++ gdb-7.12.50.20170309/gdb/mn10300-tdep.c	2017-03-09 23:35:14.429574047 +0100
-@@ -1219,7 +1219,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/mn10300-tdep.c	2017-04-20 23:12:07.929566605 +0200
++++ gdb-7.99.90.20170420/gdb/mn10300-tdep.c	2017-04-20 23:12:11.243588804 +0200
+@@ -1220,7 +1220,7 @@
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
    const int push_size = register_size (gdbarch, E_PC_REGNUM);
    int regs_used;
@@ -820,10 +820,10 @@ Index: gdb-7.12.50.20170309/gdb/mn10300-tdep.c
    int stack_offset = 0;
    int argnum;
    const gdb_byte *val;
-Index: gdb-7.12.50.20170309/gdb/mt-tdep.c
+Index: gdb-7.99.90.20170420/gdb/mt-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/mt-tdep.c	2017-03-09 23:35:09.716541223 +0100
-+++ gdb-7.12.50.20170309/gdb/mt-tdep.c	2017-03-09 23:35:14.429574047 +0100
+--- gdb-7.99.90.20170420.orig/gdb/mt-tdep.c	2017-04-20 23:12:07.930566612 +0200
++++ gdb-7.99.90.20170420/gdb/mt-tdep.c	2017-04-20 23:12:11.244588810 +0200
 @@ -788,9 +788,9 @@
    gdb_byte buf[MT_MAX_STRUCT_SIZE];
    int argreg = MT_1ST_ARGREG;
@@ -836,10 +836,10 @@ Index: gdb-7.12.50.20170309/gdb/mt-tdep.c
    int i, j;
  
    /* First handle however many args we can fit into MT_1ST_ARGREG thru
-Index: gdb-7.12.50.20170309/gdb/ppc-sysv-tdep.c
+Index: gdb-7.99.90.20170420/gdb/ppc-sysv-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/ppc-sysv-tdep.c	2017-03-09 23:35:09.717541230 +0100
-+++ gdb-7.12.50.20170309/gdb/ppc-sysv-tdep.c	2017-03-09 23:35:14.430574054 +0100
+--- gdb-7.99.90.20170420.orig/gdb/ppc-sysv-tdep.c	2017-04-20 23:12:07.931566619 +0200
++++ gdb-7.99.90.20170420/gdb/ppc-sysv-tdep.c	2017-04-20 23:12:11.245588817 +0200
 @@ -67,7 +67,7 @@
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
    int opencl_abi = ppc_sysv_use_opencl_abi (value_type (function));
@@ -884,10 +884,10 @@ Index: gdb-7.12.50.20170309/gdb/ppc-sysv-tdep.c
  
    /* Enforce alignment of stack location, if requested.  */
    if (align > tdep->wordsize)
-Index: gdb-7.12.50.20170309/gdb/rl78-tdep.c
+Index: gdb-7.99.90.20170420/gdb/rl78-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/rl78-tdep.c	2017-03-09 23:35:09.717541230 +0100
-+++ gdb-7.12.50.20170309/gdb/rl78-tdep.c	2017-03-09 23:35:14.430574054 +0100
+--- gdb-7.99.90.20170420.orig/gdb/rl78-tdep.c	2017-04-20 23:12:07.931566619 +0200
++++ gdb-7.99.90.20170420/gdb/rl78-tdep.c	2017-04-20 23:12:11.245588817 +0200
 @@ -1352,8 +1352,8 @@
    for (i = nargs - 1; i >= 0; i--)
      {
@@ -899,10 +899,10 @@ Index: gdb-7.12.50.20170309/gdb/rl78-tdep.c
  
        sp -= container_len;
        write_memory (rl78_make_data_address (sp),
-Index: gdb-7.12.50.20170309/gdb/rs6000-aix-tdep.c
+Index: gdb-7.99.90.20170420/gdb/rs6000-aix-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/rs6000-aix-tdep.c	2017-03-09 23:35:09.718541237 +0100
-+++ gdb-7.12.50.20170309/gdb/rs6000-aix-tdep.c	2017-03-09 23:35:14.430574054 +0100
+--- gdb-7.99.90.20170420.orig/gdb/rs6000-aix-tdep.c	2017-04-20 23:12:07.932566626 +0200
++++ gdb-7.99.90.20170420/gdb/rs6000-aix-tdep.c	2017-04-20 23:12:11.245588817 +0200
 @@ -186,9 +186,9 @@
    struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
@@ -924,11 +924,11 @@ Index: gdb-7.12.50.20170309/gdb/rs6000-aix-tdep.c
  
        if (argbytes)
  	{
-Index: gdb-7.12.50.20170309/gdb/s390-linux-tdep.c
+Index: gdb-7.99.90.20170420/gdb/s390-linux-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/s390-linux-tdep.c	2017-03-09 23:35:09.720541250 +0100
-+++ gdb-7.12.50.20170309/gdb/s390-linux-tdep.c	2017-03-09 23:35:14.432574068 +0100
-@@ -3128,7 +3128,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/s390-linux-tdep.c	2017-04-20 23:12:07.934566639 +0200
++++ gdb-7.99.90.20170420/gdb/s390-linux-tdep.c	2017-04-20 23:12:11.247588830 +0200
+@@ -3081,7 +3081,7 @@
  /* Determine whether N is a power of two.  */
  
  static int
@@ -937,7 +937,7 @@ Index: gdb-7.12.50.20170309/gdb/s390-linux-tdep.c
  {
    return n && ((n & (n - 1)) == 0);
  }
-@@ -3185,7 +3185,7 @@
+@@ -3138,7 +3138,7 @@
  		 enum bfd_endian byte_order, int is_unnamed)
  {
    struct type *type = check_typedef (value_type (arg));
@@ -946,10 +946,10 @@ Index: gdb-7.12.50.20170309/gdb/s390-linux-tdep.c
    int write_mode = as->regcache != NULL;
  
    if (s390_function_arg_float (type))
-Index: gdb-7.12.50.20170309/gdb/score-tdep.c
+Index: gdb-7.99.90.20170420/gdb/score-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/score-tdep.c	2017-03-09 23:35:09.721541258 +0100
-+++ gdb-7.12.50.20170309/gdb/score-tdep.c	2017-03-09 23:35:14.432574068 +0100
+--- gdb-7.99.90.20170420.orig/gdb/score-tdep.c	2017-04-20 23:12:07.935566646 +0200
++++ gdb-7.99.90.20170420/gdb/score-tdep.c	2017-04-20 23:12:11.248588837 +0200
 @@ -525,7 +525,7 @@
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
    int argnum;
@@ -959,10 +959,10 @@ Index: gdb-7.12.50.20170309/gdb/score-tdep.c
    CORE_ADDR stack_offset = 0;
    CORE_ADDR addr = 0;
  
-Index: gdb-7.12.50.20170309/gdb/sh-tdep.c
+Index: gdb-7.99.90.20170420/gdb/sh-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/sh-tdep.c	2017-03-09 23:35:09.721541258 +0100
-+++ gdb-7.12.50.20170309/gdb/sh-tdep.c	2017-03-09 23:35:14.433574075 +0100
+--- gdb-7.99.90.20170420.orig/gdb/sh-tdep.c	2017-04-20 23:12:07.936566652 +0200
++++ gdb-7.99.90.20170420/gdb/sh-tdep.c	2017-04-20 23:12:11.248588837 +0200
 @@ -814,7 +814,7 @@
  static int
  sh_use_struct_convention (int renesas_abi, struct type *type)
@@ -1001,10 +1001,10 @@ Index: gdb-7.12.50.20170309/gdb/sh-tdep.c
    int pass_on_stack = 0;
    int last_reg_arg = INT_MAX;
  
-Index: gdb-7.12.50.20170309/gdb/sh64-tdep.c
+Index: gdb-7.99.90.20170420/gdb/sh64-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/sh64-tdep.c	2017-03-09 23:35:09.722541264 +0100
-+++ gdb-7.12.50.20170309/gdb/sh64-tdep.c	2017-03-09 23:35:14.434574082 +0100
+--- gdb-7.99.90.20170420.orig/gdb/sh64-tdep.c	2017-04-20 23:12:07.937566659 +0200
++++ gdb-7.99.90.20170420/gdb/sh64-tdep.c	2017-04-20 23:12:11.249588844 +0200
 @@ -1062,7 +1062,7 @@
  		      CORE_ADDR struct_addr)
  {
@@ -1023,11 +1023,11 @@ Index: gdb-7.12.50.20170309/gdb/sh64-tdep.c
    int argreg_size;
    int fp_args[12];
  
-Index: gdb-7.12.50.20170309/gdb/sparc-tdep.c
+Index: gdb-7.99.90.20170420/gdb/sparc-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/sparc-tdep.c	2017-03-09 23:35:09.723541271 +0100
-+++ gdb-7.12.50.20170309/gdb/sparc-tdep.c	2017-03-09 23:35:14.434574082 +0100
-@@ -566,7 +566,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/sparc-tdep.c	2017-04-20 23:12:07.938566666 +0200
++++ gdb-7.99.90.20170420/gdb/sparc-tdep.c	2017-04-20 23:12:11.249588844 +0200
+@@ -567,7 +567,7 @@
    for (i = 0; i < nargs; i++)
      {
        struct type *type = value_type (args[i]);
@@ -1036,11 +1036,11 @@ Index: gdb-7.12.50.20170309/gdb/sparc-tdep.c
  
        if (sparc_structure_or_union_p (type)
  	  || (sparc_floating_p (type) && len == 16)
-Index: gdb-7.12.50.20170309/gdb/sparc64-tdep.c
+Index: gdb-7.99.90.20170420/gdb/sparc64-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/sparc64-tdep.c	2017-03-09 23:35:09.724541278 +0100
-+++ gdb-7.12.50.20170309/gdb/sparc64-tdep.c	2017-03-09 23:35:14.435574089 +0100
-@@ -670,7 +670,8 @@
+--- gdb-7.99.90.20170420.orig/gdb/sparc64-tdep.c	2017-04-20 23:12:07.939566672 +0200
++++ gdb-7.99.90.20170420/gdb/sparc64-tdep.c	2017-04-20 23:12:11.250588851 +0200
+@@ -696,7 +696,8 @@
  
  static void
  sparc64_store_floating_fields (struct regcache *regcache, struct type *type,
@@ -1050,7 +1050,7 @@ Index: gdb-7.12.50.20170309/gdb/sparc64-tdep.c
  {
    struct gdbarch *gdbarch = get_regcache_arch (regcache);
    int len = TYPE_LENGTH (type);
-@@ -714,7 +715,7 @@
+@@ -740,7 +741,7 @@
        for (i = 0; i < TYPE_NFIELDS (type); i++)
  	{
  	  struct type *subtype = check_typedef (TYPE_FIELD_TYPE (type, i));
@@ -1059,7 +1059,7 @@ Index: gdb-7.12.50.20170309/gdb/sparc64-tdep.c
  
  	  sparc64_store_floating_fields (regcache, subtype, valbuf,
  					 element, subpos);
-@@ -746,7 +747,7 @@
+@@ -772,7 +773,7 @@
  
  static void
  sparc64_extract_floating_fields (struct regcache *regcache, struct type *type,
@@ -1068,7 +1068,7 @@ Index: gdb-7.12.50.20170309/gdb/sparc64-tdep.c
  {
    struct gdbarch *gdbarch = get_regcache_arch (regcache);
  
-@@ -786,7 +787,7 @@
+@@ -812,7 +813,7 @@
        for (i = 0; i < TYPE_NFIELDS (type); i++)
  	{
  	  struct type *subtype = check_typedef (TYPE_FIELD_TYPE (type, i));
@@ -1077,7 +1077,7 @@ Index: gdb-7.12.50.20170309/gdb/sparc64-tdep.c
  
  	  sparc64_extract_floating_fields (regcache, subtype, valbuf, subpos);
  	}
-@@ -819,7 +820,7 @@
+@@ -845,7 +846,7 @@
    for (i = 0; i < nargs; i++)
      {
        struct type *type = value_type (args[i]);
@@ -1086,7 +1086,7 @@ Index: gdb-7.12.50.20170309/gdb/sparc64-tdep.c
  
        if (sparc64_structure_or_union_p (type)
  	  || (sparc64_complex_floating_p (type) && len == 32))
-@@ -919,7 +920,7 @@
+@@ -945,7 +946,7 @@
      {
        const gdb_byte *valbuf = value_contents (args[i]);
        struct type *type = value_type (args[i]);
@@ -1095,11 +1095,11 @@ Index: gdb-7.12.50.20170309/gdb/sparc64-tdep.c
        int regnum = -1;
        gdb_byte buf[16];
  
-Index: gdb-7.12.50.20170309/gdb/spu-tdep.c
+Index: gdb-7.99.90.20170420/gdb/spu-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/spu-tdep.c	2017-03-09 23:35:09.725541285 +0100
-+++ gdb-7.12.50.20170309/gdb/spu-tdep.c	2017-03-09 23:35:14.435574089 +0100
-@@ -1430,7 +1430,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/spu-tdep.c	2017-04-20 23:12:07.940566679 +0200
++++ gdb-7.99.90.20170420/gdb/spu-tdep.c	2017-04-20 23:12:11.251588857 +0200
+@@ -1431,7 +1431,7 @@
        struct value *arg = args[i];
        struct type *type = check_typedef (value_type (arg));
        const gdb_byte *contents = value_contents (arg);
@@ -1108,7 +1108,7 @@ Index: gdb-7.12.50.20170309/gdb/spu-tdep.c
  
        /* If the argument doesn't wholly fit into registers, it and
  	 all subsequent arguments go to the stack.  */
-@@ -1462,7 +1462,7 @@
+@@ -1463,7 +1463,7 @@
  	{
  	  struct value *arg = args[i];
  	  struct type *type = check_typedef (value_type (arg));
@@ -1117,10 +1117,10 @@ Index: gdb-7.12.50.20170309/gdb/spu-tdep.c
  	  int preferred_slot;
  	  
  	  if (spu_scalar_value_p (type))
-Index: gdb-7.12.50.20170309/gdb/tic6x-tdep.c
+Index: gdb-7.99.90.20170420/gdb/tic6x-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/tic6x-tdep.c	2017-03-09 23:35:09.725541285 +0100
-+++ gdb-7.12.50.20170309/gdb/tic6x-tdep.c	2017-03-09 23:35:14.436574096 +0100
+--- gdb-7.99.90.20170420.orig/gdb/tic6x-tdep.c	2017-04-20 23:12:07.940566679 +0200
++++ gdb-7.99.90.20170420/gdb/tic6x-tdep.c	2017-04-20 23:12:11.251588857 +0200
 @@ -899,7 +899,7 @@
    int argreg = 0;
    int argnum;
@@ -1158,10 +1158,10 @@ Index: gdb-7.12.50.20170309/gdb/tic6x-tdep.c
  
  	  addr = sp + stack_offset;
  	  write_memory (addr, val, len);
-Index: gdb-7.12.50.20170309/gdb/tilegx-tdep.c
+Index: gdb-7.99.90.20170420/gdb/tilegx-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/tilegx-tdep.c	2017-03-09 23:35:09.726541292 +0100
-+++ gdb-7.12.50.20170309/gdb/tilegx-tdep.c	2017-03-09 23:35:14.436574096 +0100
+--- gdb-7.99.90.20170420.orig/gdb/tilegx-tdep.c	2017-04-20 23:12:07.941566686 +0200
++++ gdb-7.99.90.20170420/gdb/tilegx-tdep.c	2017-04-20 23:12:11.251588857 +0200
 @@ -289,7 +289,7 @@
    CORE_ADDR stack_dest = sp;
    int argreg = TILEGX_R0_REGNUM;
@@ -1171,10 +1171,10 @@ Index: gdb-7.12.50.20170309/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.12.50.20170309/gdb/v850-tdep.c
+Index: gdb-7.99.90.20170420/gdb/v850-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/v850-tdep.c	2017-03-09 23:35:09.726541292 +0100
-+++ gdb-7.12.50.20170309/gdb/v850-tdep.c	2017-03-09 23:35:14.436574096 +0100
+--- gdb-7.99.90.20170420.orig/gdb/v850-tdep.c	2017-04-20 23:12:07.941566686 +0200
++++ gdb-7.99.90.20170420/gdb/v850-tdep.c	2017-04-20 23:12:11.252588864 +0200
 @@ -1019,7 +1019,7 @@
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
    int argreg;
@@ -1193,10 +1193,10 @@ Index: gdb-7.12.50.20170309/gdb/v850-tdep.c
        gdb_byte *val;
        gdb_byte valbuf[v850_reg_size];
  
-Index: gdb-7.12.50.20170309/gdb/vax-tdep.c
+Index: gdb-7.99.90.20170420/gdb/vax-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/vax-tdep.c	2017-03-09 23:35:09.727541299 +0100
-+++ gdb-7.12.50.20170309/gdb/vax-tdep.c	2017-03-09 23:35:14.437574103 +0100
+--- gdb-7.99.90.20170420.orig/gdb/vax-tdep.c	2017-04-20 23:12:07.942566692 +0200
++++ gdb-7.99.90.20170420/gdb/vax-tdep.c	2017-04-20 23:12:11.252588864 +0200
 @@ -111,7 +111,7 @@
    struct gdbarch *gdbarch = get_regcache_arch (regcache);
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
@@ -1215,10 +1215,10 @@ Index: gdb-7.12.50.20170309/gdb/vax-tdep.c
  
        sp -= (len + 3) & ~3;
        count += (len + 3) / 4;
-Index: gdb-7.12.50.20170309/gdb/xstormy16-tdep.c
+Index: gdb-7.99.90.20170420/gdb/xstormy16-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/xstormy16-tdep.c	2017-03-09 23:35:09.727541299 +0100
-+++ gdb-7.12.50.20170309/gdb/xstormy16-tdep.c	2017-03-09 23:35:14.437574103 +0100
+--- gdb-7.99.90.20170420.orig/gdb/xstormy16-tdep.c	2017-04-20 23:12:07.942566692 +0200
++++ gdb-7.99.90.20170420/gdb/xstormy16-tdep.c	2017-04-20 23:12:11.252588864 +0200
 @@ -233,8 +233,9 @@
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
    CORE_ADDR stack_dest = sp;
@@ -1231,11 +1231,11 @@ Index: gdb-7.12.50.20170309/gdb/xstormy16-tdep.c
    const gdb_byte *val;
    gdb_byte buf[xstormy16_pc_size];
  
-Index: gdb-7.12.50.20170309/gdb/xtensa-tdep.c
+Index: gdb-7.99.90.20170420/gdb/xtensa-tdep.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/xtensa-tdep.c	2017-03-09 23:35:09.728541306 +0100
-+++ gdb-7.12.50.20170309/gdb/xtensa-tdep.c	2017-03-09 23:35:14.438574110 +0100
-@@ -1639,8 +1639,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/xtensa-tdep.c	2017-04-20 23:12:07.944566706 +0200
++++ gdb-7.99.90.20170420/gdb/xtensa-tdep.c	2017-04-20 23:12:11.253588870 +0200
+@@ -1637,8 +1637,7 @@
  
        if (len > (callsize > 8 ? 8 : 16))
  	internal_error (__FILE__, __LINE__,
@@ -1245,7 +1245,7 @@ Index: gdb-7.12.50.20170309/gdb/xtensa-tdep.c
        areg = arreg_number (gdbarch,
  			   gdbarch_tdep (gdbarch)->a0_base + 2 + callsize, wb);
  
-@@ -1714,18 +1713,18 @@
+@@ -1712,18 +1711,18 @@
  {
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
    int i;
@@ -1267,7 +1267,7 @@ Index: gdb-7.12.50.20170309/gdb/xtensa-tdep.c
        int regno;		/* regno if in register.  */
      } u;
    };
-@@ -1749,9 +1748,10 @@
+@@ -1747,9 +1746,10 @@
          {
  	  struct value *arg = args[i];
  	  struct type *arg_type = check_typedef (value_type (arg));
@@ -1281,7 +1281,7 @@ Index: gdb-7.12.50.20170309/gdb/xtensa-tdep.c
  	  switch (TYPE_CODE (arg_type))
  	    {
  	    case TYPE_CODE_INT:
-@@ -1821,8 +1821,8 @@
+@@ -1819,8 +1819,8 @@
  	  info->align = TYPE_LENGTH (builtin_type (gdbarch)->builtin_long);
  	  break;
  	}
@@ -1291,7 +1291,7 @@ Index: gdb-7.12.50.20170309/gdb/xtensa-tdep.c
  
        /* Align size and onstack_size.  */
        size = (size + info->align - 1) & ~(info->align - 1);
-@@ -1867,7 +1867,7 @@
+@@ -1865,7 +1865,7 @@
  
        if (info->onstack)
  	{
@@ -1300,7 +1300,7 @@ Index: gdb-7.12.50.20170309/gdb/xtensa-tdep.c
  	  CORE_ADDR offset = sp + info->u.offset;
  
  	  /* Odd-sized structs are aligned to the lower side of a memory
-@@ -1883,7 +1883,7 @@
+@@ -1881,7 +1881,7 @@
  	}
        else
  	{

diff --git a/gdb-vla-intel-fortran-strides.patch b/gdb-vla-intel-fortran-strides.patch
index d94d462..82389e0 100644
--- a/gdb-vla-intel-fortran-strides.patch
+++ b/gdb-vla-intel-fortran-strides.patch
@@ -26,11 +26,11 @@ dbfd7140bf4c0500d1f5d192be781f83f78f7922
  gdb/value.h                                 |   2 +
  23 files changed, 1242 insertions(+), 183 deletions(-)
 
-Index: gdb-7.12.50.20170226/gdb/dwarf2loc.c
+Index: gdb-7.99.90.20170420/gdb/dwarf2loc.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/dwarf2loc.c	2017-03-01 22:37:44.046867423 +0100
-+++ gdb-7.12.50.20170226/gdb/dwarf2loc.c	2017-03-01 22:38:05.803017176 +0100
-@@ -2607,11 +2607,14 @@
+--- gdb-7.99.90.20170420.orig/gdb/dwarf2loc.c	2017-04-20 22:25:43.973254685 +0200
++++ gdb-7.99.90.20170420/gdb/dwarf2loc.c	2017-04-20 22:26:14.356446562 +0200
+@@ -2622,11 +2622,14 @@
  /* See dwarf2loc.h.  */
  
  int
@@ -47,7 +47,7 @@ Index: gdb-7.12.50.20170226/gdb/dwarf2loc.c
    if (prop == NULL)
      return 0;
  
-@@ -2635,7 +2638,7 @@
+@@ -2650,7 +2653,7 @@
  
  		*value = value_as_address (val);
  	      }
@@ -56,7 +56,7 @@ Index: gdb-7.12.50.20170226/gdb/dwarf2loc.c
  	  }
        }
        break;
-@@ -2657,7 +2660,7 @@
+@@ -2672,7 +2675,7 @@
  	    if (!value_optimized_out (val))
  	      {
  		*value = value_as_address (val);
@@ -65,7 +65,7 @@ Index: gdb-7.12.50.20170226/gdb/dwarf2loc.c
  	      }
  	  }
        }
-@@ -2665,8 +2668,8 @@
+@@ -2680,8 +2683,8 @@
  
      case PROP_CONST:
        *value = prop->data.const_val;
@@ -76,7 +76,7 @@ Index: gdb-7.12.50.20170226/gdb/dwarf2loc.c
      case PROP_ADDR_OFFSET:
        {
  	struct dwarf2_property_baton *baton
-@@ -2687,11 +2690,38 @@
+@@ -2702,11 +2705,38 @@
  	  val = value_at (baton->offset_info.type,
  			  pinfo->addr + baton->offset_info.offset);
  	*value = value_as_address (val);
@@ -117,11 +117,11 @@ Index: gdb-7.12.50.20170226/gdb/dwarf2loc.c
  }
  
  /* See dwarf2loc.h.  */
-Index: gdb-7.12.50.20170226/gdb/dwarf2loc.h
+Index: gdb-7.99.90.20170420/gdb/dwarf2loc.h
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/dwarf2loc.h	2017-03-01 22:37:44.046867423 +0100
-+++ gdb-7.12.50.20170226/gdb/dwarf2loc.h	2017-03-01 22:38:05.803017176 +0100
-@@ -140,6 +140,12 @@
+--- gdb-7.99.90.20170420.orig/gdb/dwarf2loc.h	2017-04-20 22:25:43.973254685 +0200
++++ gdb-7.99.90.20170420/gdb/dwarf2loc.h	2017-04-20 22:26:14.356446562 +0200
+@@ -143,6 +143,12 @@
  			      struct property_addr_info *addr_stack,
  			      CORE_ADDR *value);
  
@@ -134,11 +134,11 @@ Index: gdb-7.12.50.20170226/gdb/dwarf2loc.h
  /* A helper for the compiler interface that compiles a single dynamic
     property to C code.
  
-Index: gdb-7.12.50.20170226/gdb/dwarf2read.c
+Index: gdb-7.99.90.20170420/gdb/dwarf2read.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/dwarf2read.c	2017-03-01 22:37:44.046867423 +0100
-+++ gdb-7.12.50.20170226/gdb/dwarf2read.c	2017-03-01 22:38:05.807017204 +0100
-@@ -15178,7 +15178,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/dwarf2read.c	2017-04-20 22:25:43.973254685 +0200
++++ gdb-7.99.90.20170420/gdb/dwarf2read.c	2017-04-20 22:27:08.510788562 +0200
+@@ -15268,7 +15268,7 @@
    struct type *base_type, *orig_base_type;
    struct type *range_type;
    struct attribute *attr;
@@ -147,7 +147,7 @@ Index: gdb-7.12.50.20170226/gdb/dwarf2read.c
    int low_default_is_valid;
    int high_bound_is_count = 0;
    const char *name;
-@@ -15198,7 +15198,9 @@
+@@ -15288,7 +15288,9 @@
  
    low.kind = PROP_CONST;
    high.kind = PROP_CONST;
@@ -157,7 +157,7 @@ Index: gdb-7.12.50.20170226/gdb/dwarf2read.c
  
    /* Set LOW_DEFAULT_IS_VALID if current language and DWARF version allow
       omitting DW_AT_lower_bound.  */
-@@ -15231,6 +15233,13 @@
+@@ -15321,6 +15323,13 @@
        break;
      }
  
@@ -166,12 +166,12 @@ Index: gdb-7.12.50.20170226/gdb/dwarf2read.c
 +    if (!attr_to_dynamic_prop (attr, die, cu, &stride))
 +        complaint (&symfile_complaints, _("Missing DW_AT_byte_stride "
 +                  "- DIE at 0x%x [in module %s]"),
-+             die->offset.sect_off, objfile_name (cu->objfile));
++             to_underlying (die->sect_off), objfile_name (cu->objfile));
 +
    attr = dwarf2_attr (die, DW_AT_lower_bound, cu);
    if (attr)
      attr_to_dynamic_prop (attr, die, cu, &low);
-@@ -15307,7 +15316,7 @@
+@@ -15397,7 +15406,7 @@
        && !TYPE_UNSIGNED (base_type) && (high.data.const_val & negative_mask))
      high.data.const_val |= negative_mask;
  
@@ -180,10 +180,10 @@ Index: gdb-7.12.50.20170226/gdb/dwarf2read.c
  
    if (high_bound_is_count)
      TYPE_RANGE_DATA (range_type)->flag_upper_bound_is_count = 1;
-Index: gdb-7.12.50.20170226/gdb/eval.c
+Index: gdb-7.99.90.20170420/gdb/eval.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/eval.c	2017-03-01 22:37:44.046867423 +0100
-+++ gdb-7.12.50.20170226/gdb/eval.c	2017-03-01 22:38:05.808017211 +0100
+--- gdb-7.99.90.20170420.orig/gdb/eval.c	2017-04-20 22:25:43.973254685 +0200
++++ gdb-7.99.90.20170420/gdb/eval.c	2017-04-20 22:26:14.362446600 +0200
 @@ -379,29 +379,325 @@
    return index;
  }
@@ -608,10 +608,10 @@ Index: gdb-7.12.50.20170226/gdb/eval.c
    if ((TYPE_CODE (array_type) != TYPE_CODE_ARRAY))
      error (_("Can't get dimensions for a non-array type"));
  
-Index: gdb-7.12.50.20170226/gdb/expprint.c
+Index: gdb-7.99.90.20170420/gdb/expprint.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/expprint.c	2017-03-01 22:37:44.046867423 +0100
-+++ gdb-7.12.50.20170226/gdb/expprint.c	2017-03-01 22:38:05.809017218 +0100
+--- gdb-7.99.90.20170420.orig/gdb/expprint.c	2017-04-20 22:25:43.973254685 +0200
++++ gdb-7.99.90.20170420/gdb/expprint.c	2017-04-20 22:26:14.363446607 +0200
 @@ -568,12 +568,10 @@
  	*pos += 2;
  
@@ -662,12 +662,12 @@ Index: gdb-7.12.50.20170226/gdb/expprint.c
  	  elt = dump_subexp (exp, stream, elt);
        }
        break;
-Index: gdb-7.12.50.20170226/gdb/expression.h
+Index: gdb-7.99.90.20170420/gdb/expression.h
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/expression.h	2017-03-01 22:37:44.046867423 +0100
-+++ gdb-7.12.50.20170226/gdb/expression.h	2017-03-01 22:38:05.809017218 +0100
+--- gdb-7.99.90.20170420.orig/gdb/expression.h	2017-04-20 22:25:43.973254685 +0200
++++ gdb-7.99.90.20170420/gdb/expression.h	2017-04-20 22:26:14.363446607 +0200
 @@ -154,17 +154,17 @@
- 				 struct ui_file *, char *);
+ 				 struct ui_file *, const char *);
  extern void dump_prefix_expression (struct expression *, struct ui_file *);
  
 -/* In an OP_RANGE expression, either bound could be empty, indicating
@@ -693,10 +693,10 @@ Index: gdb-7.12.50.20170226/gdb/expression.h
    };
  
  #endif /* !defined (EXPRESSION_H) */
-Index: gdb-7.12.50.20170226/gdb/f-exp.y
+Index: gdb-7.99.90.20170420/gdb/f-exp.y
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/f-exp.y	2017-03-01 22:37:44.046867423 +0100
-+++ gdb-7.12.50.20170226/gdb/f-exp.y	2017-03-01 22:38:05.809017218 +0100
+--- gdb-7.99.90.20170420.orig/gdb/f-exp.y	2017-04-20 22:25:43.973254685 +0200
++++ gdb-7.99.90.20170420/gdb/f-exp.y	2017-04-20 22:26:14.363446607 +0200
 @@ -254,31 +254,63 @@
     
  arglist	:	arglist ',' exp   %prec ABOVE_COMMA
@@ -766,10 +766,10 @@ Index: gdb-7.12.50.20170226/gdb/f-exp.y
  			  write_exp_elt_opcode (pstate, OP_RANGE); }
  	;
  
-Index: gdb-7.12.50.20170226/gdb/f-valprint.c
+Index: gdb-7.99.90.20170420/gdb/f-valprint.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/f-valprint.c	2017-03-01 22:37:44.046867423 +0100
-+++ gdb-7.12.50.20170226/gdb/f-valprint.c	2017-03-01 22:38:05.809017218 +0100
+--- gdb-7.99.90.20170420.orig/gdb/f-valprint.c	2017-04-20 22:25:43.973254685 +0200
++++ gdb-7.99.90.20170420/gdb/f-valprint.c	2017-04-20 22:26:14.364446613 +0200
 @@ -121,8 +121,14 @@
  
    if (nss != ndimensions)
@@ -786,11 +786,11 @@ Index: gdb-7.12.50.20170226/gdb/f-valprint.c
  
        for (i = lowerbound;
  	   (i < upperbound + 1 && (*elts) < options->print_max);
-Index: gdb-7.12.50.20170226/gdb/gdbtypes.c
+Index: gdb-7.99.90.20170420/gdb/gdbtypes.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/gdbtypes.c	2017-03-01 22:37:44.046867423 +0100
-+++ gdb-7.12.50.20170226/gdb/gdbtypes.c	2017-03-01 22:38:05.810017224 +0100
-@@ -836,7 +836,8 @@
+--- gdb-7.99.90.20170420.orig/gdb/gdbtypes.c	2017-04-20 22:25:43.973254685 +0200
++++ gdb-7.99.90.20170420/gdb/gdbtypes.c	2017-04-20 22:26:14.365446619 +0200
+@@ -862,7 +862,8 @@
  struct type *
  create_range_type (struct type *result_type, struct type *index_type,
  		   const struct dynamic_prop *low_bound,
@@ -800,7 +800,7 @@ Index: gdb-7.12.50.20170226/gdb/gdbtypes.c
  {
    if (result_type == NULL)
      result_type = alloc_type_copy (index_type);
-@@ -851,6 +852,7 @@
+@@ -877,6 +878,7 @@
      TYPE_ZALLOC (result_type, sizeof (struct range_bounds));
    TYPE_RANGE_DATA (result_type)->low = *low_bound;
    TYPE_RANGE_DATA (result_type)->high = *high_bound;
@@ -808,7 +808,7 @@ Index: gdb-7.12.50.20170226/gdb/gdbtypes.c
  
    if (low_bound->kind == PROP_CONST && low_bound->data.const_val >= 0)
      TYPE_UNSIGNED (result_type) = 1;
-@@ -879,7 +881,7 @@
+@@ -905,7 +907,7 @@
  create_static_range_type (struct type *result_type, struct type *index_type,
  			  LONGEST low_bound, LONGEST high_bound)
  {
@@ -817,7 +817,7 @@ Index: gdb-7.12.50.20170226/gdb/gdbtypes.c
  
    low.kind = PROP_CONST;
    low.data.const_val = low_bound;
-@@ -887,7 +889,11 @@
+@@ -913,7 +915,11 @@
    high.kind = PROP_CONST;
    high.data.const_val = high_bound;
  
@@ -830,7 +830,7 @@ Index: gdb-7.12.50.20170226/gdb/gdbtypes.c
  
    return result_type;
  }
-@@ -1084,16 +1090,20 @@
+@@ -1110,16 +1116,20 @@
        && (!type_not_associated (result_type)
  	  && !type_not_allocated (result_type)))
      {
@@ -852,7 +852,7 @@ Index: gdb-7.12.50.20170226/gdb/gdbtypes.c
        else if (bit_stride > 0)
  	TYPE_LENGTH (result_type) =
  	  (bit_stride * (high_bound - low_bound + 1) + 7) / 8;
-@@ -1886,12 +1896,12 @@
+@@ -1912,12 +1922,12 @@
    CORE_ADDR value;
    struct type *static_range_type, *static_target_type;
    const struct dynamic_prop *prop;
@@ -867,7 +867,7 @@ Index: gdb-7.12.50.20170226/gdb/gdbtypes.c
      {
        low_bound.kind = PROP_CONST;
        low_bound.data.const_val = value;
-@@ -1903,7 +1913,7 @@
+@@ -1929,7 +1939,7 @@
      }
  
    prop = &TYPE_RANGE_DATA (dyn_range_type)->high;
@@ -876,7 +876,7 @@ Index: gdb-7.12.50.20170226/gdb/gdbtypes.c
      {
        high_bound.kind = PROP_CONST;
        high_bound.data.const_val = value;
-@@ -1918,12 +1928,20 @@
+@@ -1944,12 +1954,20 @@
        high_bound.data.const_val = 0;
      }
  
@@ -898,11 +898,11 @@ Index: gdb-7.12.50.20170226/gdb/gdbtypes.c
    TYPE_RANGE_DATA (static_range_type)->flag_bound_evaluated = 1;
    return static_range_type;
  }
-Index: gdb-7.12.50.20170226/gdb/gdbtypes.h
+Index: gdb-7.99.90.20170420/gdb/gdbtypes.h
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/gdbtypes.h	2017-03-01 22:37:44.046867423 +0100
-+++ gdb-7.12.50.20170226/gdb/gdbtypes.h	2017-03-01 22:38:05.811017231 +0100
-@@ -550,6 +550,10 @@
+--- gdb-7.99.90.20170420.orig/gdb/gdbtypes.h	2017-04-20 22:25:43.973254685 +0200
++++ gdb-7.99.90.20170420/gdb/gdbtypes.h	2017-04-20 22:26:14.365446619 +0200
+@@ -551,6 +551,10 @@
  
    struct dynamic_prop high;
  
@@ -913,7 +913,7 @@ Index: gdb-7.12.50.20170226/gdb/gdbtypes.h
    /* True if HIGH range bound contains the number of elements in the
       subrange. This affects how the final hight bound is computed.  */
  
-@@ -712,7 +716,6 @@
+@@ -713,7 +717,6 @@
      /* * Union member used for range types.  */
  
      struct range_bounds *bounds;
@@ -921,7 +921,7 @@ Index: gdb-7.12.50.20170226/gdb/gdbtypes.h
    } flds_bnds;
  
    /* * Slot to point to additional language-specific fields of this
-@@ -1222,6 +1225,15 @@
+@@ -1228,6 +1231,15 @@
    TYPE_RANGE_DATA(range_type)->high.kind
  #define TYPE_LOW_BOUND_KIND(range_type) \
    TYPE_RANGE_DATA(range_type)->low.kind
@@ -937,7 +937,7 @@ Index: gdb-7.12.50.20170226/gdb/gdbtypes.h
  
  /* Property accessors for the type data location.  */
  #define TYPE_DATA_LOCATION(thistype) \
-@@ -1256,6 +1268,9 @@
+@@ -1262,6 +1274,9 @@
     TYPE_HIGH_BOUND_UNDEFINED(TYPE_INDEX_TYPE(arraytype))
  #define TYPE_ARRAY_LOWER_BOUND_IS_UNDEFINED(arraytype) \
     TYPE_LOW_BOUND_UNDEFINED(TYPE_INDEX_TYPE(arraytype))
@@ -947,7 +947,7 @@ Index: gdb-7.12.50.20170226/gdb/gdbtypes.h
  
  #define TYPE_ARRAY_UPPER_BOUND_VALUE(arraytype) \
     (TYPE_HIGH_BOUND(TYPE_INDEX_TYPE((arraytype))))
-@@ -1765,6 +1780,7 @@
+@@ -1776,6 +1791,7 @@
  
  extern struct type *create_range_type (struct type *, struct type *,
  				       const struct dynamic_prop *,
@@ -955,10 +955,10 @@ Index: gdb-7.12.50.20170226/gdb/gdbtypes.h
  				       const struct dynamic_prop *);
  
  extern struct type *create_array_type (struct type *, struct type *,
-Index: gdb-7.12.50.20170226/gdb/parse.c
+Index: gdb-7.99.90.20170420/gdb/parse.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/parse.c	2017-03-01 22:37:44.046867423 +0100
-+++ gdb-7.12.50.20170226/gdb/parse.c	2017-03-01 22:38:05.811017231 +0100
+--- gdb-7.99.90.20170420.orig/gdb/parse.c	2017-04-20 22:25:43.973254685 +0200
++++ gdb-7.99.90.20170420/gdb/parse.c	2017-04-20 22:26:14.366446625 +0200
 @@ -1007,22 +1007,20 @@
  
      case OP_RANGE:
@@ -993,10 +993,10 @@ Index: gdb-7.12.50.20170226/gdb/parse.c
  
        break;
  
-Index: gdb-7.12.50.20170226/gdb/rust-exp.y
+Index: gdb-7.99.90.20170420/gdb/rust-exp.y
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/rust-exp.y	2017-03-01 22:37:44.045867416 +0100
-+++ gdb-7.12.50.20170226/gdb/rust-exp.y	2017-03-01 22:38:05.811017231 +0100
+--- gdb-7.99.90.20170420.orig/gdb/rust-exp.y	2017-04-20 22:25:43.973254685 +0200
++++ gdb-7.99.90.20170420/gdb/rust-exp.y	2017-04-20 22:26:14.366446625 +0200
 @@ -2409,23 +2409,17 @@
  
      case OP_RANGE:
@@ -1024,10 +1024,10 @@ Index: gdb-7.12.50.20170226/gdb/rust-exp.y
  	  }
  	write_exp_elt_opcode (state, OP_RANGE);
  	write_exp_elt_longcst (state, kind);
-Index: gdb-7.12.50.20170226/gdb/rust-lang.c
+Index: gdb-7.99.90.20170420/gdb/rust-lang.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/rust-lang.c	2017-03-01 22:37:44.046867423 +0100
-+++ gdb-7.12.50.20170226/gdb/rust-lang.c	2017-03-01 22:38:05.812017238 +0100
+--- gdb-7.99.90.20170420.orig/gdb/rust-lang.c	2017-04-20 22:25:43.973254685 +0200
++++ gdb-7.99.90.20170420/gdb/rust-lang.c	2017-04-20 22:26:14.367446632 +0200
 @@ -1314,9 +1314,9 @@
    kind = (enum range_type) longest_to_int (exp->elts[*pos + 1].longconst);
    *pos += 3;
@@ -1094,10 +1094,10 @@ Index: gdb-7.12.50.20170226/gdb/rust-lang.c
  	    high = high_bound;
  	  if (high < 0)
  	    error (_("High index less than zero"));
-Index: gdb-7.12.50.20170226/gdb/testsuite/gdb.fortran/static-arrays.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/static-arrays.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.12.50.20170226/gdb/testsuite/gdb.fortran/static-arrays.exp	2017-03-01 22:38:05.812017238 +0100
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/static-arrays.exp	2017-04-20 22:26:14.367446632 +0200
 @@ -0,0 +1,421 @@
 +# Copyright 2015 Free Software Foundation, Inc.
 +#
@@ -1520,10 +1520,10 @@ Index: gdb-7.12.50.20170226/gdb/testsuite/gdb.fortran/static-arrays.exp
 +gdb_test "print ar1\(3:7\) = 42" \
 +		"Invalid cast." \
 +		"Assignment of value to subarray"
-Index: gdb-7.12.50.20170226/gdb/testsuite/gdb.fortran/static-arrays.f90
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/static-arrays.f90
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.12.50.20170226/gdb/testsuite/gdb.fortran/static-arrays.f90	2017-03-01 22:38:05.812017238 +0100
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/static-arrays.f90	2017-04-20 22:26:14.368446638 +0200
 @@ -0,0 +1,55 @@
 +! Copyright 2015 Free Software Foundation, Inc.
 +!
@@ -1580,10 +1580,10 @@ Index: gdb-7.12.50.20170226/gdb/testsuite/gdb.fortran/static-arrays.f90
 +program testprog
 +  call sub
 +end
-Index: gdb-7.12.50.20170226/gdb/testsuite/gdb.fortran/vla-ptype.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-ptype.exp
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/testsuite/gdb.fortran/vla-ptype.exp	2017-03-01 22:37:44.046867423 +0100
-+++ gdb-7.12.50.20170226/gdb/testsuite/gdb.fortran/vla-ptype.exp	2017-03-01 22:38:05.813017245 +0100
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.fortran/vla-ptype.exp	2017-04-20 22:25:43.973254685 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-ptype.exp	2017-04-20 22:26:14.368446638 +0200
 @@ -98,3 +98,7 @@
  gdb_test "ptype vla2(5, 45, 20)" \
    "no such vector element \\\(vector not allocated\\\)" \
@@ -1592,10 +1592,10 @@ Index: gdb-7.12.50.20170226/gdb/testsuite/gdb.fortran/vla-ptype.exp
 +gdb_breakpoint [gdb_get_line_number "vla1-neg-bounds"]
 +gdb_continue_to_breakpoint "vla1-neg-bounds"
 +gdb_test "ptype vla1" "type = $real \\(-2:1,-5:4,-3:-1\\)" "ptype vla1 negative bounds"
-Index: gdb-7.12.50.20170226/gdb/testsuite/gdb.fortran/vla-sizeof.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-sizeof.exp
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/testsuite/gdb.fortran/vla-sizeof.exp	2017-03-01 22:37:44.046867423 +0100
-+++ gdb-7.12.50.20170226/gdb/testsuite/gdb.fortran/vla-sizeof.exp	2017-03-01 22:38:05.813017245 +0100
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.fortran/vla-sizeof.exp	2017-04-20 22:25:43.973254685 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-sizeof.exp	2017-04-20 22:26:14.368446638 +0200
 @@ -44,3 +44,7 @@
  gdb_breakpoint [gdb_get_line_number "pvla-associated"]
  gdb_continue_to_breakpoint "pvla-associated"
@@ -1604,10 +1604,10 @@ Index: gdb-7.12.50.20170226/gdb/testsuite/gdb.fortran/vla-sizeof.exp
 +gdb_breakpoint [gdb_get_line_number "vla1-neg-bounds"]
 +gdb_continue_to_breakpoint "vla1-neg-bounds"
 +gdb_test "print sizeof(vla1)" " = 480" "print sizeof vla1 negative bounds"
-Index: gdb-7.12.50.20170226/gdb/testsuite/gdb.fortran/vla-stride.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-stride.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.12.50.20170226/gdb/testsuite/gdb.fortran/vla-stride.exp	2017-03-01 22:38:05.813017245 +0100
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-stride.exp	2017-04-20 22:26:14.368446638 +0200
 @@ -0,0 +1,44 @@
 +# Copyright 2016 Free Software Foundation, Inc.
 +
@@ -1653,10 +1653,10 @@ Index: gdb-7.12.50.20170226/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.12.50.20170226/gdb/testsuite/gdb.fortran/vla-stride.f90
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-stride.f90
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.12.50.20170226/gdb/testsuite/gdb.fortran/vla-stride.f90	2017-03-01 22:38:05.813017245 +0100
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-stride.f90	2017-04-20 22:26:14.368446638 +0200
 @@ -0,0 +1,29 @@
 +! Copyright 2016 Free Software Foundation, Inc.
 +!
@@ -1687,10 +1687,10 @@ Index: gdb-7.12.50.20170226/gdb/testsuite/gdb.fortran/vla-stride.f90
 +
 +  pvla => null()        ! single-element
 +end program vla_stride
-Index: gdb-7.12.50.20170226/gdb/testsuite/gdb.fortran/vla.f90
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla.f90
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/testsuite/gdb.fortran/vla.f90	2017-03-01 22:37:44.046867423 +0100
-+++ gdb-7.12.50.20170226/gdb/testsuite/gdb.fortran/vla.f90	2017-03-01 22:38:05.813017245 +0100
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.fortran/vla.f90	2017-04-20 22:25:43.973254685 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla.f90	2017-04-20 22:26:14.368446638 +0200
 @@ -54,4 +54,14 @@
  
    allocate (vla3 (2,2))               ! vla2-deallocated
@@ -1706,10 +1706,10 @@ Index: gdb-7.12.50.20170226/gdb/testsuite/gdb.fortran/vla.f90
 +  l = allocated(vla1)
 +
  end program vla
-Index: gdb-7.12.50.20170226/gdb/valarith.c
+Index: gdb-7.99.90.20170420/gdb/valarith.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/valarith.c	2017-03-01 22:37:44.046867423 +0100
-+++ gdb-7.12.50.20170226/gdb/valarith.c	2017-03-01 22:38:05.813017245 +0100
+--- gdb-7.99.90.20170420.orig/gdb/valarith.c	2017-04-20 22:25:43.973254685 +0200
++++ gdb-7.99.90.20170420/gdb/valarith.c	2017-04-20 22:26:14.369446644 +0200
 @@ -193,10 +193,16 @@
    struct type *array_type = check_typedef (value_type (array));
    struct type *elt_type = check_typedef (TYPE_TARGET_TYPE (array_type));
@@ -1729,11 +1729,11 @@ Index: gdb-7.12.50.20170226/gdb/valarith.c
      {
        if (type_not_associated (array_type))
          error (_("no such vector element (vector not associated)"));
-Index: gdb-7.12.50.20170226/gdb/valops.c
+Index: gdb-7.99.90.20170420/gdb/valops.c
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/valops.c	2017-03-01 22:37:44.046867423 +0100
-+++ gdb-7.12.50.20170226/gdb/valops.c	2017-03-01 23:27:02.466929147 +0100
-@@ -3782,55 +3782,194 @@
+--- gdb-7.99.90.20170420.orig/gdb/valops.c	2017-04-20 22:25:43.973254685 +0200
++++ gdb-7.99.90.20170420/gdb/valops.c	2017-04-20 22:26:14.370446651 +0200
+@@ -3786,55 +3786,194 @@
  struct value *
  value_slice (struct value *array, int lowbound, int length)
  {
@@ -1960,10 +1960,10 @@ Index: gdb-7.12.50.20170226/gdb/valops.c
  }
  
  /* Create a value for a FORTRAN complex number.  Currently most of the
-Index: gdb-7.12.50.20170226/gdb/value.h
+Index: gdb-7.99.90.20170420/gdb/value.h
 ===================================================================
---- gdb-7.12.50.20170226.orig/gdb/value.h	2017-03-01 22:37:44.046867423 +0100
-+++ gdb-7.12.50.20170226/gdb/value.h	2017-03-01 22:38:05.815017259 +0100
+--- gdb-7.99.90.20170420.orig/gdb/value.h	2017-04-20 22:25:43.973254685 +0200
++++ gdb-7.99.90.20170420/gdb/value.h	2017-04-20 22:26:14.370446651 +0200
 @@ -1106,6 +1106,8 @@
  
  extern struct value *value_slice (struct value *, int, int);

diff --git a/gdb-vla-intel-fortran-vla-strings.patch b/gdb-vla-intel-fortran-vla-strings.patch
index 9eebef6..6162dc2 100644
--- a/gdb-vla-intel-fortran-vla-strings.patch
+++ b/gdb-vla-intel-fortran-vla-strings.patch
@@ -23,24 +23,24 @@ git diff --stat -p gdb/master...gdb/users/bheckel/fortran-vla-strings
  gdb/valprint.c                            |   6 --
  20 files changed, 827 insertions(+), 110 deletions(-)
 
-Index: gdb-7.12.50.20170304/gdb/NEWS
+Index: gdb-7.99.90.20170420/gdb/NEWS
 ===================================================================
---- gdb-7.12.50.20170304.orig/gdb/NEWS	2017-03-04 21:47:37.491039873 +0100
-+++ gdb-7.12.50.20170304/gdb/NEWS	2017-03-04 21:47:40.283060856 +0100
-@@ -94,6 +94,8 @@
-   The default value is the empty string.  Currently, the only supported
-   targets are ARM, PowerPC and S/390.
+--- gdb-7.99.90.20170420.orig/gdb/NEWS	2017-04-20 22:27:47.076032111 +0200
++++ gdb-7.99.90.20170420/gdb/NEWS	2017-04-20 22:27:49.946050236 +0200
+@@ -1,6 +1,8 @@
+ 		What has changed in GDB?
+ 	     (Organized release by release)
  
 +* Fortran: Support pointers to dynamic types.
 +
- *** Changes in GDB 7.12
+ *** Changes since GDB 7.12
  
- * GDB and GDBserver now build with a C++ compiler by default.
-Index: gdb-7.12.50.20170304/gdb/c-valprint.c
+ * GDB now supports access to the PKU register on GNU/Linux. The register is
+Index: gdb-7.99.90.20170420/gdb/c-valprint.c
 ===================================================================
---- gdb-7.12.50.20170304.orig/gdb/c-valprint.c	2017-03-04 21:47:37.492039881 +0100
-+++ gdb-7.12.50.20170304/gdb/c-valprint.c	2017-03-04 21:47:40.283060856 +0100
-@@ -646,6 +646,28 @@
+--- gdb-7.99.90.20170420.orig/gdb/c-valprint.c	2017-04-20 22:27:47.077032118 +0200
++++ gdb-7.99.90.20170420/gdb/c-valprint.c	2017-04-20 22:27:49.947050243 +0200
+@@ -650,6 +650,28 @@
        else
  	{
  	  /* normal case */
@@ -69,11 +69,11 @@ Index: gdb-7.12.50.20170304/gdb/c-valprint.c
  	  fprintf_filtered (stream, "(");
  	  type_print (value_type (val), "", stream, -1);
  	  fprintf_filtered (stream, ") ");
-Index: gdb-7.12.50.20170304/gdb/dwarf2read.c
+Index: gdb-7.99.90.20170420/gdb/dwarf2read.c
 ===================================================================
---- gdb-7.12.50.20170304.orig/gdb/dwarf2read.c	2017-03-04 21:47:37.507039994 +0100
-+++ gdb-7.12.50.20170304/gdb/dwarf2read.c	2017-03-04 21:47:40.288060894 +0100
-@@ -1795,7 +1795,8 @@
+--- gdb-7.99.90.20170420.orig/gdb/dwarf2read.c	2017-04-20 22:27:47.091032206 +0200
++++ gdb-7.99.90.20170420/gdb/dwarf2read.c	2017-04-20 22:28:28.878296105 +0200
+@@ -1872,7 +1872,8 @@
  
  static int attr_to_dynamic_prop (const struct attribute *attr,
  				 struct die_info *die, struct dwarf2_cu *cu,
@@ -83,7 +83,7 @@ Index: gdb-7.12.50.20170304/gdb/dwarf2read.c
  
  /* memory allocation interface */
  
-@@ -11491,7 +11492,7 @@
+@@ -11557,7 +11558,7 @@
      {
        newobj->static_link
  	= XOBNEW (&objfile->objfile_obstack, struct dynamic_prop);
@@ -92,7 +92,7 @@ Index: gdb-7.12.50.20170304/gdb/dwarf2read.c
      }
  
    cu->list_in_scope = &local_symbols;
-@@ -14718,29 +14719,94 @@
+@@ -14791,29 +14792,94 @@
    struct gdbarch *gdbarch = get_objfile_arch (objfile);
    struct type *type, *range_type, *index_type, *char_type;
    struct attribute *attr;
@@ -198,7 +198,7 @@ Index: gdb-7.12.50.20170304/gdb/dwarf2read.c
    char_type = language_string_char_type (cu->language_defn, gdbarch);
    type = create_string_type (NULL, char_type, range_type);
  
-@@ -15077,7 +15143,8 @@
+@@ -15163,7 +15229,8 @@
  
  static int
  attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die,
@@ -208,7 +208,7 @@ Index: gdb-7.12.50.20170304/gdb/dwarf2read.c
  {
    struct dwarf2_property_baton *baton;
    struct obstack *obstack = &cu->objfile->objfile_obstack;
-@@ -15087,14 +15154,33 @@
+@@ -15173,14 +15240,33 @@
  
    if (attr_form_is_block (attr))
      {
@@ -246,7 +246,7 @@ Index: gdb-7.12.50.20170304/gdb/dwarf2read.c
      }
    else if (attr_form_is_ref (attr))
      {
-@@ -15127,8 +15213,28 @@
+@@ -15213,8 +15299,28 @@
  		baton = XOBNEW (obstack, struct dwarf2_property_baton);
  		baton->referenced_type = die_type (target_die, target_cu);
  		baton->locexpr.per_cu = cu->per_cu;
@@ -277,7 +277,7 @@ Index: gdb-7.12.50.20170304/gdb/dwarf2read.c
  		prop->data.baton = baton;
  		prop->kind = PROP_LOCEXPR;
  		gdb_assert (prop->data.baton != NULL);
-@@ -15239,24 +15345,24 @@
+@@ -15325,24 +15431,24 @@
  
    attr = dwarf2_attr (die, DW_AT_byte_stride, cu);
    if (attr)
@@ -285,7 +285,7 @@ Index: gdb-7.12.50.20170304/gdb/dwarf2read.c
 +    if (!attr_to_dynamic_prop (attr, die, cu, &stride, NULL, 0))
          complaint (&symfile_complaints, _("Missing DW_AT_byte_stride "
                    "- DIE at 0x%x [in module %s]"),
-              die->offset.sect_off, objfile_name (cu->objfile));
+              to_underlying (die->sect_off), objfile_name (cu->objfile));
  
    attr = dwarf2_attr (die, DW_AT_lower_bound, cu);
    if (attr)
@@ -294,7 +294,7 @@ Index: gdb-7.12.50.20170304/gdb/dwarf2read.c
    else if (!low_default_is_valid)
      complaint (&symfile_complaints, _("Missing DW_AT_lower_bound "
  				      "- DIE at 0x%x [in module %s]"),
- 	       die->offset.sect_off, objfile_name (cu->objfile));
+ 	       to_underlying (die->sect_off), objfile_name (cu->objfile));
  
    attr = dwarf2_attr (die, DW_AT_upper_bound, cu);
 -  if (!attr_to_dynamic_prop (attr, die, cu, &high))
@@ -306,7 +306,7 @@ Index: gdb-7.12.50.20170304/gdb/dwarf2read.c
  	{
  	  /* If bounds are constant do the final calculation here.  */
  	  if (low.kind == PROP_CONST && high.kind == PROP_CONST)
-@@ -22871,7 +22977,7 @@
+@@ -22967,7 +23073,7 @@
    attr = dwarf2_attr (die, DW_AT_allocated, cu);
    if (attr_form_is_block (attr))
      {
@@ -315,7 +315,7 @@ Index: gdb-7.12.50.20170304/gdb/dwarf2read.c
          add_dyn_prop (DYN_PROP_ALLOCATED, prop, type, objfile);
      }
    else if (attr != NULL)
-@@ -22886,7 +22992,7 @@
+@@ -22982,7 +23088,7 @@
    attr = dwarf2_attr (die, DW_AT_associated, cu);
    if (attr_form_is_block (attr))
      {
@@ -324,7 +324,7 @@ Index: gdb-7.12.50.20170304/gdb/dwarf2read.c
          add_dyn_prop (DYN_PROP_ASSOCIATED, prop, type, objfile);
      }
    else if (attr != NULL)
-@@ -22899,7 +23005,7 @@
+@@ -22995,7 +23101,7 @@
  
    /* Read DW_AT_data_location and set in type.  */
    attr = dwarf2_attr (die, DW_AT_data_location, cu);
@@ -333,10 +333,10 @@ Index: gdb-7.12.50.20170304/gdb/dwarf2read.c
      add_dyn_prop (DYN_PROP_DATA_LOCATION, prop, type, objfile);
  
    if (dwarf2_per_objfile->die_type_hash == NULL)
-Index: gdb-7.12.50.20170304/gdb/f-typeprint.c
+Index: gdb-7.99.90.20170420/gdb/f-typeprint.c
 ===================================================================
---- gdb-7.12.50.20170304.orig/gdb/f-typeprint.c	2017-03-04 21:47:27.789966966 +0100
-+++ gdb-7.12.50.20170304/gdb/f-typeprint.c	2017-03-04 21:48:22.163375604 +0100
+--- gdb-7.99.90.20170420.orig/gdb/f-typeprint.c	2017-04-20 22:27:26.288900835 +0200
++++ gdb-7.99.90.20170420/gdb/f-typeprint.c	2017-04-20 22:27:49.953050280 +0200
 @@ -37,7 +37,7 @@
  #endif
  
@@ -486,11 +486,11 @@ Index: gdb-7.12.50.20170304/gdb/f-typeprint.c
  	      fputs_filtered ("\n", stream);
  	    }
  	  fprintfi_filtered (level, stream, "End Type ");
-Index: gdb-7.12.50.20170304/gdb/gdbtypes.c
+Index: gdb-7.99.90.20170420/gdb/gdbtypes.c
 ===================================================================
---- gdb-7.12.50.20170304.orig/gdb/gdbtypes.c	2017-03-04 21:47:37.510040016 +0100
-+++ gdb-7.12.50.20170304/gdb/gdbtypes.c	2017-03-04 21:47:40.289060902 +0100
-@@ -1814,7 +1814,8 @@
+--- gdb-7.99.90.20170420.orig/gdb/gdbtypes.c	2017-04-20 22:27:47.093032219 +0200
++++ gdb-7.99.90.20170420/gdb/gdbtypes.c	2017-04-20 22:27:49.954050287 +0200
+@@ -1840,7 +1840,8 @@
    type = check_typedef (type);
  
    /* We only want to recognize references at the outermost level.  */
@@ -500,7 +500,7 @@ Index: gdb-7.12.50.20170304/gdb/gdbtypes.c
      type = check_typedef (TYPE_TARGET_TYPE (type));
  
    /* Types that have a dynamic TYPE_DATA_LOCATION are considered
-@@ -1848,6 +1849,7 @@
+@@ -1874,6 +1875,7 @@
        }
  
      case TYPE_CODE_ARRAY:
@@ -508,7 +508,7 @@ Index: gdb-7.12.50.20170304/gdb/gdbtypes.c
        {
  	gdb_assert (TYPE_NFIELDS (type) == 1);
  
-@@ -1960,7 +1962,8 @@
+@@ -1986,7 +1988,8 @@
    struct type *ary_dim;
    struct dynamic_prop *prop;
  
@@ -518,7 +518,7 @@ Index: gdb-7.12.50.20170304/gdb/gdbtypes.c
  
    type = copy_type (type);
  
-@@ -1985,13 +1988,17 @@
+@@ -2011,13 +2014,17 @@
  
    ary_dim = check_typedef (TYPE_TARGET_TYPE (elt_type));
  
@@ -539,7 +539,7 @@ Index: gdb-7.12.50.20170304/gdb/gdbtypes.c
  }
  
  /* Resolve dynamic bounds of members of the union TYPE to static
-@@ -2121,6 +2128,28 @@
+@@ -2147,6 +2154,28 @@
    return resolved_type;
  }
  
@@ -568,7 +568,7 @@ Index: gdb-7.12.50.20170304/gdb/gdbtypes.c
  /* Worker for resolved_dynamic_type.  */
  
  static struct type *
-@@ -2169,7 +2198,12 @@
+@@ -2195,7 +2224,12 @@
  	    break;
  	  }
  
@@ -581,10 +581,10 @@ Index: gdb-7.12.50.20170304/gdb/gdbtypes.c
  	  resolved_type = resolve_dynamic_array (type, addr_stack);
  	  break;
  
-Index: gdb-7.12.50.20170304/gdb/testsuite/gdb.cp/vla-cxx.cc
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.cp/vla-cxx.cc
 ===================================================================
---- gdb-7.12.50.20170304.orig/gdb/testsuite/gdb.cp/vla-cxx.cc	2017-03-04 21:47:37.511040023 +0100
-+++ gdb-7.12.50.20170304/gdb/testsuite/gdb.cp/vla-cxx.cc	2017-03-04 21:47:40.289060902 +0100
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.cp/vla-cxx.cc	2017-04-20 22:27:47.094032225 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.cp/vla-cxx.cc	2017-04-20 22:27:49.955050293 +0200
 @@ -15,6 +15,10 @@
     You should have received a copy of the GNU General Public License
     along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
@@ -613,10 +613,10 @@ Index: gdb-7.12.50.20170304/gdb/testsuite/gdb.cp/vla-cxx.cc
 +
    return vla[2];
  }
-Index: gdb-7.12.50.20170304/gdb/testsuite/gdb.cp/vla-cxx.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.cp/vla-cxx.exp
 ===================================================================
---- gdb-7.12.50.20170304.orig/gdb/testsuite/gdb.cp/vla-cxx.exp	2017-03-04 21:47:37.511040023 +0100
-+++ gdb-7.12.50.20170304/gdb/testsuite/gdb.cp/vla-cxx.exp	2017-03-04 21:47:40.290060909 +0100
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.cp/vla-cxx.exp	2017-04-20 22:27:47.094032225 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.cp/vla-cxx.exp	2017-04-20 22:27:49.955050293 +0200
 @@ -23,6 +23,12 @@
      return -1
  }
@@ -637,10 +637,10 @@ Index: gdb-7.12.50.20170304/gdb/testsuite/gdb.cp/vla-cxx.exp
 +gdb_test "ptype ptr" "int \\(\\*\\)\\\[3\\\]"
 +gdb_test "print ptr" "\\(int \\(\\*\\)\\\[3\\\]\\) $hex"
 +gdb_test "print *ptr" " = \\{5, 7, 9\\}"
-Index: gdb-7.12.50.20170304/gdb/testsuite/gdb.fortran/pointers.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/pointers.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.12.50.20170304/gdb/testsuite/gdb.fortran/pointers.exp	2017-03-04 21:47:40.290060909 +0100
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/pointers.exp	2017-04-20 22:27:49.955050293 +0200
 @@ -0,0 +1,143 @@
 +# Copyright 2016 Free Software Foundation, Inc.
 +
@@ -785,10 +785,10 @@ Index: gdb-7.12.50.20170304/gdb/testsuite/gdb.fortran/pointers.exp
 +gdb_test "print *((integer*) &inta + 2)" "= 3" "print temporary pointer, array"
 +gdb_test "print *((integer*) &intvla + 3)" "= 4" "print temporary pointer, allocated vla"
 +gdb_test "print \$pc" "= \\(PTR TO -> \\( void \\(\\)\\(\\)\\)\\) $hex <pointers\\+\\d+>" "Print program counter"
-Index: gdb-7.12.50.20170304/gdb/testsuite/gdb.fortran/pointers.f90
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/pointers.f90
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.12.50.20170304/gdb/testsuite/gdb.fortran/pointers.f90	2017-03-04 21:47:40.290060909 +0100
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/pointers.f90	2017-04-20 22:27:49.955050293 +0200
 @@ -0,0 +1,109 @@
 +! Copyright 2016 Free Software Foundation, Inc.
 +!
@@ -899,10 +899,10 @@ Index: gdb-7.12.50.20170304/gdb/testsuite/gdb.fortran/pointers.f90
 +  intv = intv + 1 ! After value assignment
 +
 +end program pointers
-Index: gdb-7.12.50.20170304/gdb/testsuite/gdb.fortran/print_type.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/print_type.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.12.50.20170304/gdb/testsuite/gdb.fortran/print_type.exp	2017-03-04 21:47:40.290060909 +0100
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/print_type.exp	2017-04-20 22:27:49.956050299 +0200
 @@ -0,0 +1,100 @@
 +# Copyright 2016 Free Software Foundation, Inc.
 +
@@ -1004,10 +1004,10 @@ Index: gdb-7.12.50.20170304/gdb/testsuite/gdb.fortran/print_type.exp
 +    }
 +}
 +gdb_test "ptype realp" "type = PTR TO -> \\( $real \\)"
-Index: gdb-7.12.50.20170304/gdb/testsuite/gdb.fortran/vla-ptype.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-ptype.exp
 ===================================================================
---- gdb-7.12.50.20170304.orig/gdb/testsuite/gdb.fortran/vla-ptype.exp	2017-03-04 21:47:37.512040031 +0100
-+++ gdb-7.12.50.20170304/gdb/testsuite/gdb.fortran/vla-ptype.exp	2017-03-04 21:47:40.291060917 +0100
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.fortran/vla-ptype.exp	2017-04-20 22:27:47.094032225 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-ptype.exp	2017-04-20 22:27:49.956050299 +0200
 @@ -32,9 +32,9 @@
  # Check the ptype of various VLA states and pointer to VLA's.
  gdb_breakpoint [gdb_get_line_number "vla1-init"]
@@ -1045,10 +1045,10 @@ Index: gdb-7.12.50.20170304/gdb/testsuite/gdb.fortran/vla-ptype.exp
  gdb_test "ptype vla2(5, 45, 20)" \
    "no such vector element \\\(vector not allocated\\\)" \
    "ptype vla2(5, 45, 20) not allocated"
-Index: gdb-7.12.50.20170304/gdb/testsuite/gdb.fortran/vla-strings.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-strings.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.12.50.20170304/gdb/testsuite/gdb.fortran/vla-strings.exp	2017-03-04 21:47:40.291060917 +0100
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-strings.exp	2017-04-20 22:27:49.956050299 +0200
 @@ -0,0 +1,103 @@
 +# Copyright 2016 Free Software Foundation, Inc.
 +
@@ -1153,10 +1153,10 @@ Index: gdb-7.12.50.20170304/gdb/testsuite/gdb.fortran/vla-strings.exp
 +	    pass $test
 +    }
 +}
-Index: gdb-7.12.50.20170304/gdb/testsuite/gdb.fortran/vla-strings.f90
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-strings.f90
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.12.50.20170304/gdb/testsuite/gdb.fortran/vla-strings.f90	2017-03-04 21:47:40.291060917 +0100
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-strings.f90	2017-04-20 22:27:49.956050299 +0200
 @@ -0,0 +1,39 @@
 +! Copyright 2016 Free Software Foundation, Inc.
 +!
@@ -1197,10 +1197,10 @@ Index: gdb-7.12.50.20170304/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.12.50.20170304/gdb/testsuite/gdb.fortran/vla-type.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-type.exp
 ===================================================================
---- gdb-7.12.50.20170304.orig/gdb/testsuite/gdb.fortran/vla-type.exp	2017-03-04 21:47:37.512040031 +0100
-+++ gdb-7.12.50.20170304/gdb/testsuite/gdb.fortran/vla-type.exp	2017-03-04 21:47:40.291060917 +0100
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.fortran/vla-type.exp	2017-04-20 22:27:47.094032225 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-type.exp	2017-04-20 22:27:49.956050299 +0200
 @@ -132,7 +132,10 @@
                       "End Type one" ]
  
@@ -1222,10 +1222,10 @@ Index: gdb-7.12.50.20170304/gdb/testsuite/gdb.fortran/vla-type.exp
                       "End Type one" ] \
           "ptype fivedynarr(2)%tone, not allocated"
  
-Index: gdb-7.12.50.20170304/gdb/testsuite/gdb.fortran/vla-value.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-value.exp
 ===================================================================
---- gdb-7.12.50.20170304.orig/gdb/testsuite/gdb.fortran/vla-value.exp	2017-03-04 21:47:37.512040031 +0100
-+++ gdb-7.12.50.20170304/gdb/testsuite/gdb.fortran/vla-value.exp	2017-03-04 21:47:40.291060917 +0100
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.fortran/vla-value.exp	2017-04-20 22:27:47.095032231 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-value.exp	2017-04-20 22:27:49.957050306 +0200
 @@ -14,6 +14,7 @@
  # along with this program.  If not, see <http://www.gnu.org/licenses/>.
  
@@ -1278,10 +1278,10 @@ Index: gdb-7.12.50.20170304/gdb/testsuite/gdb.fortran/vla-value.exp
    "print associated &pvla"
  gdb_test "print pvla(3, 6, 9)" " = 42" "print associated pvla(3,6,9)"
  gdb_test "print pvla(1, 3, 8)" " = 1001" "print associated pvla(1,3,8)"
-Index: gdb-7.12.50.20170304/gdb/testsuite/gdb.mi/mi-var-child-f.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.mi/mi-var-child-f.exp
 ===================================================================
---- gdb-7.12.50.20170304.orig/gdb/testsuite/gdb.mi/mi-var-child-f.exp	2017-03-04 21:47:37.513040039 +0100
-+++ gdb-7.12.50.20170304/gdb/testsuite/gdb.mi/mi-var-child-f.exp	2017-03-04 21:47:40.291060917 +0100
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.mi/mi-var-child-f.exp	2017-04-20 22:27:47.095032231 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.mi/mi-var-child-f.exp	2017-04-20 22:27:49.957050306 +0200
 @@ -17,6 +17,7 @@
  
  load_lib mi-support.exp
@@ -1303,10 +1303,10 @@ Index: gdb-7.12.50.20170304/gdb/testsuite/gdb.mi/mi-var-child-f.exp
  
  set children [list [list "array.-1" "-1" 2 "$int4 \\(2\\)"] \
  		  [list "array.0" "0" 2 "$int4 \\(2\\)"] \
-Index: gdb-7.12.50.20170304/gdb/testsuite/gdb.mi/mi-vla-fortran.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.mi/mi-vla-fortran.exp
 ===================================================================
---- gdb-7.12.50.20170304.orig/gdb/testsuite/gdb.mi/mi-vla-fortran.exp	2017-03-04 21:47:37.513040039 +0100
-+++ gdb-7.12.50.20170304/gdb/testsuite/gdb.mi/mi-vla-fortran.exp	2017-03-04 21:47:40.292060924 +0100
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.mi/mi-vla-fortran.exp	2017-04-20 22:27:47.095032231 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.mi/mi-vla-fortran.exp	2017-04-20 22:27:49.957050306 +0200
 @@ -17,7 +17,9 @@
  # Array (VLA).
  
@@ -1405,11 +1405,11 @@ Index: gdb-7.12.50.20170304/gdb/testsuite/gdb.mi/mi-vla-fortran.exp
    "info type variable pvla2_associated"
  mi_gdb_test "592-var-show-format pvla2_associated" \
    "592\\^done,format=\"natural\"" \
-Index: gdb-7.12.50.20170304/gdb/typeprint.c
+Index: gdb-7.99.90.20170420/gdb/typeprint.c
 ===================================================================
---- gdb-7.12.50.20170304.orig/gdb/typeprint.c	2017-03-04 21:47:37.513040039 +0100
-+++ gdb-7.12.50.20170304/gdb/typeprint.c	2017-03-04 21:47:40.292060924 +0100
-@@ -475,6 +475,25 @@
+--- gdb-7.99.90.20170420.orig/gdb/typeprint.c	2017-04-20 22:27:47.095032231 +0200
++++ gdb-7.99.90.20170420/gdb/typeprint.c	2017-04-20 22:27:49.957050306 +0200
+@@ -474,6 +474,25 @@
        printf_filtered (" */\n");    
      }
  
@@ -1435,11 +1435,11 @@ Index: gdb-7.12.50.20170304/gdb/typeprint.c
    LA_PRINT_TYPE (type, "", gdb_stdout, show, 0, &flags);
    printf_filtered ("\n");
  
-Index: gdb-7.12.50.20170304/gdb/valops.c
+Index: gdb-7.99.90.20170420/gdb/valops.c
 ===================================================================
---- gdb-7.12.50.20170304.orig/gdb/valops.c	2017-03-04 21:47:37.514040046 +0100
-+++ gdb-7.12.50.20170304/gdb/valops.c	2017-03-04 21:47:40.293060932 +0100
-@@ -1569,6 +1569,19 @@
+--- gdb-7.99.90.20170420.orig/gdb/valops.c	2017-04-20 22:27:47.096032238 +0200
++++ gdb-7.99.90.20170420/gdb/valops.c	2017-04-20 22:27:49.958050312 +0200
+@@ -1574,6 +1574,19 @@
    if (TYPE_CODE (base_type) == TYPE_CODE_PTR)
      {
        struct type *enc_type;
@@ -1459,7 +1459,7 @@ Index: gdb-7.12.50.20170304/gdb/valops.c
  
        /* We may be pointing to something embedded in a larger object.
           Get the real type of the enclosing object.  */
-@@ -1584,8 +1597,7 @@
+@@ -1589,8 +1602,7 @@
        else
  	/* Retrieve the enclosing object pointed to.  */
  	arg2 = value_at_lazy (enc_type, 
@@ -1469,11 +1469,11 @@ Index: gdb-7.12.50.20170304/gdb/valops.c
  
        enc_type = value_type (arg2);
        return readjust_indirect_value_type (arg2, enc_type, base_type, arg1);
-Index: gdb-7.12.50.20170304/gdb/valprint.c
+Index: gdb-7.99.90.20170420/gdb/valprint.c
 ===================================================================
---- gdb-7.12.50.20170304.orig/gdb/valprint.c	2017-03-04 02:49:09.000000000 +0100
-+++ gdb-7.12.50.20170304/gdb/valprint.c	2017-03-04 21:47:40.293060932 +0100
-@@ -1165,12 +1165,6 @@
+--- gdb-7.99.90.20170420.orig/gdb/valprint.c	2017-04-20 22:25:38.224218378 +0200
++++ gdb-7.99.90.20170420/gdb/valprint.c	2017-04-20 22:27:49.959050318 +0200
+@@ -1166,12 +1166,6 @@
        return 0;
      }
  

diff --git a/gdb-vla-intel-stringbt-fix.patch b/gdb-vla-intel-stringbt-fix.patch
index 03a81fd..f39d1cf 100644
--- a/gdb-vla-intel-stringbt-fix.patch
+++ b/gdb-vla-intel-stringbt-fix.patch
@@ -27,19 +27,19 @@ cannot reproduce it.
 Thanks,
 Jan
 
-Index: gdb-7.12.50.20170309/gdb/dwarf2loc.c
+Index: gdb-7.99.90.20170420/gdb/dwarf2loc.c
 ===================================================================
---- gdb-7.12.50.20170309.orig/gdb/dwarf2loc.c	2017-04-19 22:04:04.874320326 +0200
-+++ gdb-7.12.50.20170309/gdb/dwarf2loc.c	2017-04-19 22:09:07.976201875 +0200
+--- gdb-7.99.90.20170420.orig/gdb/dwarf2loc.c	2017-04-20 22:28:59.686490666 +0200
++++ gdb-7.99.90.20170420/gdb/dwarf2loc.c	2017-04-20 22:29:13.104575404 +0200
 @@ -42,6 +42,7 @@
  #include <algorithm>
  #include <vector>
  #include <unordered_set>
 +#include <functional>
+ #include "common/underlying.h"
  
  extern int dwarf_always_disassemble;
- 
-@@ -2350,6 +2351,20 @@
+@@ -2366,6 +2367,20 @@
    ctx.per_cu = per_cu;
    ctx.obj_address = 0;
  
@@ -60,10 +60,10 @@ Index: gdb-7.12.50.20170309/gdb/dwarf2loc.c
    scoped_value_mark free_values;
  
    ctx.gdbarch = get_objfile_arch (objfile);
-Index: gdb-7.12.50.20170309/gdb/testsuite/gdb.fortran/dynamic-other-frame-stub.f90
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/dynamic-other-frame-stub.f90
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.12.50.20170309/gdb/testsuite/gdb.fortran/dynamic-other-frame-stub.f90	2017-04-19 22:04:04.922320623 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/dynamic-other-frame-stub.f90	2017-04-20 22:29:00.673496899 +0200
 @@ -0,0 +1,24 @@
 +! Copyright 2010 Free Software Foundation, Inc.
 +!
@@ -89,10 +89,10 @@ Index: gdb-7.12.50.20170309/gdb/testsuite/gdb.fortran/dynamic-other-frame-stub.f
 +  real :: dummy
 +  dummy = 1
 +end subroutine bar
-Index: gdb-7.12.50.20170309/gdb/testsuite/gdb.fortran/dynamic-other-frame.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/dynamic-other-frame.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.12.50.20170309/gdb/testsuite/gdb.fortran/dynamic-other-frame.exp	2017-04-19 22:04:04.922320623 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/dynamic-other-frame.exp	2017-04-20 22:29:00.673496899 +0200
 @@ -0,0 +1,39 @@
 +# Copyright 2010 Free Software Foundation, Inc.
 +
@@ -133,10 +133,10 @@ Index: gdb-7.12.50.20170309/gdb/testsuite/gdb.fortran/dynamic-other-frame.exp
 +}
 +
 +gdb_test "bt" {foo \(string='hello'.*}
-Index: gdb-7.12.50.20170309/gdb/testsuite/gdb.fortran/dynamic-other-frame.f90
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/dynamic-other-frame.f90
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.12.50.20170309/gdb/testsuite/gdb.fortran/dynamic-other-frame.f90	2017-04-19 22:04:04.922320623 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/dynamic-other-frame.f90	2017-04-20 22:29:00.673496899 +0200
 @@ -0,0 +1,36 @@
 +! Copyright 2010 Free Software Foundation, Inc.
 +!

diff --git a/gdb.spec b/gdb.spec
index a65d0b1..5aecc86 100644
--- a/gdb.spec
+++ b/gdb.spec
@@ -18,15 +18,15 @@
 Name: %{?scl_prefix}gdb
 
 # Freeze it when GDB gets branched
-%global snapsrc    20170309
+%global snapsrc    20170420
 # See timestamp of source gnulib installed into gdb/gnulib/ .
 %global snapgnulib 20150822
 %global tarname gdb-%{version}
-Version: 7.12.50.%{snapsrc}
+Version: 7.99.90.%{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: 7%{?dist}
+Release: 8%{?dist}
 
 License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL
 Group: Development/Debuggers
@@ -638,6 +638,9 @@ Patch1153: gdb-add-index-chmod.patch
 # New testcase for: Fix <tab>-completion crash (Gary Benson, RH BZ 1398387).
 Patch1155: gdb-rhbz1398387-tab-crash-test.patch
 
+# Release branch: Fix: --enable-werror
+Patch1170: gdb-release-werror.patch
+
 %if 0%{!?rhel:1} || 0%{?rhel} > 6
 # RL_STATE_FEDORA_GDB would not be found for:
 # Patch642: gdb-readline62-ask-more-rh.patch
@@ -1009,6 +1012,7 @@ done
 %patch1152 -p1
 %patch1153 -p1
 %patch1155 -p1
+%patch1170 -p1
 
 %patch1075 -p1
 %if 0%{?rhel:1} && 0%{?rhel} <= 7
@@ -1576,6 +1580,9 @@ then
 fi
 
 %changelog
+* Fri Apr 21 2017 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.99.90.20170420-8.fc26
+- Rebase to FSF GDB 7.99.90.20170420 (pre-8.0 stable branch).
+
 * Wed Apr 19 2017 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.12.50.20170309-7.fc26
 - Fix reported gdb-vla-intel-stringbt-fix.patch regression (SuSE).
 - Remove gcc-7 compilation compatibility hack.

diff --git a/sources b/sources
index 76d394c..55e3587 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
 SHA512 (gdb-libstdc++-v3-python-6.3.1-20170212.tar.xz) = 22ad4187d6bb9851ecf389c3ff4c68f33ccf5602d8f51bc337215c700d56c9073b3fb40ece3f58901315161f76a4fd1d6463c623650317ad96fd9e3f4aba7252
 SHA512 (v1.5.tar.gz) = ea3e76291d5b077d5b42061898a1f70af6cbdbccb7d05c59904f322ca1c03f7596cac6a966b80b12d2c2d86212f17d6bde02b1daf92be62e49abcb234e2bacbd
-SHA512 (gdb-7.12.50.20170309.tar.xz) = 2aa38d71cb769c623f739f77e5e47c8c2b73f9bcfc4978841c881dfb002fb2ce084e7f7cd7248fe2a0455e487b77d1c0fa17edcbcdd2c43d85ba4de043d26427
+SHA512 (gdb-7.99.90.20170420.tar.xz) = 8fe8e2a69a94d3ea8861a2aaeb46cd3e3e8423efe0a74a7bb336ee0df301321f693f360166518b3f595c94bfad893fb708c92962f79bae13b6564db027a1516f

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

only message in thread, other threads:[~2026-06-27 23:58 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:58 [rpms/gdb] gdb-17.2-rebase-f44: Rebase to FSF GDB 7.99.90.20170420 (pre-8.0 stable branch) Jan Kratochvil

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