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

A new commit has been pushed.

Repo   : rpms/gdb
Branch : gdb-17.2-rebase-f44
Commit : 23f398e61a85e64e6d7f6288e7ae000db543885f
Author : Jan Kratochvil <jan.kratochvil@redhat.com>
Date   : 2015-11-03T22:28:36+01:00
Stats  : +1793/-3678 in 25 file(s)
URL    : https://src.fedoraproject.org/rpms/gdb/c/23f398e61a85e64e6d7f6288e7ae000db543885f?branch=gdb-17.2-rebase-f44

Log:
Rebase to FSF GDB 7.10.50.20151027 (trunk snapshot).

---
diff --git a/.gitignore b/.gitignore
index fdbf4dd..d732fd4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,2 @@
 /gdb-libstdc++-v3-python-r225521.tar.xz
-/gdb-7.10.tar.xz
+/gdb-7.10.50.20151027.tar.xz

diff --git a/gdb-6.3-readnever-20050907.patch b/gdb-6.3-readnever-20050907.patch
index 8eeb59c..ef8cf51 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.9.50.20150520/gdb/doc/gdb.texinfo
+Index: gdb-7.10.50.20151022/gdb/doc/gdb.texinfo
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/doc/gdb.texinfo	2015-05-31 16:34:58.436379663 +0200
-+++ gdb-7.9.50.20150520/gdb/doc/gdb.texinfo	2015-05-31 16:35:03.452416381 +0200
+--- gdb-7.10.50.20151022.orig/gdb/doc/gdb.texinfo	2015-10-22 22:16:50.483482288 +0200
++++ gdb-7.10.50.20151022/gdb/doc/gdb.texinfo	2015-10-22 22:28:22.042554142 +0200
 @@ -1032,6 +1032,12 @@ Read each symbol file's entire symbol ta
  the default, which is to read it incrementally as it is needed.
  This makes startup slower, but makes future operations faster.
@@ -28,10 +28,10 @@ Index: gdb-7.9.50.20150520/gdb/doc/gdb.texinfo
  @end table
  
  @node Mode Options
-Index: gdb-7.9.50.20150520/gdb/main.c
+Index: gdb-7.10.50.20151022/gdb/main.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/main.c	2015-05-31 16:34:58.439379685 +0200
-+++ gdb-7.9.50.20150520/gdb/main.c	2015-05-31 16:35:20.547541518 +0200
+--- gdb-7.10.50.20151022.orig/gdb/main.c	2015-10-22 22:16:50.485482299 +0200
++++ gdb-7.10.50.20151022/gdb/main.c	2015-10-22 22:28:22.042554142 +0200
 @@ -604,6 +604,7 @@ captured_main (void *data)
        {"tui", no_argument, 0, OPT_TUI},
        {"dbx", no_argument, &dbx_commands, 1},
@@ -48,10 +48,10 @@ Index: gdb-7.9.50.20150520/gdb/main.c
    --write            Set writing into executable and core files.\n\n\
  "), stream);
    fputs_unfiltered (_("\
-Index: gdb-7.9.50.20150520/gdb/symfile.c
+Index: gdb-7.10.50.20151022/gdb/symfile.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/symfile.c	2015-05-31 16:34:58.440379692 +0200
-+++ gdb-7.9.50.20150520/gdb/symfile.c	2015-05-31 16:35:03.454416395 +0200
+--- gdb-7.10.50.20151022.orig/gdb/symfile.c	2015-10-22 22:16:50.486482305 +0200
++++ gdb-7.10.50.20151022/gdb/symfile.c	2015-10-22 22:28:22.043554148 +0200
 @@ -80,6 +80,7 @@ static void clear_symtab_users_cleanup (
  
  /* Global variables owned by this file.  */
@@ -60,33 +60,33 @@ Index: gdb-7.9.50.20150520/gdb/symfile.c
  
  /* Functions this file defines.  */
  
-Index: gdb-7.9.50.20150520/gdb/dwarf2read.c
+Index: gdb-7.10.50.20151022/gdb/dwarf2read.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/dwarf2read.c	2015-05-31 16:34:58.446379736 +0200
-+++ gdb-7.9.50.20150520/gdb/dwarf2read.c	2015-05-31 16:35:03.459416432 +0200
-@@ -69,6 +69,7 @@
- #include "source.h"
+--- gdb-7.10.50.20151022.orig/gdb/dwarf2read.c	2015-10-22 22:28:22.046554165 +0200
++++ gdb-7.10.50.20151022/gdb/dwarf2read.c	2015-10-22 22:29:17.664881642 +0200
+@@ -70,6 +70,7 @@
  #include "filestuff.h"
  #include "build-id.h"
+ #include "namespace.h"
 +#include "top.h"
  
  #include <fcntl.h>
  #include <sys/types.h>
-@@ -2050,7 +2051,8 @@ dwarf2_has_info (struct objfile *objfile
+@@ -2059,7 +2060,8 @@ dwarf2_has_info (struct objfile *objfile
                               (void *) names);
        dwarf2_per_objfile->objfile = objfile;
      }
 -  return (!dwarf2_per_objfile->info.is_virtual
 +  return !readnever_symbol_files &&
 +	 (!dwarf2_per_objfile->info.is_virtual
- 	  && dwarf2_per_objfile->info.s.asection != NULL
+ 	  && dwarf2_per_objfile->info.s.section != NULL
  	  && !dwarf2_per_objfile->abbrev.is_virtual
- 	  && dwarf2_per_objfile->abbrev.s.asection != NULL);
-Index: gdb-7.9.50.20150520/gdb/top.h
+ 	  && dwarf2_per_objfile->abbrev.s.section != NULL);
+Index: gdb-7.10.50.20151022/gdb/top.h
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/top.h	2015-05-31 16:34:58.448379751 +0200
-+++ gdb-7.9.50.20150520/gdb/top.h	2015-05-31 16:35:03.459416432 +0200
-@@ -67,6 +67,7 @@ extern void set_prompt (const char *s);
+--- gdb-7.10.50.20151022.orig/gdb/top.h	2015-10-22 22:16:50.490482329 +0200
++++ gdb-7.10.50.20151022/gdb/top.h	2015-10-22 22:28:22.047554171 +0200
+@@ -74,6 +74,7 @@ extern int gdb_in_secondary_prompt_p (vo
  
  /* From random places.  */
  extern int readnow_symbol_files;

diff --git a/gdb-6.6-buildid-locate.patch b/gdb-6.6-buildid-locate.patch
index dc05c39..679c0f5 100644
--- a/gdb-6.6-buildid-locate.patch
+++ b/gdb-6.6-buildid-locate.patch
@@ -1,7 +1,7 @@
-Index: gdb-7.9.90.20150709/gdb/corelow.c
+Index: gdb-7.10.50.20151022/gdb/corelow.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/corelow.c	2015-07-09 22:05:20.988044312 +0200
-+++ gdb-7.9.90.20150709/gdb/corelow.c	2015-07-09 22:05:42.057222722 +0200
+--- gdb-7.10.50.20151022.orig/gdb/corelow.c	2015-10-22 22:30:46.226403087 +0200
++++ gdb-7.10.50.20151022/gdb/corelow.c	2015-10-22 22:30:49.266420986 +0200
 @@ -45,6 +45,10 @@
  #include "gdb_bfd.h"
  #include "completer.h"
@@ -94,11 +94,11 @@ Index: gdb-7.9.90.20150709/gdb/corelow.c
 +			   NULL, NULL, NULL,
 +			   &setlist, &showlist);
  }
-Index: gdb-7.9.90.20150709/gdb/doc/gdb.texinfo
+Index: gdb-7.10.50.20151022/gdb/doc/gdb.texinfo
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/doc/gdb.texinfo	2015-07-09 22:05:20.988044312 +0200
-+++ gdb-7.9.90.20150709/gdb/doc/gdb.texinfo	2015-07-09 22:05:42.067222806 +0200
-@@ -18304,6 +18304,27 @@ information files.
+--- gdb-7.10.50.20151022.orig/gdb/doc/gdb.texinfo	2015-10-22 22:30:46.233403128 +0200
++++ gdb-7.10.50.20151022/gdb/doc/gdb.texinfo	2015-10-22 22:30:49.271421015 +0200
+@@ -18495,6 +18495,27 @@ information files.
  
  @end table
  
@@ -126,10 +126,10 @@ Index: gdb-7.9.90.20150709/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.9.90.20150709/gdb/solib-svr4.c
+Index: gdb-7.10.50.20151022/gdb/solib-svr4.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/solib-svr4.c	2015-07-09 22:05:20.988044312 +0200
-+++ gdb-7.9.90.20150709/gdb/solib-svr4.c	2015-07-09 22:05:42.068222815 +0200
+--- gdb-7.10.50.20151022.orig/gdb/solib-svr4.c	2015-10-22 22:30:46.235403140 +0200
++++ gdb-7.10.50.20151022/gdb/solib-svr4.c	2015-10-22 22:30:49.272421021 +0200
 @@ -45,6 +45,7 @@
  #include "auxv.h"
  #include "gdb_bfd.h"
@@ -138,7 +138,7 @@ Index: gdb-7.9.90.20150709/gdb/solib-svr4.c
  
  static struct link_map_offsets *svr4_fetch_link_map_offsets (void);
  static int svr4_have_link_map_offsets (void);
-@@ -1379,9 +1380,52 @@ svr4_read_so_list (CORE_ADDR lm, CORE_AD
+@@ -1416,9 +1417,52 @@ svr4_read_so_list (CORE_ADDR lm, CORE_AD
  	  continue;
  	}
  
@@ -194,11 +194,11 @@ Index: gdb-7.9.90.20150709/gdb/solib-svr4.c
        xfree (buffer);
  
        /* If this entry has no name, or its name matches the name
-Index: gdb-7.9.90.20150709/gdb/elfread.c
+Index: gdb-7.10.50.20151022/gdb/elfread.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/elfread.c	2015-07-09 22:05:20.988044312 +0200
-+++ gdb-7.9.90.20150709/gdb/elfread.c	2015-07-09 22:05:42.068222815 +0200
-@@ -1250,9 +1250,10 @@ elf_symfile_read (struct objfile *objfil
+--- gdb-7.10.50.20151022.orig/gdb/elfread.c	2015-10-22 22:30:46.235403140 +0200
++++ gdb-7.10.50.20151022/gdb/elfread.c	2015-10-22 22:30:49.272421021 +0200
+@@ -1259,9 +1259,10 @@ elf_symfile_read (struct objfile *objfil
  	   && objfile->separate_debug_objfile == NULL
  	   && objfile->separate_debug_objfile_backlink == NULL)
      {
@@ -211,7 +211,7 @@ Index: gdb-7.9.90.20150709/gdb/elfread.c
  
        if (debugfile == NULL)
  	debugfile = find_separate_debug_file_by_debuglink (objfile);
-@@ -1266,6 +1267,12 @@ elf_symfile_read (struct objfile *objfil
+@@ -1275,6 +1276,12 @@ elf_symfile_read (struct objfile *objfil
  	  symbol_file_add_separate (abfd, debugfile, symfile_flags, objfile);
  	  do_cleanups (cleanup);
  	}
@@ -224,10 +224,10 @@ Index: gdb-7.9.90.20150709/gdb/elfread.c
      }
  }
  
-Index: gdb-7.9.90.20150709/gdb/symfile.h
+Index: gdb-7.10.50.20151022/gdb/symfile.h
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/symfile.h	2015-07-09 22:05:20.988044312 +0200
-+++ gdb-7.9.90.20150709/gdb/symfile.h	2015-07-09 22:05:42.068222815 +0200
+--- gdb-7.10.50.20151022.orig/gdb/symfile.h	2015-10-22 22:30:46.236403145 +0200
++++ gdb-7.10.50.20151022/gdb/symfile.h	2015-10-22 22:30:49.273421027 +0200
 @@ -584,6 +584,10 @@ void expand_symtabs_matching (expand_sym
  void map_symbol_filenames (symbol_filename_ftype *fun, void *data,
  			   int need_fullname);
@@ -239,11 +239,11 @@ Index: gdb-7.9.90.20150709/gdb/symfile.h
  /* From dwarf2read.c */
  
  /* Names for a dwarf2 debugging section.  The field NORMAL is the normal
-Index: gdb-7.9.90.20150709/gdb/testsuite/lib/gdb.exp
+Index: gdb-7.10.50.20151022/gdb/testsuite/lib/gdb.exp
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/testsuite/lib/gdb.exp	2015-07-09 22:05:20.988044312 +0200
-+++ gdb-7.9.90.20150709/gdb/testsuite/lib/gdb.exp	2015-07-09 22:05:42.070222832 +0200
-@@ -1573,6 +1573,16 @@ proc default_gdb_start { } {
+--- gdb-7.10.50.20151022.orig/gdb/testsuite/lib/gdb.exp	2015-10-22 22:30:46.237403151 +0200
++++ gdb-7.10.50.20151022/gdb/testsuite/lib/gdb.exp	2015-10-22 22:30:49.273421027 +0200
+@@ -1640,6 +1640,16 @@ proc default_gdb_start { } {
  	    warning "Couldn't set the width to 0."
  	}
      }
@@ -260,11 +260,11 @@ Index: gdb-7.9.90.20150709/gdb/testsuite/lib/gdb.exp
      return 0
  }
  
-Index: gdb-7.9.90.20150709/gdb/testsuite/lib/mi-support.exp
+Index: gdb-7.10.50.20151022/gdb/testsuite/lib/mi-support.exp
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/testsuite/lib/mi-support.exp	2015-07-09 22:05:20.988044312 +0200
-+++ gdb-7.9.90.20150709/gdb/testsuite/lib/mi-support.exp	2015-07-09 22:05:42.070222832 +0200
-@@ -214,6 +214,16 @@ proc default_mi_gdb_start { args } {
+--- gdb-7.10.50.20151022.orig/gdb/testsuite/lib/mi-support.exp	2015-10-22 22:30:49.274421033 +0200
++++ gdb-7.10.50.20151022/gdb/testsuite/lib/mi-support.exp	2015-10-22 22:31:24.869631575 +0200
+@@ -204,6 +204,16 @@ proc default_mi_gdb_start { args } {
  	    warning "Couldn't set the width to 0."
  	}
      }
@@ -278,14 +278,14 @@ Index: gdb-7.9.90.20150709/gdb/testsuite/lib/mi-support.exp
 +	    warning "Could not disable the missing debug infos warnings.."
 +	}
 +    }
-     # If allowing the inferior to have its own PTY then assign the inferior
-     # its own terminal device here.
+ 
+     # Create the new PTY for the inferior process.
      if { $separate_inferior_pty } {
-Index: gdb-7.9.90.20150709/gdb/objfiles.h
+Index: gdb-7.10.50.20151022/gdb/objfiles.h
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/objfiles.h	2015-07-09 22:05:20.988044312 +0200
-+++ gdb-7.9.90.20150709/gdb/objfiles.h	2015-07-09 22:05:42.071222840 +0200
-@@ -459,6 +459,10 @@ struct objfile
+--- gdb-7.10.50.20151022.orig/gdb/objfiles.h	2015-10-22 22:30:46.238403157 +0200
++++ gdb-7.10.50.20151022/gdb/objfiles.h	2015-10-22 22:30:49.274421033 +0200
+@@ -489,6 +489,10 @@ struct objfile
  
  #define OBJF_NOT_FILENAME (1 << 6)
  
@@ -296,10 +296,10 @@ Index: gdb-7.9.90.20150709/gdb/objfiles.h
  /* Declarations for functions defined in objfiles.c */
  
  extern struct objfile *allocate_objfile (bfd *, const char *name, int);
-Index: gdb-7.9.90.20150709/gdb/testsuite/gdb.base/corefile.exp
+Index: gdb-7.10.50.20151022/gdb/testsuite/gdb.base/corefile.exp
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/testsuite/gdb.base/corefile.exp	2015-07-09 22:05:20.988044312 +0200
-+++ gdb-7.9.90.20150709/gdb/testsuite/gdb.base/corefile.exp	2015-07-09 22:05:42.071222840 +0200
+--- gdb-7.10.50.20151022.orig/gdb/testsuite/gdb.base/corefile.exp	2015-10-22 22:30:46.238403157 +0200
++++ gdb-7.10.50.20151022/gdb/testsuite/gdb.base/corefile.exp	2015-10-22 22:30:49.274421033 +0200
 @@ -293,3 +293,33 @@ gdb_test_multiple "core-file $corefile"
  	pass $test
      }
@@ -334,10 +334,10 @@ Index: gdb-7.9.90.20150709/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.9.90.20150709/gdb/build-id.c
+Index: gdb-7.10.50.20151022/gdb/build-id.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/build-id.c	2015-07-09 22:05:20.988044312 +0200
-+++ gdb-7.9.90.20150709/gdb/build-id.c	2015-07-09 22:19:35.022957009 +0200
+--- gdb-7.10.50.20151022.orig/gdb/build-id.c	2015-10-22 22:30:46.238403157 +0200
++++ gdb-7.10.50.20151022/gdb/build-id.c	2015-10-22 22:34:36.579774662 +0200
 @@ -26,11 +26,67 @@
  #include "objfiles.h"
  #include "filenames.h"
@@ -765,7 +765,7 @@ Index: gdb-7.9.90.20150709/gdb/build-id.c
  
    if (found == NULL)
      warning (_("File \"%s\" has no build-id, file skipped"),
-@@ -65,20 +463,56 @@ build_id_verify (bfd *abfd, size_t check
+@@ -65,23 +463,56 @@ build_id_verify (bfd *abfd, size_t check
    return retval;
  }
  
@@ -818,15 +818,18 @@ Index: gdb-7.9.90.20150709/gdb/build-id.c
    struct cleanup *back_to;
    int ix;
    bfd *abfd = NULL;
+-  int alloc_len;
  
    /* DEBUG_FILE_DIRECTORY/.build-id/ab/cdef */
--  link = alloca (strlen (debug_file_directory) + (sizeof "/.build-id/" - 1) + 1
--		 + 2 * build_id_len + (sizeof ".debug" - 1) + 1);
+-  alloc_len = (strlen (debug_file_directory)
+-	       + (sizeof "/.build-id/" - 1) + 1
+-	       + 2 * build_id_len + (sizeof ".debug" - 1) + 1);
+-  link = (char *) alloca (alloc_len);
 +  link = xmalloc (strlen (debug_file_directory) + 2 * build_id_len + 50);
  
    /* Keep backward compatibility so that DEBUG_FILE_DIRECTORY being "" will
       cause "/.build-id/..." lookups.  */
-@@ -91,9 +525,12 @@ build_id_to_debug_bfd (size_t build_id_l
+@@ -94,9 +525,12 @@ build_id_to_debug_bfd (size_t build_id_l
        size_t debugdir_len = strlen (debugdir);
        const gdb_byte *data = build_id;
        size_t size = build_id_len;
@@ -840,7 +843,7 @@ Index: gdb-7.9.90.20150709/gdb/build-id.c
  
        memcpy (link, debugdir, debugdir_len);
        s = &link[debugdir_len];
-@@ -107,47 +544,281 @@ build_id_to_debug_bfd (size_t build_id_l
+@@ -110,47 +544,281 @@ build_id_to_debug_bfd (size_t build_id_l
  	*s++ = '/';
        while (size-- > 0)
  	s += sprintf (s, "%02x", (unsigned) *data++);
@@ -1141,7 +1144,7 @@ Index: gdb-7.9.90.20150709/gdb/build-id.c
        /* Prevent looping on a stripped .debug file.  */
        if (abfd != NULL
  	  && filename_cmp (bfd_get_filename (abfd),
-@@ -167,3 +838,21 @@ find_separate_debug_file_by_buildid (str
+@@ -170,3 +838,21 @@ find_separate_debug_file_by_buildid (str
      }
    return NULL;
  }
@@ -1163,10 +1166,10 @@ Index: gdb-7.9.90.20150709/gdb/build-id.c
 +
 +  observer_attach_executable_changed (debug_print_executable_changed);
 +}
-Index: gdb-7.9.90.20150709/gdb/build-id.h
+Index: gdb-7.10.50.20151022/gdb/build-id.h
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/build-id.h	2015-07-09 22:05:20.988044312 +0200
-+++ gdb-7.9.90.20150709/gdb/build-id.h	2015-07-09 22:05:42.072222849 +0200
+--- gdb-7.10.50.20151022.orig/gdb/build-id.h	2015-10-22 22:30:46.239403163 +0200
++++ gdb-7.10.50.20151022/gdb/build-id.h	2015-10-22 22:30:49.275421039 +0200
 @@ -20,9 +20,10 @@
  #ifndef BUILD_ID_H
  #define BUILD_ID_H
@@ -1201,11 +1204,11 @@ Index: gdb-7.9.90.20150709/gdb/build-id.h
 +					       char **build_id_filename_return);
  
  #endif /* BUILD_ID_H */
-Index: gdb-7.9.90.20150709/gdb/dwarf2read.c
+Index: gdb-7.10.50.20151022/gdb/dwarf2read.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/dwarf2read.c	2015-07-09 22:05:20.988044312 +0200
-+++ gdb-7.9.90.20150709/gdb/dwarf2read.c	2015-07-09 22:05:42.077222891 +0200
-@@ -2507,7 +2507,7 @@ dwarf2_get_dwz_file (void)
+--- gdb-7.10.50.20151022.orig/gdb/dwarf2read.c	2015-10-22 22:30:46.242403181 +0200
++++ gdb-7.10.50.20151022/gdb/dwarf2read.c	2015-10-22 22:30:49.278421057 +0200
+@@ -2514,7 +2514,7 @@ dwarf2_get_dwz_file (void)
      }
  
    if (dwz_bfd == NULL)
@@ -1214,10 +1217,10 @@ Index: gdb-7.9.90.20150709/gdb/dwarf2read.c
  
    if (dwz_bfd == NULL)
      error (_("could not find '.gnu_debugaltlink' file for %s"),
-Index: gdb-7.9.90.20150709/gdb/python/py-objfile.c
+Index: gdb-7.10.50.20151022/gdb/python/py-objfile.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/python/py-objfile.c	2015-07-09 22:05:20.988044312 +0200
-+++ gdb-7.9.90.20150709/gdb/python/py-objfile.c	2015-07-09 22:05:42.077222891 +0200
+--- gdb-7.10.50.20151022.orig/gdb/python/py-objfile.c	2015-10-22 22:30:46.243403187 +0200
++++ gdb-7.10.50.20151022/gdb/python/py-objfile.c	2015-10-22 22:30:49.278421057 +0200
 @@ -139,7 +139,7 @@ objfpy_get_build_id (PyObject *self, voi
  
    TRY
@@ -1236,10 +1239,10 @@ Index: gdb-7.9.90.20150709/gdb/python/py-objfile.c
        if (obfd_build_id == NULL)
  	continue;
        if (objfpy_build_id_matches (obfd_build_id, build_id))
-Index: gdb-7.9.90.20150709/gdb/coffread.c
+Index: gdb-7.10.50.20151022/gdb/coffread.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/coffread.c	2015-07-09 22:05:20.988044312 +0200
-+++ gdb-7.9.90.20150709/gdb/coffread.c	2015-07-09 22:05:42.078222899 +0200
+--- gdb-7.10.50.20151022.orig/gdb/coffread.c	2015-10-22 22:30:46.244403193 +0200
++++ gdb-7.10.50.20151022/gdb/coffread.c	2015-10-22 22:30:49.278421057 +0200
 @@ -739,7 +739,7 @@ coff_symfile_read (struct objfile *objfi
      {
        char *debugfile;

diff --git a/gdb-6.6-bz235197-fork-detach-info.patch b/gdb-6.6-bz235197-fork-detach-info.patch
index 26c928d..d131580 100644
--- a/gdb-6.6-bz235197-fork-detach-info.patch
+++ b/gdb-6.6-bz235197-fork-detach-info.patch
@@ -3,10 +3,10 @@
 	Port to GDB-6.8pre.
 	Remove the `[' character from the GDB-6.8 default message.
 
-Index: gdb-7.9.50.20150531/gdb/testsuite/gdb.base/fork-detach.c
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.base/fork-detach.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.9.50.20150531/gdb/testsuite/gdb.base/fork-detach.c	2015-05-31 18:23:49.008450716 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.base/fork-detach.c	2015-10-27 22:38:46.693459569 +0100
 @@ -0,0 +1,57 @@
 +/* This testcase is part of GDB, the GNU debugger.
 +
@@ -65,10 +65,10 @@ Index: gdb-7.9.50.20150531/gdb/testsuite/gdb.base/fork-detach.c
 +    }
 +  return 0;
 +}
-Index: gdb-7.9.50.20150531/gdb/testsuite/gdb.base/fork-detach.exp
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.base/fork-detach.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.9.50.20150531/gdb/testsuite/gdb.base/fork-detach.exp	2015-05-31 18:23:49.008450716 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.base/fork-detach.exp	2015-10-27 22:38:46.693459569 +0100
 @@ -0,0 +1,36 @@
 +# Copyright 2007 Free Software Foundation, Inc.
 +
@@ -106,11 +106,11 @@ Index: gdb-7.9.50.20150531/gdb/testsuite/gdb.base/fork-detach.exp
 +gdb_test "" \
 +         "Detaching after fork from child process.*\\\[Inferior .* exited normally\\\]" \
 +         "Info message caught"
-Index: gdb-7.9.50.20150531/gdb/infrun.c
+Index: gdb-7.10.50.20151027/gdb/infrun.c
 ===================================================================
---- gdb-7.9.50.20150531.orig/gdb/infrun.c	2015-05-31 18:23:41.703405617 +0200
-+++ gdb-7.9.50.20150531/gdb/infrun.c	2015-05-31 18:23:49.011450735 +0200
-@@ -443,7 +443,7 @@ holding the child stopped.  Try \"set de
+--- gdb-7.10.50.20151027.orig/gdb/infrun.c	2015-10-27 22:38:34.333386939 +0100
++++ gdb-7.10.50.20151027/gdb/infrun.c	2015-10-27 22:38:46.695459581 +0100
+@@ -477,7 +477,7 @@ holding the child stopped.  Try \"set de
  	      remove_breakpoints_pid (ptid_get_pid (inferior_ptid));
  	    }
  
@@ -119,3 +119,25 @@ Index: gdb-7.9.50.20150531/gdb/infrun.c
  	    {
  	      /* Ensure that we have a process ptid.  */
  	      ptid_t process_ptid = pid_to_ptid (ptid_get_pid (child_ptid));
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.base/catch-syscall.exp
+===================================================================
+--- gdb-7.10.50.20151027.orig/gdb/testsuite/gdb.base/catch-syscall.exp	2015-10-27 22:43:47.015224320 +0100
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.base/catch-syscall.exp	2015-10-27 22:44:29.327472955 +0100
+@@ -165,7 +165,7 @@ proc check_for_program_end {} {
+     # Deleting the catchpoints
+     delete_breakpoints
+ 
+-    gdb_continue_to_end
++    gdb_continue_to_end "" continue 1
+ }
+ 
+ proc test_catch_syscall_without_args {} {
+@@ -236,7 +236,7 @@ proc test_catch_syscall_with_wrong_args
+ 	# If it doesn't, everything is right (since we don't have
+ 	# a syscall named "mlock" in it).  Otherwise, this is a failure.
+ 	set thistest "catch syscall with unused syscall ($syscall_name)"
+-	gdb_continue_to_end $thistest
++	gdb_continue_to_end $thistest continue 1
+     }
+ }
+ 

diff --git a/gdb-6.6-scheduler_locking-step-is-default.patch b/gdb-6.6-scheduler_locking-step-is-default.patch
index e8e0595..4967b92 100644
--- a/gdb-6.6-scheduler_locking-step-is-default.patch
+++ b/gdb-6.6-scheduler_locking-step-is-default.patch
@@ -1,21 +1,21 @@
-Index: gdb-7.7.50.20140609/gdb/infrun.c
+Index: gdb-7.10.50.20151022/gdb/infrun.c
 ===================================================================
---- gdb-7.7.50.20140609.orig/gdb/infrun.c	2014-06-13 20:08:51.225699203 +0200
-+++ gdb-7.7.50.20140609/gdb/infrun.c	2014-06-13 20:08:55.515703466 +0200
-@@ -1661,7 +1661,7 @@ static const char *const scheduler_enums
-   schedlock_step,
+--- gdb-7.10.50.20151022.orig/gdb/infrun.c	2015-10-22 22:30:15.887224452 +0200
++++ gdb-7.10.50.20151022/gdb/infrun.c	2015-10-22 22:30:25.742282478 +0200
+@@ -2175,7 +2175,7 @@ static const char *const scheduler_enums
+   schedlock_replay,
    NULL
  };
--static const char *scheduler_mode = schedlock_off;
+-static const char *scheduler_mode = schedlock_replay;
 +static const char *scheduler_mode = schedlock_step;
  static void
  show_scheduler_mode (struct ui_file *file, int from_tty,
  		     struct cmd_list_element *c, const char *value)
-Index: gdb-7.7.50.20140609/gdb/testsuite/gdb.mi/mi-cli.exp
+Index: gdb-7.10.50.20151022/gdb/testsuite/gdb.mi/mi-cli.exp
 ===================================================================
---- gdb-7.7.50.20140609.orig/gdb/testsuite/gdb.mi/mi-cli.exp	2014-06-13 20:08:55.515703466 +0200
-+++ gdb-7.7.50.20140609/gdb/testsuite/gdb.mi/mi-cli.exp	2014-06-13 20:09:24.862732832 +0200
-@@ -181,7 +181,7 @@ mi_expect_stop "breakpoint-hit" "main" "
+--- gdb-7.10.50.20151022.orig/gdb/testsuite/gdb.mi/mi-cli.exp	2015-10-22 22:29:38.352003447 +0200
++++ gdb-7.10.50.20151022/gdb/testsuite/gdb.mi/mi-cli.exp	2015-10-22 22:30:15.888224458 +0200
+@@ -199,7 +199,7 @@ mi_expect_stop "breakpoint-hit" "main" "
  # Test that the token is output even for CLI commands
  # Also test that *stopped includes frame information.
  mi_gdb_test "34 next" \
@@ -24,10 +24,10 @@ Index: gdb-7.7.50.20140609/gdb/testsuite/gdb.mi/mi-cli.exp
      "34 next: run"
  
  # Test that the new current source line is output to the console
-Index: gdb-7.7.50.20140609/gdb/testsuite/gdb.mi/mi-logging.exp
+Index: gdb-7.10.50.20151022/gdb/testsuite/gdb.mi/mi-logging.exp
 ===================================================================
---- gdb-7.7.50.20140609.orig/gdb/testsuite/gdb.mi/mi-logging.exp	2014-06-13 20:08:51.227699205 +0200
-+++ gdb-7.7.50.20140609/gdb/testsuite/gdb.mi/mi-logging.exp	2014-06-13 20:08:55.516703467 +0200
+--- gdb-7.10.50.20151022.orig/gdb/testsuite/gdb.mi/mi-logging.exp	2015-10-22 22:29:38.352003447 +0200
++++ gdb-7.10.50.20151022/gdb/testsuite/gdb.mi/mi-logging.exp	2015-10-22 22:30:15.888224458 +0200
 @@ -53,7 +53,7 @@ close $chan
  
  set mi_log_prompt "\[(\]gdb\[)\] \[\r\n\]+"
@@ -46,10 +46,10 @@ Index: gdb-7.7.50.20140609/gdb/testsuite/gdb.mi/mi-logging.exp
      pass "Redirect log file contents"
  } else {
      fail "Redirect log file contents"
-Index: gdb-7.7.50.20140609/gdb/testsuite/gdb.mi/mi-console.exp
+Index: gdb-7.10.50.20151022/gdb/testsuite/gdb.mi/mi-console.exp
 ===================================================================
---- gdb-7.7.50.20140609.orig/gdb/testsuite/gdb.mi/mi-console.exp	2014-06-13 20:08:51.227699205 +0200
-+++ gdb-7.7.50.20140609/gdb/testsuite/gdb.mi/mi-console.exp	2014-06-13 20:08:55.516703467 +0200
+--- gdb-7.10.50.20151022.orig/gdb/testsuite/gdb.mi/mi-console.exp	2015-10-22 22:29:38.353003453 +0200
++++ gdb-7.10.50.20151022/gdb/testsuite/gdb.mi/mi-console.exp	2015-10-22 22:30:15.888224458 +0200
 @@ -60,6 +60,9 @@ if  { [gdb_compile "${srcdir}/${subdir}/
  
  mi_run_to_main

diff --git a/gdb-archer-vla-tests.patch b/gdb-archer-vla-tests.patch
index d0fd183..556f9d1 100644
--- a/gdb-archer-vla-tests.patch
+++ b/gdb-archer-vla-tests.patch
@@ -1,7 +1,7 @@
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.ada/packed_array.exp
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.ada/packed_array.exp
 ===================================================================
---- gdb-7.7.90.20140613.orig/gdb/testsuite/gdb.ada/packed_array.exp	2014-06-13 03:59:37.000000000 +0200
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.ada/packed_array.exp	2014-06-16 23:30:30.107940483 +0200
+--- gdb-7.10.50.20151027.orig/gdb/testsuite/gdb.ada/packed_array.exp	2015-10-27 02:48:32.000000000 +0100
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.ada/packed_array.exp	2015-11-03 22:23:27.212877605 +0100
 @@ -56,5 +56,11 @@ gdb_test_multiple "$test" "$test" {
          # are.  Observed with (FSF GNU Ada 4.5.3 20110124).
          xfail $test
@@ -14,10 +14,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.ada/packed_array.exp
 +    }
  }
  
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.arch/x86_64-vla-typedef-foo.S
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.arch/x86_64-vla-typedef-foo.S
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.arch/x86_64-vla-typedef-foo.S	2014-06-16 23:30:30.108940484 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.arch/x86_64-vla-typedef-foo.S	2015-11-03 22:23:27.212877605 +0100
 @@ -0,0 +1,455 @@
 +	.file	"x86_64-vla-typedef.c"
 +	.section	.debug_abbrev,"",@progbits
@@ -474,10 +474,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.arch/x86_64-vla-typedef-foo.S
 +	.string	"GNU C 4.3.2 20081105 (Red Hat 4.3.2-7)"
 +	.ident	"GCC: (GNU) 4.3.2 20081105 (Red Hat 4.3.2-7)"
 +	.section	.note.GNU-stack,"",@progbits
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.arch/x86_64-vla-typedef.c
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.arch/x86_64-vla-typedef.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.arch/x86_64-vla-typedef.c	2014-06-16 23:30:30.109940484 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.arch/x86_64-vla-typedef.c	2015-11-03 22:23:27.213877611 +0100
 @@ -0,0 +1,43 @@
 +/* This testcase is part of GDB, the GNU debugger.
 +
@@ -522,10 +522,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.arch/x86_64-vla-typedef.c
 +}
 +
 +#endif
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.arch/x86_64-vla-typedef.exp
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.arch/x86_64-vla-typedef.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.arch/x86_64-vla-typedef.exp	2014-06-16 23:30:30.109940484 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.arch/x86_64-vla-typedef.exp	2015-11-03 22:23:27.213877611 +0100
 @@ -0,0 +1,64 @@
 +# Copyright 2009 Free Software Foundation, Inc.
 +
@@ -591,10 +591,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.arch/x86_64-vla-typedef.exp
 +gdb_test "whatis array" "type = array_t" "second: whatis array"
 +
 +gdb_test "ptype array" "type = char \\\[78\\\]" "second: ptype array"
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/arrayidx.c
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.base/arrayidx.c
 ===================================================================
---- gdb-7.7.90.20140613.orig/gdb/testsuite/gdb.base/arrayidx.c	2014-06-13 03:59:37.000000000 +0200
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.base/arrayidx.c	2014-06-16 23:30:30.109940484 +0200
+--- gdb-7.10.50.20151027.orig/gdb/testsuite/gdb.base/arrayidx.c	2015-10-27 02:48:32.000000000 +0100
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.base/arrayidx.c	2015-11-03 22:23:27.213877611 +0100
 @@ -17,6 +17,13 @@
  
  int array[] = {1, 2, 3, 4};
@@ -609,10 +609,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/arrayidx.c
  int
  main (void)
  {
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/arrayidx.exp
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.base/arrayidx.exp
 ===================================================================
---- gdb-7.7.90.20140613.orig/gdb/testsuite/gdb.base/arrayidx.exp	2014-06-13 03:59:37.000000000 +0200
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.base/arrayidx.exp	2014-06-16 23:30:30.109940484 +0200
+--- gdb-7.10.50.20151027.orig/gdb/testsuite/gdb.base/arrayidx.exp	2015-10-27 02:48:32.000000000 +0100
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.base/arrayidx.exp	2015-11-03 22:23:27.213877611 +0100
 @@ -49,4 +49,12 @@ gdb_test "print array" \
           "\\{\\\[0\\\] = 1, \\\[1\\\] = 2, \\\[2\\\] = 3, \\\[3\\\] = 4\\}" \
           "Print array with array-indexes on"
@@ -627,10 +627,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/arrayidx.exp
 +	unsupported "$test (no GCC)"
 +    }
 +}
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/internal-var-field-address.c
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.base/internal-var-field-address.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.base/internal-var-field-address.c	2014-06-16 23:30:30.109940484 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.base/internal-var-field-address.c	2015-11-03 22:23:27.213877611 +0100
 @@ -0,0 +1,20 @@
 +/* This testcase is part of GDB, the GNU debugger.
 +
@@ -652,10 +652,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/internal-var-field-address.c
 +struct {
 +  int field;
 +} staticstruct = { 1 };
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/internal-var-field-address.exp
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.base/internal-var-field-address.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.base/internal-var-field-address.exp	2014-06-16 23:30:30.109940484 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.base/internal-var-field-address.exp	2015-11-03 22:23:27.213877611 +0100
 @@ -0,0 +1,26 @@
 +# Copyright 2009 Free Software Foundation, Inc.
 +
@@ -683,10 +683,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/internal-var-field-address.exp
 +
 +gdb_test {set $varstruct = staticstruct}
 +gdb_test {p $varstruct.field} " = 1"
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla-frame.c
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.base/vla-frame.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla-frame.c	2014-06-16 23:30:30.110940485 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.base/vla-frame.c	2015-11-03 22:23:27.213877611 +0100
 @@ -0,0 +1,31 @@
 +/* This testcase is part of GDB, the GNU debugger.
 +
@@ -719,10 +719,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla-frame.c
 +  f (s);
 +  return 0;
 +}
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla-frame.exp
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.base/vla-frame.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla-frame.exp	2014-06-16 23:30:30.110940485 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.base/vla-frame.exp	2015-11-03 22:23:27.213877611 +0100
 @@ -0,0 +1,38 @@
 +# Copyright 2011 Free Software Foundation, Inc.
 +#
@@ -762,10 +762,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla-frame.exp
 +}
 +
 +gdb_test "bt full" "\r\n +s = \"X\\\\000\"\r\n.*"
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla-overflow.c
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.base/vla-overflow.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla-overflow.c	2014-06-16 23:30:30.110940485 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.base/vla-overflow.c	2015-11-03 22:23:27.213877611 +0100
 @@ -0,0 +1,30 @@
 +/* This testcase is part of GDB, the GNU debugger.
 +
@@ -797,10 +797,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla-overflow.c
 +
 +  return 0;
 +}
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla-overflow.exp
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.base/vla-overflow.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla-overflow.exp	2014-06-16 23:30:30.110940485 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.base/vla-overflow.exp	2015-11-03 22:23:27.213877611 +0100
 @@ -0,0 +1,109 @@
 +# Copyright 2008 Free Software Foundation, Inc.
 +
@@ -911,10 +911,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla-overflow.exp
 +gdb_test "bt" "in \[^ \]*abort \\(.* in main \\(.*" "Backtrace after abort()"
 +
 +verbose -log "kb_found in bt after abort() = [expr [memory_v_pages_get] * $pagesize / 1024]"
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla.c
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.base/vla.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla.c	2014-06-16 23:30:30.110940485 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.base/vla.c	2015-11-03 22:23:27.213877611 +0100
 @@ -0,0 +1,55 @@
 +/* This testcase is part of GDB, the GNU debugger.
 +
@@ -971,10 +971,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla.c
 +  foo (78);
 +  return 0;
 +}
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla.exp
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.base/vla.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla.exp	2014-06-16 23:30:30.110940485 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.base/vla.exp	2015-11-03 22:23:27.214877617 +0100
 @@ -0,0 +1,62 @@
 +# Copyright 2008 Free Software Foundation, Inc.
 +
@@ -1038,10 +1038,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla.exp
 +gdb_test "p temp1" " = '1' <repeats 78 times>" "second: print temp1"
 +gdb_test "p temp2" " = '2' <repeats 78 times>" "second: print temp2"
 +gdb_test "p temp3" " = '3' <repeats 48 times>" "second: print temp3"
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.S
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.S
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.S	2014-06-16 23:30:30.111940487 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.S	2015-11-03 22:23:27.214877617 +0100
 @@ -0,0 +1,246 @@
 +/* This testcase is part of GDB, the GNU debugger.
 +
@@ -1289,11 +1289,11 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.S
 +	.string		"char"
 +.Luint_str:
 +	.string		"unsigned int"
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.exp
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.exp	2014-06-16 23:30:30.111940487 +0200
-@@ -0,0 +1,63 @@
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.exp	2015-11-03 22:23:27.214877617 +0100
+@@ -0,0 +1,66 @@
 +# Copyright 2010 Free Software Foundation, Inc.
 +
 +# This program is free software; you can redistribute it and/or modify
@@ -1332,17 +1332,20 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.exp
 +
 +# Verify it behaves at least as an unbound array without inferior.
 +
-+set test "p a_string"
-+gdb_test_multiple $test $test {
-+    -re " = 0x\[0-9a-f\]+ \"seennotseen\"\r\n$gdb_prompt $" {
-+	pass $test
-+    }
-+    -re "No registers\\.\r\n$gdb_prompt $" {
-+	kfail "vlaregression" $test
-+    }
-+}
-+
-+gdb_test "ptype a_string" {type = char \[variable length\]}
++# FIXME: FSF GDB crashes due to !has_stack_frames ().
++# But in practice that should not happen.
++# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43762
++#set test "p a_string"
++#gdb_test_multiple $test $test {
++#    -re " = 0x\[0-9a-f\]+ \"seennotseen\"\r\n$gdb_prompt $" {
++#	pass $test
++#    }
++#    -re "No registers\\.\r\n$gdb_prompt $" {
++#	kfail "vlaregression" $test
++#    }
++#}
++#
++#gdb_test "ptype a_string" {type = char \[variable length\]}
 +
 +# Not runto_main as dw2-bound-loclist.S handles only the first byte of main.
 +if ![runto "*main"] {
@@ -1357,10 +1360,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.exp
 +
 +# The register contains unpredictable value - the array size.
 +gdb_test "ptype reg_string" {type = char \[-?[0-9]+\]}
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-stripped.c
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.dwarf2/dw2-stripped.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-stripped.c	2014-06-16 23:30:30.111940487 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.dwarf2/dw2-stripped.c	2015-11-03 22:23:27.214877617 +0100
 @@ -0,0 +1,42 @@
 +/* This testcase is part of GDB, the GNU debugger.
 +
@@ -1404,10 +1407,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-stripped.c
 +  func1 (1, 2);
 +  return 0;
 +}
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp	2014-06-16 23:30:30.111940487 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp	2015-11-03 22:23:27.214877617 +0100
 @@ -0,0 +1,79 @@
 +# Copyright 2006 Free Software Foundation, Inc.
 +
@@ -1488,10 +1491,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp
 +gdb_test "step" \
 +         "func.* \\(.*\\) at .*" \
 +         "step"
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.S
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.S
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.S	2014-06-16 23:30:30.112940488 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.S	2015-11-03 22:23:27.214877617 +0100
 @@ -0,0 +1,83 @@
 +/* This testcase is part of GDB, the GNU debugger.
 +
@@ -1576,10 +1579,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-locat
 +
 +	.byte		0x0			/* Terminator */
 +	.byte		0x0			/* Terminator */
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.exp
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.exp	2014-06-16 23:30:30.112940488 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.exp	2015-11-03 22:23:27.214877617 +0100
 @@ -0,0 +1,37 @@
 +# Copyright 2009 Free Software Foundation, Inc.
 +
@@ -1618,10 +1621,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-locat
 +clean_restart $binfile
 +
 +gdb_test "ptype struct some_struct" "type = struct some_struct {\[\r\n \t\]*void field;\[\r\n \t\]*}"
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.S
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.S
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.S	2014-06-16 23:30:30.112940488 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.S	2015-11-03 22:23:27.214877617 +0100
 @@ -0,0 +1,121 @@
 +/* This testcase is part of GDB, the GNU debugger.
 +
@@ -1744,10 +1747,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.S
 +	.byte		0x0			/* Terminator */
 +
 +	.byte		0x0			/* Terminator */
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.exp
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.exp	2014-06-16 23:30:30.112940488 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.exp	2015-11-03 22:23:27.215877623 +0100
 @@ -0,0 +1,39 @@
 +# Copyright 2012 Free Software Foundation, Inc.
 +
@@ -1788,10 +1791,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.exp
 +
 +gdb_test "ptype notype_string" {type = char \[129\]}
 +gdb_test "p notype_string" " = 'x' <repeats 129 times>"
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/dwarf-stride.exp
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/dwarf-stride.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/dwarf-stride.exp	2014-06-16 23:30:30.112940488 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/dwarf-stride.exp	2015-11-03 22:23:27.215877623 +0100
 @@ -0,0 +1,42 @@
 +# Copyright 2009 Free Software Foundation, Inc.
 +
@@ -1835,10 +1838,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/dwarf-stride.exp
 +gdb_continue_to_breakpoint "break-here" ".*break-here.*"
 +gdb_test "p c40pt(1)" " = '0-hello.*"
 +gdb_test "p c40pt(2)" " = '1-hello.*"
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/dwarf-stride.f90
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/dwarf-stride.f90
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/dwarf-stride.f90	2014-06-16 23:30:30.112940488 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/dwarf-stride.f90	2015-11-03 22:23:27.215877623 +0100
 @@ -0,0 +1,40 @@
 +! Copyright 2009 Free Software Foundation, Inc.
 +!
@@ -1880,10 +1883,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/dwarf-stride.f90
 +  print *, c40pt  ! break-here
 +
 +end program repro
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/dynamic.exp
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/dynamic.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/dynamic.exp	2014-06-16 23:37:45.568362563 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/dynamic.exp	2015-11-03 22:27:25.481281904 +0100
 @@ -0,0 +1,151 @@
 +# Copyright 2007 Free Software Foundation, Inc.
 +
@@ -1931,9 +1934,9 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/dynamic.exp
 +gdb_continue_to_breakpoint "varx-init"
 +gdb_test "p varx" "\\$\[0-9\]* = <not allocated>" "p varx unallocated"
 +gdb_test "ptype varx" "type = <not allocated>" "ptype varx unallocated"
-+gdb_test "p varx(1,5,17)" "no such vector element because not allocated" "p varx(1,5,17) unallocated"
-+gdb_test "p varx(1,5,17)=1" "no such vector element because not allocated" "p varx(1,5,17)=1 unallocated"
-+gdb_test "ptype varx(1,5,17)" "no such vector element because not allocated" "ptype varx(1,5,17) unallocated"
++gdb_test "p varx(1,5,17)" {no such vector element \(vector not allocated\)} "p varx(1,5,17) unallocated"
++gdb_test "p varx(1,5,17)=1" {no such vector element \(vector not allocated\)} "p varx(1,5,17)=1 unallocated"
++gdb_test "ptype varx(1,5,17)" {no such vector element \(vector not allocated\)} "ptype varx(1,5,17) unallocated"
 +
 +gdb_breakpoint [gdb_get_line_number "varx-allocated"]
 +gdb_continue_to_breakpoint "varx-allocated"
@@ -1979,16 +1982,16 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/dynamic.exp
 +gdb_test "p varv" "\\$\[0-9\]* = (<not associated>|.*(Cannot access it|Unable to access the object) because the object is not associated.)" "p varv deassociated"
 +gdb_test "ptype varv" "type = (<not associated>|.*(Cannot access it|Unable to access the object) because the object is not associated.)" "ptype varv deassociated"
 +gdb_test "p l" "\\$\[0-9\]* = \\.FALSE\\." "p l if varv deassociated"
-+gdb_test "p varv(1,5,17)" "no such vector element because not associated"
-+gdb_test "ptype varv(1,5,17)" "no such vector element because not associated"
++gdb_test "p varv(1,5,17)" {no such vector element \(vector not associated\)}
++gdb_test "ptype varv(1,5,17)" {no such vector element \(vector not associated\)}
 +
 +gdb_breakpoint [gdb_get_line_number "varx-deallocated"]
 +gdb_continue_to_breakpoint "varx-deallocated"
 +gdb_test "p varx" "\\$\[0-9\]* = <not allocated>" "p varx deallocated"
 +gdb_test "ptype varx" "type = <not allocated>" "ptype varx deallocated"
 +gdb_test "p l" "\\$\[0-9\]* = \\.FALSE\\." "p l if varx deallocated"
-+gdb_test "p varx(1,5,17)" "no such vector element because not allocated" "p varx(1,5,17) deallocated"
-+gdb_test "ptype varx(1,5,17)" "no such vector element because not allocated" "ptype varx(1,5,17) deallocated"
++gdb_test "p varx(1,5,17)" {no such vector element \(vector not allocated\)} "p varx(1,5,17) deallocated"
++gdb_test "ptype varx(1,5,17)" {no such vector element \(vector not allocated\)} "ptype varx(1,5,17) deallocated"
 +
 +gdb_breakpoint [gdb_get_line_number "vary-passed"]
 +gdb_continue_to_breakpoint "vary-passed"
@@ -2036,10 +2039,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/dynamic.exp
 +gdb_test "p vart(3,8)" "\\$\[0-9\]* = 9"
 +# maps to foo::vary(1,3)
 +gdb_test "p vart(2,9)" "\\$\[0-9\]* = 10"
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/dynamic.f90
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/dynamic.f90
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/dynamic.f90	2014-06-16 23:30:30.113940488 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/dynamic.f90	2015-11-03 22:23:27.215877623 +0100
 @@ -0,0 +1,98 @@
 +! Copyright 2007 Free Software Foundation, Inc.
 +!
@@ -2139,10 +2142,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/dynamic.f90
 +  if (x (1, 1) .ne. 8 .or. x (2, 2) .ne. 9 .or. x (1, 2) .ne. 4) call abort
 +  if (x (3, 1) .ne. 10) call abort
 +end
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/string.exp
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/string.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/string.exp	2014-06-16 23:30:30.114940489 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/string.exp	2015-11-03 22:23:27.215877623 +0100
 @@ -0,0 +1,59 @@
 +# Copyright 2008 Free Software Foundation, Inc.
 +
@@ -2203,10 +2206,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/string.exp
 +gdb_continue_to_breakpoint "var-finish"
 +gdb_test "p e" "\\$\[0-9\]* = 'e   '" "p e re-set"
 +gdb_test "p f" "\\$\[0-9\]* = \\(\\( 'f   ', 'f   ', 'f   ', 'f   ', 'f   ', 'f   ', 'f   '\\) \\( 'f2  ', 'f   ', 'f   ', 'f   ', 'f   ', 'f   ', 'f   '\\) \\( 'f   ', 'f   ', 'f   ', 'f   ', 'f   ', 'f   ', 'f   '\\) \\)" "p *f re-set"
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/string.f90
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/string.f90
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/string.f90	2014-06-16 23:30:30.114940489 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/string.f90	2015-11-03 22:23:27.215877623 +0100
 @@ -0,0 +1,37 @@
 +! Copyright 2008 Free Software Foundation, Inc.
 +!
@@ -2245,10 +2248,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/string.f90
 +  h = 'h'
 +  call foo (g, h)
 +end
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/subrange.exp
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/subrange.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/subrange.exp	2014-06-16 23:30:30.114940489 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/subrange.exp	2015-11-03 22:23:27.215877623 +0100
 @@ -0,0 +1,72 @@
 +# Copyright 2011 Free Software Foundation, Inc.
 +
@@ -2322,10 +2325,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/subrange.exp
 +gdb_unload
 +setup_kfail "*-*-*" "vlaregression/9999"
 +gdb_test {p $a (3, 2:2)} { = \(23\)}
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/subrange.f90
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/subrange.f90
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/subrange.f90	2014-06-16 23:30:30.114940489 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/subrange.f90	2015-11-03 22:23:27.215877623 +0100
 @@ -0,0 +1,28 @@
 +! Copyright 2011 Free Software Foundation, Inc.
 +!
@@ -2355,10 +2358,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/subrange.f90
 +  ptr => a
 +  write (*,*) a                 ! break-static
 +end
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.mi/mi2-var-stale-type.c
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.mi/mi2-var-stale-type.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.mi/mi2-var-stale-type.c	2014-06-16 23:30:30.114940489 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.mi/mi2-var-stale-type.c	2015-11-03 22:23:27.216877629 +0100
 @@ -0,0 +1,26 @@
 +/* Copyright 2011 Free Software Foundation, Inc.
 +
@@ -2386,10 +2389,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.mi/mi2-var-stale-type.c
 +
 +  return 0;
 +}
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.mi/mi2-var-stale-type.exp
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.mi/mi2-var-stale-type.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.mi/mi2-var-stale-type.exp	2014-06-16 23:30:30.114940489 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.mi/mi2-var-stale-type.exp	2015-11-03 22:23:27.216877629 +0100
 @@ -0,0 +1,57 @@
 +# Copyright 2011 Free Software Foundation, Inc.
 +#
@@ -2448,10 +2451,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.mi/mi2-var-stale-type.exp
 +mi_create_varobj "vla" "vla" "create local variable vla"
 +
 +mi_gdb_test "-var-update *" "\\^done,changelist=.*" "-var-update *"
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.opt/array-from-register-func.c
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.opt/array-from-register-func.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.opt/array-from-register-func.c	2014-06-16 23:30:30.115940490 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.opt/array-from-register-func.c	2015-11-03 22:23:27.216877629 +0100
 @@ -0,0 +1,22 @@
 +/* This file is part of GDB, the GNU debugger.
 +
@@ -2475,10 +2478,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.opt/array-from-register-func.c
 +{
 +  return arr[0];
 +}
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.opt/array-from-register.c
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.opt/array-from-register.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.opt/array-from-register.c	2014-06-16 23:30:30.115940490 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.opt/array-from-register.c	2015-11-03 22:23:27.216877629 +0100
 @@ -0,0 +1,28 @@
 +/* This file is part of GDB, the GNU debugger.
 +
@@ -2508,10 +2511,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.opt/array-from-register.c
 +
 +  return 0;
 +}
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.opt/array-from-register.exp
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.opt/array-from-register.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.opt/array-from-register.exp	2014-06-16 23:30:30.115940490 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.opt/array-from-register.exp	2015-11-03 22:23:27.216877629 +0100
 @@ -0,0 +1,33 @@
 +# Copyright 2009 Free Software Foundation, Inc.
 +#
@@ -2546,10 +2549,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.opt/array-from-register.exp
 +# Seen regression:
 +# Address requested for identifier "arr" which is in register $rdi
 +gdb_test "p arr\[0\]" "\\$\[0-9\]+ = 42"
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.pascal/arrays.exp
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.pascal/arrays.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.pascal/arrays.exp	2014-06-16 23:30:30.115940490 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.pascal/arrays.exp	2015-11-03 22:23:27.216877629 +0100
 @@ -0,0 +1,104 @@
 +# Copyright 2008, 2009 Free Software Foundation, Inc.
 +#
@@ -2655,10 +2658,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.pascal/arrays.exp
 +}
 +gdb_test "print DynArrChar" ".* = 'abcdefghijklm'" "Print dynamic array of char"
 +
-Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.pascal/arrays.pas
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.pascal/arrays.pas
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.pascal/arrays.pas	2014-06-16 23:30:30.115940490 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.pascal/arrays.pas	2015-11-03 22:23:27.216877629 +0100
 @@ -0,0 +1,82 @@
 +{
 + Copyright 2008, 2009 Free Software Foundation, Inc.
@@ -2742,11 +2745,11 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.pascal/arrays.pas
 +  s := 'test'#0'string';
 +  writeln(s); { set breakpoint 2 here }
 +end.
-Index: gdb-7.7.90.20140613/gdb/testsuite/lib/gdb.exp
+Index: gdb-7.10.50.20151027/gdb/testsuite/lib/gdb.exp
 ===================================================================
---- gdb-7.7.90.20140613.orig/gdb/testsuite/lib/gdb.exp	2014-06-16 23:30:29.278939700 +0200
-+++ gdb-7.7.90.20140613/gdb/testsuite/lib/gdb.exp	2014-06-16 23:30:30.117940492 +0200
-@@ -159,6 +159,11 @@ proc gdb_unload {} {
+--- gdb-7.10.50.20151027.orig/gdb/testsuite/lib/gdb.exp	2015-11-03 22:23:26.684874457 +0100
++++ gdb-7.10.50.20151027/gdb/testsuite/lib/gdb.exp	2015-11-03 22:23:27.217877635 +0100
+@@ -173,6 +173,11 @@ proc gdb_unload {} {
  	    send_gdb "y\n"
  	    exp_continue
  	}
@@ -2758,10 +2761,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/lib/gdb.exp
  	-re "Discard symbol table from .*y or n.*$" {
  	    send_gdb "y\n"
  	    exp_continue
-Index: gdb-7.7.90.20140613/gdb/testsuite/lib/pascal.exp
+Index: gdb-7.10.50.20151027/gdb/testsuite/lib/pascal.exp
 ===================================================================
---- gdb-7.7.90.20140613.orig/gdb/testsuite/lib/pascal.exp	2014-06-13 03:59:37.000000000 +0200
-+++ gdb-7.7.90.20140613/gdb/testsuite/lib/pascal.exp	2014-06-16 23:30:30.117940492 +0200
+--- gdb-7.10.50.20151027.orig/gdb/testsuite/lib/pascal.exp	2015-10-27 02:48:32.000000000 +0100
++++ gdb-7.10.50.20151027/gdb/testsuite/lib/pascal.exp	2015-11-03 22:23:27.217877635 +0100
 @@ -37,6 +37,9 @@ proc pascal_init {} {
      global pascal_compiler_is_fpc
      global gpc_compiler

diff --git a/gdb-attach-fail-reasons-5of5.patch b/gdb-attach-fail-reasons-5of5.patch
index 83005b4..c4cd84e 100644
--- a/gdb-attach-fail-reasons-5of5.patch
+++ b/gdb-attach-fail-reasons-5of5.patch
@@ -37,13 +37,13 @@ gdb/gdbserver/
 	(linux_create_inferior, linux_tracefork_child): Call it instead of
 	direct ptrace.
 
-Index: gdb-7.9.90.20150709/gdb/nat/linux-ptrace.c
+Index: gdb-7.10.50.20151022/gdb/nat/linux-ptrace.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/nat/linux-ptrace.c	2015-07-09 18:24:13.705140384 +0200
-+++ gdb-7.9.90.20150709/gdb/nat/linux-ptrace.c	2015-07-09 18:24:24.911235973 +0200
-@@ -23,6 +23,10 @@
- #include "buffer.h"
+--- gdb-7.10.50.20151022.orig/gdb/nat/linux-ptrace.c	2015-10-22 22:35:00.474917139 +0200
++++ gdb-7.10.50.20151022/gdb/nat/linux-ptrace.c	2015-10-22 22:35:08.120962729 +0200
+@@ -24,6 +24,10 @@
  #include "gdb_wait.h"
+ #include "gdb_ptrace.h"
  
 +#ifdef HAVE_SELINUX_SELINUX_H
 +# include <selinux/selinux.h>
@@ -52,7 +52,7 @@ Index: gdb-7.9.90.20150709/gdb/nat/linux-ptrace.c
  /* Stores the ptrace options supported by the running kernel.
     A value of -1 means we did not check for features yet.  A value
     of 0 means there are no supported features.  */
-@@ -47,6 +51,8 @@ linux_ptrace_attach_fail_reason (pid_t p
+@@ -48,6 +52,8 @@ linux_ptrace_attach_fail_reason (pid_t p
      buffer_xml_printf (buffer, _("process %d is a zombie "
  				 "- the process has already terminated"),
  		       (int) pid);
@@ -61,7 +61,7 @@ Index: gdb-7.9.90.20150709/gdb/nat/linux-ptrace.c
  }
  
  /* See linux-ptrace.h.  */
-@@ -581,6 +587,22 @@ linux_ptrace_init_warnings (void)
+@@ -594,6 +600,22 @@ linux_ptrace_init_warnings (void)
    linux_ptrace_test_ret_to_nx ();
  }
  
@@ -84,11 +84,11 @@ Index: gdb-7.9.90.20150709/gdb/nat/linux-ptrace.c
  /* Extract extended ptrace event from wait status.  */
  
  int
-Index: gdb-7.9.90.20150709/gdb/nat/linux-ptrace.h
+Index: gdb-7.10.50.20151022/gdb/nat/linux-ptrace.h
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/nat/linux-ptrace.h	2015-07-09 18:24:13.706140392 +0200
-+++ gdb-7.9.90.20150709/gdb/nat/linux-ptrace.h	2015-07-09 18:24:24.912235981 +0200
-@@ -157,6 +157,7 @@ extern void linux_ptrace_attach_fail_rea
+--- gdb-7.10.50.20151022.orig/gdb/nat/linux-ptrace.h	2015-10-22 22:35:00.474917139 +0200
++++ gdb-7.10.50.20151022/gdb/nat/linux-ptrace.h	2015-10-22 22:35:08.120962729 +0200
+@@ -164,6 +164,7 @@ extern void linux_ptrace_attach_fail_rea
  extern char *linux_ptrace_attach_fail_reason_string (ptid_t ptid, int err);
  
  extern void linux_ptrace_init_warnings (void);
@@ -96,11 +96,11 @@ Index: gdb-7.9.90.20150709/gdb/nat/linux-ptrace.h
  extern void linux_check_ptrace_features (void);
  extern void linux_enable_event_reporting (pid_t pid, int attached);
  extern void linux_disable_event_reporting (pid_t pid);
-Index: gdb-7.9.90.20150709/gdb/configure.ac
+Index: gdb-7.10.50.20151022/gdb/configure.ac
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/configure.ac	2015-07-09 18:24:13.707140401 +0200
-+++ gdb-7.9.90.20150709/gdb/configure.ac	2015-07-09 18:24:24.913235990 +0200
-@@ -2150,6 +2150,10 @@ case $host_os in
+--- gdb-7.10.50.20151022.orig/gdb/configure.ac	2015-10-22 22:35:00.475917145 +0200
++++ gdb-7.10.50.20151022/gdb/configure.ac	2015-10-22 22:35:08.121962735 +0200
+@@ -2096,6 +2096,10 @@ case $host_os in
  esac
  AC_DEFINE_UNQUOTED(GDBINIT,"$gdbinit",[The .gdbinit filename.])
  
@@ -111,11 +111,11 @@ Index: gdb-7.9.90.20150709/gdb/configure.ac
  dnl Handle optional features that can be enabled.
  
  # Support for --with-sysroot is a copy of GDB_AC_WITH_DIR,
-Index: gdb-7.9.90.20150709/gdb/gdbserver/configure.ac
+Index: gdb-7.10.50.20151022/gdb/gdbserver/configure.ac
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/gdbserver/configure.ac	2015-07-09 18:24:13.707140401 +0200
-+++ gdb-7.9.90.20150709/gdb/gdbserver/configure.ac	2015-07-09 18:24:24.913235990 +0200
-@@ -499,6 +499,10 @@ if $want_ipa ; then
+--- gdb-7.10.50.20151022.orig/gdb/gdbserver/configure.ac	2015-10-22 22:35:00.475917145 +0200
++++ gdb-7.10.50.20151022/gdb/gdbserver/configure.ac	2015-10-22 22:35:08.121962735 +0200
+@@ -502,6 +502,10 @@ if $want_ipa ; then
     fi
  fi
  
@@ -126,11 +126,11 @@ Index: gdb-7.9.90.20150709/gdb/gdbserver/configure.ac
  AC_SUBST(GDBSERVER_DEPFILES)
  AC_SUBST(GDBSERVER_LIBS)
  AC_SUBST(srv_xmlbuiltin)
-Index: gdb-7.9.90.20150709/gdb/gdbserver/linux-low.c
+Index: gdb-7.10.50.20151022/gdb/gdbserver/linux-low.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/gdbserver/linux-low.c	2015-07-09 18:24:13.709140418 +0200
-+++ gdb-7.9.90.20150709/gdb/gdbserver/linux-low.c	2015-07-09 18:24:24.914235998 +0200
-@@ -755,6 +755,29 @@ add_lwp (ptid_t ptid)
+--- gdb-7.10.50.20151022.orig/gdb/gdbserver/linux-low.c	2015-10-22 22:35:00.476917151 +0200
++++ gdb-7.10.50.20151022/gdb/gdbserver/linux-low.c	2015-10-22 22:35:08.122962741 +0200
+@@ -843,6 +843,29 @@ add_lwp (ptid_t ptid)
    return lwp;
  }
  
@@ -160,7 +160,7 @@ Index: gdb-7.9.90.20150709/gdb/gdbserver/linux-low.c
  /* Start an inferior process and returns its pid.
     ALLARGS is a vector of program-name and args. */
  
-@@ -778,7 +801,7 @@ linux_create_inferior (char *program, ch
+@@ -866,7 +889,7 @@ linux_create_inferior (char *program, ch
    if (pid == 0)
      {
        close_most_fds ();
@@ -169,10 +169,10 @@ Index: gdb-7.9.90.20150709/gdb/gdbserver/linux-low.c
  
  #ifndef __ANDROID__ /* Bionic doesn't use SIGRTMIN the way glibc does.  */
        signal (__SIGRTMIN + 1, SIG_DFL);
-Index: gdb-7.9.90.20150709/gdb/inf-ptrace.c
+Index: gdb-7.10.50.20151022/gdb/inf-ptrace.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/inf-ptrace.c	2015-07-09 18:24:13.710140426 +0200
-+++ gdb-7.9.90.20150709/gdb/inf-ptrace.c	2015-07-09 18:24:24.915236007 +0200
+--- gdb-7.10.50.20151022.orig/gdb/inf-ptrace.c	2015-10-22 22:35:00.477917156 +0200
++++ gdb-7.10.50.20151022/gdb/inf-ptrace.c	2015-10-22 22:35:08.122962741 +0200
 @@ -79,7 +79,15 @@ static void
  inf_ptrace_me (void)
  {
@@ -189,10 +189,10 @@ Index: gdb-7.9.90.20150709/gdb/inf-ptrace.c
  }
  
  /* Start a new inferior Unix child process.  EXEC_FILE is the file to
-Index: gdb-7.9.90.20150709/gdb/linux-nat.c
+Index: gdb-7.10.50.20151022/gdb/linux-nat.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/linux-nat.c	2015-07-09 18:24:13.712140443 +0200
-+++ gdb-7.9.90.20150709/gdb/linux-nat.c	2015-07-09 18:24:24.916236015 +0200
+--- gdb-7.10.50.20151022.orig/gdb/linux-nat.c	2015-10-22 22:35:00.477917156 +0200
++++ gdb-7.10.50.20151022/gdb/linux-nat.c	2015-10-22 22:35:08.123962747 +0200
 @@ -1184,6 +1184,7 @@ linux_nat_create_inferior (struct target
  {
    struct cleanup *restore_personality
@@ -231,10 +231,10 @@ Index: gdb-7.9.90.20150709/gdb/linux-nat.c
  
    do_cleanups (restore_personality);
  }
-Index: gdb-7.9.90.20150709/gdb/config.in
+Index: gdb-7.10.50.20151022/gdb/config.in
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/config.in	2015-07-09 18:24:13.713140452 +0200
-+++ gdb-7.9.90.20150709/gdb/config.in	2015-07-09 18:24:24.916236015 +0200
+--- gdb-7.10.50.20151022.orig/gdb/config.in	2015-10-22 22:35:00.478917162 +0200
++++ gdb-7.10.50.20151022/gdb/config.in	2015-10-22 22:35:08.123962747 +0200
 @@ -264,6 +264,9 @@
  /* Define if librpm library is being used. */
  #undef HAVE_LIBRPM
@@ -255,11 +255,11 @@ Index: gdb-7.9.90.20150709/gdb/config.in
  /* Define to 1 if you have the `setlocale' function. */
  #undef HAVE_SETLOCALE
  
-Index: gdb-7.9.90.20150709/gdb/configure
+Index: gdb-7.10.50.20151022/gdb/configure
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/configure	2015-07-09 18:24:13.718140495 +0200
-+++ gdb-7.9.90.20150709/gdb/configure	2015-07-09 18:24:24.920236049 +0200
-@@ -14228,6 +14228,64 @@ cat >>confdefs.h <<_ACEOF
+--- gdb-7.10.50.20151022.orig/gdb/configure	2015-10-22 22:35:00.480917174 +0200
++++ gdb-7.10.50.20151022/gdb/configure	2015-10-22 22:35:08.125962759 +0200
+@@ -14691,6 +14691,64 @@ cat >>confdefs.h <<_ACEOF
  _ACEOF
  
  
@@ -324,11 +324,11 @@ Index: gdb-7.9.90.20150709/gdb/configure
  
  # Support for --with-sysroot is a copy of GDB_AC_WITH_DIR,
  # except that the argument to --with-sysroot is optional.
-Index: gdb-7.9.90.20150709/gdb/gdbserver/config.in
+Index: gdb-7.10.50.20151022/gdb/gdbserver/config.in
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/gdbserver/config.in	2015-07-09 18:24:13.719140503 +0200
-+++ gdb-7.9.90.20150709/gdb/gdbserver/config.in	2015-07-09 18:24:24.920236049 +0200
-@@ -113,6 +113,9 @@
+--- gdb-7.10.50.20151022.orig/gdb/gdbserver/config.in	2015-10-22 22:35:00.481917180 +0200
++++ gdb-7.10.50.20151022/gdb/gdbserver/config.in	2015-10-22 22:35:08.126962765 +0200
+@@ -117,6 +117,9 @@
  /* Define to 1 if you have the `mcheck' library (-lmcheck). */
  #undef HAVE_LIBMCHECK
  
@@ -338,7 +338,7 @@ Index: gdb-7.9.90.20150709/gdb/gdbserver/config.in
  /* Define if the target supports branch tracing. */
  #undef HAVE_LINUX_BTRACE
  
-@@ -189,6 +192,9 @@
+@@ -196,6 +199,9 @@
  /* Define to 1 if you have the `setns' function. */
  #undef HAVE_SETNS
  
@@ -348,11 +348,11 @@ Index: gdb-7.9.90.20150709/gdb/gdbserver/config.in
  /* Define to 1 if you have the <sgtty.h> header file. */
  #undef HAVE_SGTTY_H
  
-Index: gdb-7.9.90.20150709/gdb/gdbserver/configure
+Index: gdb-7.10.50.20151022/gdb/gdbserver/configure
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/gdbserver/configure	2015-07-09 18:24:13.721140520 +0200
-+++ gdb-7.9.90.20150709/gdb/gdbserver/configure	2015-07-09 18:24:24.922236066 +0200
-@@ -7022,6 +7022,64 @@ if $want_ipa ; then
+--- gdb-7.10.50.20151022.orig/gdb/gdbserver/configure	2015-10-22 22:35:00.482917186 +0200
++++ gdb-7.10.50.20151022/gdb/gdbserver/configure	2015-10-22 22:35:08.127962770 +0200
+@@ -7290,6 +7290,64 @@ if $want_ipa ; then
     fi
  fi
  

diff --git a/gdb-fortran-allocate-not-inited.patch b/gdb-fortran-allocate-not-inited.patch
new file mode 100644
index 0000000..5b27165
--- /dev/null
+++ b/gdb-fortran-allocate-not-inited.patch
@@ -0,0 +1,61 @@
+http://sourceware.org/ml/gdb-patches/2015-11/msg00127.html
+Subject: [testsuite patch] Fortran: allocate()d memory is uninitialized
+
+
+--mP3DRpeJDSE+ciuQ
+Content-Type: text/plain; charset=us-ascii
+Content-Disposition: inline
+
+Hi,
+
+  allocate (vla1 (5))         ! vla1-not-allocated
+  l = allocated(vla1)         ! vla1-allocated     <------------------
+
+Expecting: ^(510-data-evaluate-expression vla1[^M
+]+)?(510\^done,value="\(0, 0, 0, 0, 0\)"[^M
+]+[(]gdb[)] ^M
+[ ]*)
+510-data-evaluate-expression vla1^M
+510^done,value="(1.82987403e-09, 7.8472714e-44, 1.82987403e-09, 7.8472714e-44, 2.67929926e+20)"^M
+(gdb) ^M
+FAIL: gdb.mi/mi-vla-fortran.exp: evaluate allocated vla
+
+gcc-4.9.2-6.fc21.x86_64
+
+I think some older gfortran did initialize allocated memory but that is an
+unspecified behavior.  I haven't found any initialization mentioned
+in Fortran 90 standard (draft) and it is also clearly stated here:
+	https://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/268786
+	Initialization to 0 of allocated arrays (of integers) is an
+	implementation issue. i.e. do not rely on it.
+
+OK for check-in?
+
+
+Jan
+
+--mP3DRpeJDSE+ciuQ
+Content-Type: text/plain; charset=us-ascii
+Content-Disposition: inline; filename=1
+
+gdb/testsuite/ChangeLog
+2015-11-03  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* gdb.mi/mi-vla-fortran.exp (evaluate allocated vla): Remove test.
+
+diff --git a/gdb/testsuite/gdb.mi/mi-vla-fortran.exp b/gdb/testsuite/gdb.mi/mi-vla-fortran.exp
+index d191623..baee7f8 100644
+--- a/gdb/testsuite/gdb.mi/mi-vla-fortran.exp
++++ b/gdb/testsuite/gdb.mi/mi-vla-fortran.exp
+@@ -68,8 +68,6 @@ mi_create_breakpoint "-t vla.f90:$bp_lineno" 2 "del" "vla" ".*vla.f90" \
+ mi_run_cmd
+ mi_expect_stop "breakpoint-hit" "vla" "" ".*vla.f90" "$bp_lineno" \
+   { "" "disp=\"del\"" } "run to breakpoint at line $bp_lineno"
+-mi_gdb_test "510-data-evaluate-expression vla1" \
+-  "510\\^done,value=\"\\(0, 0, 0, 0, 0\\)\"" "evaluate allocated vla"
+ 
+ mi_create_varobj_checked vla1_allocated vla1 "real\\\(kind=4\\\) \\\(5\\\)" \
+   "create local variable vla1_allocated"
+
+--mP3DRpeJDSE+ciuQ--
+

diff --git a/gdb-nonstop-scratchpad.patch b/gdb-nonstop-scratchpad.patch
new file mode 100644
index 0000000..5229e56
--- /dev/null
+++ b/gdb-nonstop-scratchpad.patch
@@ -0,0 +1,268 @@
+http://sourceware.org/ml/gdb-patches/2015-10/msg00601.html
+Subject: [PATCH] [PATCH] Don't displaced step when there's a breakpoint in the scratch pad range
+
+Assuming displaced stepping is enabled, and a breakpoint is set in the
+memory region of the scratch pad, things break.  One of two cases can
+happen:
+
+#1 - The breakpoint wasn't inserted yet (all threads were stopped), so
+     after setting up the displaced stepping scratch pad with the
+     adjusted copy of the instruction we're trying to single-step, we
+     insert the breakpoint, which corrupts the scratch pad, and the
+     inferior executes the wrong instruction.  (Example below.)
+     This is clearly unacceptable.
+
+#2 - The breakpoint was already inserted, so setting up the displaced
+     stepping scratch pad overwrites the breakpoint.  This is OK in
+     the sense that we already assume that no thread is going to
+     executes the code in the scratch pad range (after initial
+     startup) anyway.
+
+This commit addresses both cases by simply punting on displaced
+stepping if we have a breakpoint in the scratch pad range.
+
+The #1 case above explains a few regressions exposed by the AS/NS
+series on x86:
+
+ Running ./gdb.dwarf2/callframecfa.exp ...
+ FAIL: gdb.dwarf2/callframecfa.exp: set display for call-frame-cfa
+ FAIL: gdb.dwarf2/callframecfa.exp: step 1 for call-frame-cfa
+ FAIL: gdb.dwarf2/callframecfa.exp: step 2 for call-frame-cfa
+ FAIL: gdb.dwarf2/callframecfa.exp: step 3 for call-frame-cfa
+ FAIL: gdb.dwarf2/callframecfa.exp: step 4 for call-frame-cfa
+ Running ./gdb.dwarf2/typeddwarf.exp ...
+ FAIL: gdb.dwarf2/typeddwarf.exp: continue to breakpoint: continue to typeddwarf.c:53
+ FAIL: gdb.dwarf2/typeddwarf.exp: check value of x at typeddwarf.c:53
+ FAIL: gdb.dwarf2/typeddwarf.exp: check value of y at typeddwarf.c:53
+ FAIL: gdb.dwarf2/typeddwarf.exp: check value of z at typeddwarf.c:53
+ FAIL: gdb.dwarf2/typeddwarf.exp: continue to breakpoint: continue to typeddwarf.c:73
+ FAIL: gdb.dwarf2/typeddwarf.exp: check value of w at typeddwarf.c:73
+ FAIL: gdb.dwarf2/typeddwarf.exp: check value of x at typeddwarf.c:73
+ FAIL: gdb.dwarf2/typeddwarf.exp: check value of y at typeddwarf.c:73
+ FAIL: gdb.dwarf2/typeddwarf.exp: check value of z at typeddwarf.c:73
+
+Enabling "maint set target-non-stop on" implies displaced stepping
+enabled as well, and it's the latter that's to blame here.  We can see
+the same failures with "maint set target-non-stop off + set displaced
+on".
+
+Diffing (good/bad) gdb.log for callframecfa.exp shows:
+
+ @@ -99,29 +99,29 @@ Breakpoint 2 at 0x80481b0: file q.c, lin
+  continue
+  Continuing.
+
+ -Breakpoint 2, func (arg=77) at q.c:2
+ +Breakpoint 2, func (arg=52301) at q.c:2
+  2      in q.c
+  (gdb) PASS: gdb.dwarf2/callframecfa.exp: continue to breakpoint: continue to breakpoint for call-frame-cfa
+  display arg
+ -1: arg = 77
+ -(gdb) PASS: gdb.dwarf2/callframecfa.exp: set display for call-frame-cfa
+ +1: arg = 52301
+ +(gdb) FAIL: gdb.dwarf2/callframecfa.exp: set display for call-frame-cfa
+
+The problem is here, when setting up the func call:
+
+ Breakpoint 1, main (argc=-13345, argv=0x0) at q.c:7
+ 7       in q.c
+
+ (gdb) disassemble
+ Dump of assembler code for function main:
+    0x080481bb <+0>:     push   %ebp
+    0x080481bc <+1>:     mov    %esp,%ebp
+    0x080481be <+3>:     sub    $0x4,%esp
+ => 0x080481c1 <+6>:     movl   $0x4d,(%esp)
+    0x080481c8 <+13>:    call   0x80481b0 <func>
+    0x080481cd <+18>:    leave
+    0x080481ce <+19>:    ret
+ End of assembler dump.
+ (gdb) disassemble /r
+ Dump of assembler code for function main:
+    0x080481bb <+0>:     55      push   %ebp
+    0x080481bc <+1>:     89 e5   mov    %esp,%ebp
+    0x080481be <+3>:     83 ec 04        sub    $0x4,%esp
+ => 0x080481c1 <+6>:     c7 04 24 4d 00 00 00    movl   $0x4d,(%esp)
+    0x080481c8 <+13>:    e8 e3 ff ff ff  call   0x80481b0 <func>
+    0x080481cd <+18>:    c9      leave
+    0x080481ce <+19>:    c3      ret
+ End of assembler dump.
+
+Note the breakpoint at main is set at 0x080481c1.  Right at the
+instruction that sets up func's argument.  Executing that instruction
+should write 0x4d to the address pointed at by $esp.  However, if we
+stepi, the program manages to write 52301/0xcc4d there instead (0xcc
+is int3, the x86 breakpoint instruction), because the breakpoint
+address is 4 bytes inside the scratch pad location, which is
+0x080481bd:
+
+ (gdb) p 0x080481c1 - 0x080481bd
+ $1 = 4
+
+IOW, instead of executing:
+
+  "c7 04 24 4d 00 00 00" [ movl $0x4d,(%esp) ]
+
+the inferior executes:
+
+  "c7 04 24 4d cc 00 00" [movl $0xcc4d,(%esp) ]
+
+gdb/ChangeLog:
+2015-10-26  Pedro Alves  <palves@redhat.com>
+
+	* breakpoint.c (breakpoint_in_range_p)
+	(breakpoint_location_address_range_overlap): New functions.
+	* breakpoint.h (breakpoint_in_range_p): New declaration.
+	* infrun.c (displaced_step_prepare_throw): If there's a breakpoint
+	in the scratch pad range, don't displaced step.
+---
+ gdb/breakpoint.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ gdb/breakpoint.h |  5 +++++
+ gdb/infrun.c     | 23 ++++++++++++++++++++++
+ 3 files changed, 88 insertions(+)
+
+diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
+index 2c901ff..5863573 100644
+--- a/gdb/breakpoint.c
++++ b/gdb/breakpoint.c
+@@ -173,6 +173,10 @@ static int breakpoint_location_address_match (struct bp_location *bl,
+ 					      struct address_space *aspace,
+ 					      CORE_ADDR addr);
+ 
++static int breakpoint_location_address_range_overlap (struct bp_location *,
++						      struct address_space *,
++						      CORE_ADDR, int);
++
+ static void breakpoints_info (char *, int);
+ 
+ static void watchpoints_info (char *, int);
+@@ -4243,6 +4247,40 @@ breakpoint_here_p (struct address_space *aspace, CORE_ADDR pc)
+   return any_breakpoint_here ? ordinary_breakpoint_here : no_breakpoint_here;
+ }
+ 
++/* See breakpoint.h.  */
++
++int
++breakpoint_in_range_p (struct address_space *aspace,
++		       CORE_ADDR addr, ULONGEST len)
++{
++  struct bp_location *bl, **blp_tmp;
++
++  ALL_BP_LOCATIONS (bl, blp_tmp)
++    {
++      if (bl->loc_type != bp_loc_software_breakpoint
++	  && bl->loc_type != bp_loc_hardware_breakpoint)
++	continue;
++
++      if ((breakpoint_enabled (bl->owner)
++	   || bl->permanent)
++	  && breakpoint_location_address_range_overlap (bl, aspace,
++							addr, len))
++	{
++	  if (overlay_debugging
++	      && section_is_overlay (bl->section)
++	      && !section_is_mapped (bl->section))
++	    {
++	      /* Unmapped overlay -- can't be a match.  */
++	      continue;
++	    }
++
++	  return 1;
++	}
++    }
++
++  return 0;
++}
++
+ /* Return true if there's a moribund breakpoint at PC.  */
+ 
+ int
+@@ -7079,6 +7117,28 @@ breakpoint_location_address_match (struct bp_location *bl,
+ 						 aspace, addr)));
+ }
+ 
++/* Returns true if the [ADDR,ADDR+LEN) range in ASPACE overlaps
++   breakpoint BL.  BL may be a ranged breakpoint.  In most targets, a
++   match happens only if ASPACE matches the breakpoint's address
++   space.  On targets that have global breakpoints, the address space
++   doesn't really matter.  */
++
++static int
++breakpoint_location_address_range_overlap (struct bp_location *bl,
++					   struct address_space *aspace,
++					   CORE_ADDR addr, int len)
++{
++  if (gdbarch_has_global_breakpoints (target_gdbarch ())
++      || bl->pspace->aspace == aspace)
++    {
++      int bl_len = bl->length != 0 ? bl->length : 1;
++
++      if (mem_ranges_overlap (addr, len, bl->address, bl_len))
++	return 1;
++    }
++  return 0;
++}
++
+ /* If LOC1 and LOC2's owners are not tracepoints, returns false directly.
+    Then, if LOC1 and LOC2 represent the same tracepoint location, returns
+    true, otherwise returns false.  */
+diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h
+index 896d3eb..ee8b2e0 100644
+--- a/gdb/breakpoint.h
++++ b/gdb/breakpoint.h
+@@ -1146,6 +1146,11 @@ extern int program_breakpoint_here_p (struct gdbarch *gdbarch, CORE_ADDR address
+ extern enum breakpoint_here breakpoint_here_p (struct address_space *, 
+ 					       CORE_ADDR);
+ 
++/* Return true if an enabled breakpoint exists in the range defined by
++   ADDR and LEN, in ASPACE.  */
++extern int breakpoint_in_range_p (struct address_space *aspace,
++				  CORE_ADDR addr, ULONGEST len);
++
+ extern int moribund_breakpoint_here_p (struct address_space *, CORE_ADDR);
+ 
+ extern int breakpoint_inserted_here_p (struct address_space *, CORE_ADDR);
+diff --git a/gdb/infrun.c b/gdb/infrun.c
+index 917f9be..ef4ccb4 100644
+--- a/gdb/infrun.c
++++ b/gdb/infrun.c
+@@ -1729,6 +1729,7 @@ displaced_step_prepare_throw (ptid_t ptid)
+   struct thread_info *tp = find_thread_ptid (ptid);
+   struct regcache *regcache = get_thread_regcache (ptid);
+   struct gdbarch *gdbarch = get_regcache_arch (regcache);
++  struct address_space *aspace = get_regcache_aspace (regcache);
+   CORE_ADDR original, copy;
+   ULONGEST len;
+   struct displaced_step_closure *closure;
+@@ -1784,6 +1785,28 @@ displaced_step_prepare_throw (ptid_t ptid)
+   copy = gdbarch_displaced_step_location (gdbarch);
+   len = gdbarch_max_insn_length (gdbarch);
+ 
++  if (breakpoint_in_range_p (aspace, copy, len))
++    {
++      /* There's a breakpoint set in the scratch pad location range
++	 (which is usually around the entry point).  We'd either
++	 install it before resuming, which would overwrite/corrupt the
++	 scratch pad, or if it was already inserted, this displaced
++	 step would overwrite it.  The latter is OK in the sense that
++	 we already assume that no thread is going to execute the code
++	 in the scratch pad range (after initial startup) anyway, but
++	 the former is unacceptable.  Simply punt and fallback to
++	 stepping over this breakpoint in-line.  */
++      if (debug_displaced)
++	{
++	  fprintf_unfiltered (gdb_stdlog,
++			      "displaced: breakpoint set in scratch pad.  "
++			      "Stepping over breakpoint in-line instead.\n");
++	}
++
++      do_cleanups (old_cleanups);
++      return -1;
++    }
++
+   /* Save the original contents of the copy area.  */
+   displaced->step_saved_copy = (gdb_byte *) xmalloc (len);
+   ignore_cleanups = make_cleanup (free_current_contents,
+-- 
+1.9.3
+

diff --git a/gdb-probes-based-interface-robust-1of2.patch b/gdb-probes-based-interface-robust-1of2.patch
deleted file mode 100644
index 5295e06..0000000
--- a/gdb-probes-based-interface-robust-1of2.patch
+++ /dev/null
@@ -1,193 +0,0 @@
-From f469e8ce11672e26feb5ba6f9a134275fcfd5b4f Mon Sep 17 00:00:00 2001
-From: Sergio Durigan Junior <sergiodj@redhat.com>
-Date: Fri, 21 Aug 2015 18:13:46 -0400
-Subject: [PATCH 1/4] Improve error reporting when handling SystemTap SDT
- probes
-
-This patch improves the error reporting when handling SystemTap SDT
-probes.  "Handling", in this case, mostly means "parsing".
-
-On gdb/probe.h, only trivial changes on functions' comments in order
-to explicitly mention that some of them can throw exceptions.  This is
-just to make the API a bit more clear.
-
-On gdb/stap-probe.c, I have s/internal_error/error/ on two functions
-that are responsible for parsing specific bits of the probes'
-arguments: stap_get_opcode and stap_get_expected_argument_type.  It is
-not correct to call internal_error on such situations because it is
-not really GDB's fault if the probes have malformed arguments.  I also
-improved the error reported on stap_get_expected_argument_type by also
-including the probe name on it.
-
-Aside from that, and perhaps most importantly, I added a check on
-stap_get_arg to make sure that we don't try to extract an argument
-from a probe that has no arguments.  This check issues an
-internal_error, because it really means that GDB is doing something it
-shouldn't.
-
-Although it can be considered almost trivial, and despite the fact
-that I am the maintainer for this part of the code, I am posting this
-patch for review.  I will wait a few days, and if nobody has anything
-to say, I will go ahead and push it.
-
-gdb/ChangeLog:
-2015-09-01  Sergio Durigan Junior  <sergiodj@redhat.com>
-
-	* probe.h (struct probe_ops) <get_probe_argument_count,
-	evaluate_probe_argument, enable_probe, disable_probe>: Mention in
-	the comment that the function can throw an exception.
-	(get_probe_argument_count): Likewise.
-	(evaluate_probe_argument): Likewise.
-	* stap-probe.c (stap_get_opcode): Call error instead of
-	internal_error.
-	(stap_get_expected_argument_type): Likewise.  Add argument
-	'probe'.  Improve error message by mentioning the probe's name.
-	(stap_parse_probe_arguments): Adjust call to
-	stap_get_expected_argument_type.
-	(stap_get_arg): Add comment.  Assert that 'probe->args_parsed' is
-	not zero.  Call internal_error if GDB requests an argument but the
-	probe has no arguments.
----
- gdb/ChangeLog    | 17 +++++++++++++++++
- gdb/probe.h      | 20 ++++++++++++++------
- gdb/stap-probe.c | 29 ++++++++++++++++++++++-------
- 3 files changed, 53 insertions(+), 13 deletions(-)
-
-Index: gdb-7.10/gdb/probe.h
-===================================================================
---- gdb-7.10.orig/gdb/probe.h
-+++ gdb-7.10/gdb/probe.h
-@@ -70,7 +70,8 @@ struct probe_ops
-     CORE_ADDR (*get_probe_address) (struct probe *probe,
- 				    struct objfile *objfile);
- 
--    /* Return the number of arguments of PROBE.  */
-+    /* Return the number of arguments of PROBE.  This function can
-+       throw an exception.  */
- 
-     unsigned (*get_probe_argument_count) (struct probe *probe,
- 					  struct frame_info *frame);
-@@ -82,7 +83,8 @@ struct probe_ops
-     int (*can_evaluate_probe_arguments) (struct probe *probe);
- 
-     /* Evaluate the Nth argument from the PROBE, returning a value
--       corresponding to it.  The argument number is represented N.  */
-+       corresponding to it.  The argument number is represented N.
-+       This function can throw an exception.  */
- 
-     struct value *(*evaluate_probe_argument) (struct probe *probe,
- 					      unsigned n,
-@@ -141,13 +143,15 @@ struct probe_ops
- 
-     /* Enable a probe.  The semantics of "enabling" a probe depend on
-        the specific backend and the field can be NULL in case enabling
--       probes is not supported.  */
-+       probes is not supported.  This function can throw an
-+       exception.  */
- 
-     void (*enable_probe) (struct probe *probe);
- 
-     /* Disable a probe.  The semantics of "disabling" a probe depend
-        on the specific backend and the field can be NULL in case
--       disabling probes is not supported.  */
-+       disabling probes is not supported.  This function can throw an
-+       exception.  */
- 
-     void (*disable_probe) (struct probe *probe);
-   };
-@@ -264,7 +268,9 @@ extern struct cmd_list_element **info_pr
- extern CORE_ADDR get_probe_address (struct probe *probe,
- 				    struct objfile *objfile);
- 
--/* Return the argument count of the specified probe.  */
-+/* Return the argument count of the specified probe.
-+
-+   This function can throw an exception.  */
- 
- extern unsigned get_probe_argument_count (struct probe *probe,
- 					  struct frame_info *frame);
-@@ -276,7 +282,9 @@ extern unsigned get_probe_argument_count
- extern int can_evaluate_probe_arguments (struct probe *probe);
- 
- /* Evaluate argument N of the specified probe.  N must be between 0
--   inclusive and get_probe_argument_count exclusive.  */
-+   inclusive and get_probe_argument_count exclusive.
-+
-+   This function can throw an exception.  */
- 
- extern struct value *evaluate_probe_argument (struct probe *probe,
- 					      unsigned n,
-Index: gdb-7.10/gdb/stap-probe.c
-===================================================================
---- gdb-7.10.orig/gdb/stap-probe.c
-+++ gdb-7.10/gdb/stap-probe.c
-@@ -313,9 +313,8 @@ stap_get_opcode (const char **s)
-       break;
- 
-     default:
--      internal_error (__FILE__, __LINE__,
--		      _("Invalid opcode in expression `%s' for SystemTap"
--			"probe"), *s);
-+      error (_("Invalid opcode in expression `%s' for SystemTap"
-+	       "probe"), *s);
-     }
- 
-   return op;
-@@ -326,7 +325,8 @@ stap_get_opcode (const char **s)
- 
- static struct type *
- stap_get_expected_argument_type (struct gdbarch *gdbarch,
--				 enum stap_arg_bitness b)
-+				 enum stap_arg_bitness b,
-+				 const struct stap_probe *probe)
- {
-   switch (b)
-     {
-@@ -361,8 +361,8 @@ stap_get_expected_argument_type (struct
-       return builtin_type (gdbarch)->builtin_uint64;
- 
-     default:
--      internal_error (__FILE__, __LINE__,
--		      _("Undefined bitness for probe."));
-+      error (_("Undefined bitness for probe '%s'."),
-+	     probe->p.name);
-       break;
-     }
- }
-@@ -1172,7 +1172,8 @@ stap_parse_probe_arguments (struct stap_
-       else
- 	arg.bitness = STAP_ARG_BITNESS_UNDEFINED;
- 
--      arg.atype = stap_get_expected_argument_type (gdbarch, arg.bitness);
-+      arg.atype = stap_get_expected_argument_type (gdbarch, arg.bitness,
-+						   probe);
- 
-       expr = stap_parse_argument (&cur, arg.atype, gdbarch);
- 
-@@ -1278,12 +1279,26 @@ stap_is_operator (const char *op)
-   return ret;
- }
- 
-+/* Return argument N of probe PROBE.
-+
-+   If the probe's arguments have not been parsed yet, parse them.  If
-+   there are no arguments, throw an exception (error).  Otherwise,
-+   return the requested argument.  */
-+
- static struct stap_probe_arg *
- stap_get_arg (struct stap_probe *probe, unsigned n, struct gdbarch *gdbarch)
- {
-   if (!probe->args_parsed)
-     stap_parse_probe_arguments (probe, gdbarch);
- 
-+  gdb_assert (probe->args_parsed);
-+  if (probe->args_u.vec == NULL)
-+    internal_error (__FILE__, __LINE__,
-+		    _("Probe '%s' apparently does not have arguments, but \n"
-+		      "GDB is requesting its argument number %u anyway.  "
-+		      "This should not happen.  Please report this bug."),
-+		    probe->p.name, n);
-+
-   return VEC_index (stap_probe_arg_s, probe->args_u.vec, n);
- }
- 

diff --git a/gdb-probes-based-interface-robust-2of2.patch b/gdb-probes-based-interface-robust-2of2.patch
deleted file mode 100644
index a9a022c..0000000
--- a/gdb-probes-based-interface-robust-2of2.patch
+++ /dev/null
@@ -1,194 +0,0 @@
-From 3bd7e5b7ee5ea0b3bbb4030ca841f66faad74f0f Mon Sep 17 00:00:00 2001
-From: Sergio Durigan Junior <sergiodj@redhat.com>
-Date: Fri, 21 Aug 2015 18:28:07 -0400
-Subject: [PATCH 2/4] Catching errors on probes-based dynamic linker interface
-
-This patch is intended to make the interaction between the
-probes-based dynamic linker interface and the SystemTap SDT probe code
-on GDB more robust.  It does that by wrapping the calls to the probe
-API with TRY...CATCH'es, so that any exception thrown will be caught
-and handled properly.
-
-The idea for this patch came from
-<https://bugzilla.redhat.com/show_bug.cgi?id=1196181>, which is a bug
-initially filed against Fedora GDB (but now under Fedora GLIBC).  This
-bug happens on armhfp (although it could happen on other targets as
-well), and is triggered because GCC generates a strange argument for
-one of the probes used by GDB in the dynamic linker interface.  As can
-be seen in the bug, this argument is "-4@.L1052".
-
-I don't want to discuss the reasons for this argument to be there
-(this discussion belongs to the bug, or to another thread), but GDB
-could definitely do a better error handling here.  Currently, one sees
-the following message when there is an error in the probes-based
-dynamic linker interface:
-
-  (gdb) run
-  Starting program: /bin/inferior
-  warning: Probes-based dynamic linker interface failed.
-  Reverting to original interface.
-
-  Cannot parse expression `.L976 4@r4'.
-  (gdb)
-
-Which means that one needs to explicitly issue a "continue" command to
-make GDB continue running the inferior, even though this error is not
-fatal and GDB will fallback to the old interface automatically.
-
-This is where this patch helps: it makes GDB still print the necessary
-warnings or error messages, but it *also* does not stop the inferior
-unnecessarily.
-
-I have tested this patch on the systems where this error happens, but
-I could not come up with a way to create a testcase for it.
-Nevertheless, it should be straightforward to see that this patch does
-improve the current situation.
-
-gdb/ChangeLog:
-2015-09-01  Sergio Durigan Junior  <sergiodj@redhat.com>
-
-	* solib-svr4.c (solib_event_probe_action): Call
-	get_probe_argument_count using TRY...CATCH.
-	(svr4_handle_solib_event): Likewise, for evaluate_probe_argument.
----
- gdb/ChangeLog    |  6 ++++++
- gdb/solib-svr4.c | 43 ++++++++++++++++++++++++++++++++++++++++---
- 2 files changed, 46 insertions(+), 3 deletions(-)
-
-Index: gdb-7.10/gdb/solib-svr4.c
-===================================================================
---- gdb-7.10.orig/gdb/solib-svr4.c
-+++ gdb-7.10/gdb/solib-svr4.c
-@@ -1796,7 +1796,23 @@ solib_event_probe_action (struct probe_a
-        arg0: Lmid_t lmid (mandatory)
-        arg1: struct r_debug *debug_base (mandatory)
-        arg2: struct link_map *new (optional, for incremental updates)  */
--  probe_argc = get_probe_argument_count (pa->probe, frame);
-+  TRY
-+    {
-+      probe_argc = get_probe_argument_count (pa->probe, frame);
-+    }
-+  CATCH (ex, RETURN_MASK_ERROR)
-+    {
-+      exception_print (gdb_stderr, ex);
-+      probe_argc = 0;
-+    }
-+  END_CATCH
-+
-+  /* If get_probe_argument_count throws an exception, probe_argc will
-+     be set to zero.  However, if pa->probe does not have arguments,
-+     then get_probe_argument_count will succeed but probe_argc will
-+     also be zero.  Both cases happen because of different things, but
-+     they are treated equally here: action will be set to
-+     PROBES_INTERFACE_FAILED.  */
-   if (probe_argc == 2)
-     action = FULL_RELOAD;
-   else if (probe_argc < 2)
-@@ -1950,7 +1966,17 @@ svr4_handle_solib_event (void)
-   usm_chain = make_cleanup (resume_section_map_updates_cleanup,
- 			    current_program_space);
- 
--  val = evaluate_probe_argument (pa->probe, 1, frame);
-+  TRY
-+    {
-+      val = evaluate_probe_argument (pa->probe, 1, frame);
-+    }
-+  CATCH (ex, RETURN_MASK_ERROR)
-+    {
-+      exception_print (gdb_stderr, ex);
-+      val = NULL;
-+    }
-+  END_CATCH
-+
-   if (val == NULL)
-     {
-       do_cleanups (old_chain);
-@@ -1981,7 +2007,18 @@ svr4_handle_solib_event (void)
- 
-   if (action == UPDATE_OR_RELOAD)
-     {
--      val = evaluate_probe_argument (pa->probe, 2, frame);
-+      TRY
-+	{
-+	  val = evaluate_probe_argument (pa->probe, 2, frame);
-+	}
-+      CATCH (ex, RETURN_MASK_ERROR)
-+	{
-+	  exception_print (gdb_stderr, ex);
-+	  do_cleanups (old_chain);
-+	  return;
-+	}
-+      END_CATCH
-+
-       if (val != NULL)
- 	lm = value_as_address (val);
- 
-From ad1c917a79e8c5aa67657f148415c1bee01b240f Mon Sep 17 00:00:00 2001
-From: Sergio Durigan Junior <sergiodj@redhat.com>
-Date: Wed, 2 Sep 2015 00:34:22 -0400
-Subject: [PATCH 3/4] Initialize variable and silence GCC warning from last
- commit
-
-BuildBot e-mailed me to let me know that my last commit broke GDB on
-RHEL-7.1 s390x.  On solib-svr4.c:svr4_handle_solib_event, 'val' now
-needs to be initialized as NULL because it is inside a TRY..CATCH
-block.  This patch does that.  Pushed as obvious.
-
-gdb/ChangeLog:
-2015-09-01  Sergio Durigan Junior  <sergiodj@redhat.com>
-
-	* solib-svr4.c (svr4_handle_solib_event): Initialize 'val' as NULL
----
- gdb/ChangeLog    | 4 ++++
- gdb/solib-svr4.c | 2 +-
- 2 files changed, 5 insertions(+), 1 deletion(-)
-
-Index: gdb-7.10/gdb/solib-svr4.c
-===================================================================
---- gdb-7.10.orig/gdb/solib-svr4.c
-+++ gdb-7.10/gdb/solib-svr4.c
-@@ -1918,7 +1918,7 @@ svr4_handle_solib_event (void)
-   struct probe_and_action *pa;
-   enum probe_action action;
-   struct cleanup *old_chain, *usm_chain;
--  struct value *val;
-+  struct value *val = NULL;
-   CORE_ADDR pc, debug_base, lm = 0;
-   int is_initial_ns;
-   struct frame_info *frame = get_current_frame ();
-From 73c6b4756a7cee53c274ed05fddcd079b8b7e57c Mon Sep 17 00:00:00 2001
-From: Sergio Durigan Junior <sergiodj@redhat.com>
-Date: Wed, 2 Sep 2015 00:46:43 -0400
-Subject: [PATCH 4/4] Initialize yet another variable to silence GCC warning
- from last-but-one commit
-
-Yet another BuildBot e-mail, yet another breakage on RHEL-7.1 s390x
-(which uses an older GCC).  This time,
-solib-svr4.c:solib_event_probe_action has the probe_argc variable,
-which is now inside a TRY..CATCH and therefore needs to be
-initialized.  Pushed as obvious.
-
-gdb/ChangeLog:
-2015-09-01  Sergio Durigan Junior  <sergiodj@redhat.com>
-
-	* solib-svr4.c (solib_event_probe_action): Initialize 'probe_argc'
-	as zero.
----
- gdb/ChangeLog    | 5 +++++
- gdb/solib-svr4.c | 2 +-
- 2 files changed, 6 insertions(+), 1 deletion(-)
-
- 2015-09-01  Sergio Durigan Junior  <sergiodj@redhat.com>
-Index: gdb-7.10/gdb/solib-svr4.c
-===================================================================
---- gdb-7.10.orig/gdb/solib-svr4.c
-+++ gdb-7.10/gdb/solib-svr4.c
-@@ -1782,7 +1782,7 @@ static enum probe_action
- solib_event_probe_action (struct probe_and_action *pa)
- {
-   enum probe_action action;
--  unsigned probe_argc;
-+  unsigned probe_argc = 0;
-   struct frame_info *frame = get_current_frame ();
- 
-   action = pa->action;

diff --git a/gdb-rhbz1260558-ppc64le-skip_trampoline_code.patch b/gdb-rhbz1260558-ppc64le-skip_trampoline_code.patch
deleted file mode 100644
index cdbbd6a..0000000
--- a/gdb-rhbz1260558-ppc64le-skip_trampoline_code.patch
+++ /dev/null
@@ -1,257 +0,0 @@
-http://sourceware.org/ml/gdb-patches/2015-09/msg00183.html
-Subject: [ppc64le patch v3] Use skip_entrypoint for skip_trampoline_code
-
-
---mYCpIKhGyMATD0i+
-Content-Type: text/plain; charset=us-ascii
-Content-Disposition: inline
-
-An update to PASS the testcase on non-ppc64le archs.
-
---mYCpIKhGyMATD0i+
-Content-Type: text/plain; charset=us-ascii
-Content-Disposition: inline; filename=4
-
-gdb/ChangeLog
-2015-09-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
-
-	* linespec.c (minsym_found): Call gdbarch_skip_entrypoint.
-	* ppc64-tdep.c (ppc64_skip_trampoline_code): Rename to ...
-	(ppc64_skip_trampoline_code_1): ... here.
-	(ppc64_skip_trampoline_code): New wrapper function.
-	* symtab.c (find_function_start_sal): Call gdbarch_skip_entrypoint.
-
-gdb/testsuite/ChangeLog
-2015-09-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
-
-	* gdb.opt/solib-intra-step-lib.c: New file.
-	* gdb.opt/solib-intra-step-main.c: New file.
-	* gdb.opt/solib-intra-step.exp: New file.
-
-diff --git a/gdb/linespec.c b/gdb/linespec.c
-index 8f102fa..4c29c12 100644
---- a/gdb/linespec.c
-+++ b/gdb/linespec.c
-@@ -3570,6 +3570,8 @@ minsym_found (struct linespec_state *self, struct objfile *objfile,
- 	  sal.pc = MSYMBOL_VALUE_ADDRESS (objfile, msymbol);
- 	  sal.pc = gdbarch_convert_from_func_ptr_addr (gdbarch, sal.pc,
- 						       &current_target);
-+	  if (gdbarch_skip_entrypoint_p (gdbarch))
-+	    sal.pc = gdbarch_skip_entrypoint (gdbarch, sal.pc);
- 	}
-       else
- 	skip_prologue_sal (&sal);
-diff --git a/gdb/ppc64-tdep.c b/gdb/ppc64-tdep.c
-index bb23b6a..4a0b93a 100644
---- a/gdb/ppc64-tdep.c
-+++ b/gdb/ppc64-tdep.c
-@@ -454,8 +454,8 @@ ppc64_standard_linkage4_target (struct frame_info *frame,
-    When the execution direction is EXEC_REVERSE, scan backward to
-    check whether we are in the middle of a PLT stub.  */
- 
--CORE_ADDR
--ppc64_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc)
-+static CORE_ADDR
-+ppc64_skip_trampoline_code_1 (struct frame_info *frame, CORE_ADDR pc)
- {
- #define MAX(a,b) ((a) > (b) ? (a) : (b))
-   unsigned int insns[MAX (MAX (MAX (ARRAY_SIZE (ppc64_standard_linkage1),
-@@ -530,6 +530,20 @@ ppc64_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc)
-   return 0;
- }
- 
-+/* Wrapper of ppc64_skip_trampoline_code_1 checking also
-+   ppc_elfv2_skip_entrypoint.  */
-+
-+CORE_ADDR
-+ppc64_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc)
-+{
-+  struct gdbarch *gdbarch = get_frame_arch (frame);
-+
-+  pc = ppc64_skip_trampoline_code_1 (frame, pc);
-+  if (pc != 0 && gdbarch_skip_entrypoint_p (gdbarch))
-+    pc = gdbarch_skip_entrypoint (gdbarch, pc);
-+  return pc;
-+}
-+
- /* Support for convert_from_func_ptr_addr (ARCH, ADDR, TARG) on PPC64
-    GNU/Linux.
- 
-diff --git a/gdb/symtab.c b/gdb/symtab.c
-index 1ba691e..f65e809 100644
---- a/gdb/symtab.c
-+++ b/gdb/symtab.c
-@@ -3629,7 +3629,11 @@ find_function_start_sal (struct symbol *sym, int funfirstline)
-       && (COMPUNIT_LOCATIONS_VALID (SYMTAB_COMPUNIT (sal.symtab))
- 	  || SYMTAB_LANGUAGE (sal.symtab) == language_asm))
-     {
-+      struct gdbarch *gdbarch = symbol_arch (sym);
-+
-       sal.pc = BLOCK_START (SYMBOL_BLOCK_VALUE (sym));
-+      if (gdbarch_skip_entrypoint_p (gdbarch))
-+	sal.pc = gdbarch_skip_entrypoint (gdbarch, sal.pc);
-       return sal;
-     }
- 
-diff --git a/gdb/testsuite/gdb.opt/solib-intra-step-lib.c b/gdb/testsuite/gdb.opt/solib-intra-step-lib.c
-new file mode 100644
-index 0000000..9ab1211
---- /dev/null
-+++ b/gdb/testsuite/gdb.opt/solib-intra-step-lib.c
-@@ -0,0 +1,30 @@
-+/* This testcase is part of GDB, the GNU debugger.
-+
-+   Copyright 2015 Free Software Foundation, Inc.
-+
-+   This program is free software; you can redistribute it and/or modify
-+   it under the terms of the GNU General Public License as published by
-+   the Free Software Foundation; either version 3 of the License, or
-+   (at your option) any later version.
-+
-+   This program is distributed in the hope that it will be useful,
-+   but WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+   GNU General Public License for more details.
-+
-+   You should have received a copy of the GNU General Public License
-+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-+
-+#include <stdlib.h>
-+
-+void
-+shlib_second (int dummy)
-+{ /* second-retry */
-+  abort (); /* second-hit */
-+}
-+
-+void
-+shlib_first (void)
-+{ /* first-retry */
-+  shlib_second (0); /* first-hit */
-+}
-diff --git a/gdb/testsuite/gdb.opt/solib-intra-step-main.c b/gdb/testsuite/gdb.opt/solib-intra-step-main.c
-new file mode 100644
-index 0000000..186bd5f
---- /dev/null
-+++ b/gdb/testsuite/gdb.opt/solib-intra-step-main.c
-@@ -0,0 +1,25 @@
-+/* This testcase is part of GDB, the GNU debugger.
-+
-+   Copyright 2015 Free Software Foundation, Inc.
-+
-+   This program is free software; you can redistribute it and/or modify
-+   it under the terms of the GNU General Public License as published by
-+   the Free Software Foundation; either version 3 of the License, or
-+   (at your option) any later version.
-+
-+   This program is distributed in the hope that it will be useful,
-+   but WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+   GNU General Public License for more details.
-+
-+   You should have received a copy of the GNU General Public License
-+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-+
-+extern void shlib_first (void);
-+
-+int
-+main (void)
-+{
-+  shlib_first ();
-+  return 0;
-+}
-diff --git a/gdb/testsuite/gdb.opt/solib-intra-step.exp b/gdb/testsuite/gdb.opt/solib-intra-step.exp
-new file mode 100644
-index 0000000..044c4bd
---- /dev/null
-+++ b/gdb/testsuite/gdb.opt/solib-intra-step.exp
-@@ -0,0 +1,86 @@
-+# Copyright 2015 Free Software Foundation, Inc.
-+
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; either version 3 of the License, or
-+# (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+# GNU General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-+
-+standard_testfile
-+
-+if {[skip_shlib_tests]} {
-+    return 0
-+}
-+
-+# Library file.
-+set libname "${testfile}-lib"
-+set srcfile_lib ${srcdir}/${subdir}/${libname}.c
-+set binfile_lib [standard_output_file ${libname}.so]
-+set lib_flags [list debug optimize=-O2]
-+# Binary file.
-+set testfile "${testfile}-main"
-+set srcfile ${srcdir}/${subdir}/${testfile}.c
-+set binfile [standard_output_file ${testfile}]
-+set bin_flags [list debug shlib=${binfile_lib}]
-+
-+if [get_compiler_info] {
-+    return -1
-+}
-+
-+if { [gdb_compile_shlib ${srcfile_lib} ${binfile_lib} $lib_flags] != ""
-+     || [gdb_compile ${srcfile} ${binfile} executable $bin_flags] != "" } {
-+  untested "Could not compile $binfile_lib or $binfile."
-+  return -1
-+}
-+
-+clean_restart ${binfile}
-+gdb_load_shlibs $binfile_lib
-+
-+if ![runto_main] then {
-+  return 0
-+}
-+
-+set test "first-hit"
-+gdb_test_multiple "step" $test {
-+    -re " first-hit .*\r\n$gdb_prompt $" {
-+	pass $test
-+    }
-+    -re " first-retry .*\r\n$gdb_prompt $" {
-+	gdb_test "step" " first-hit .*" "first-hit (optimized)"
-+    }
-+}
-+
-+set test "second-hit"
-+gdb_test_multiple "step" $test {
-+    -re " second-hit .*\r\n$gdb_prompt $" {
-+	pass $test
-+    }
-+    -re " first-retry .*\r\n$gdb_prompt $" {
-+	set test "second-hit (optimized 1)"
-+	gdb_test_multiple "step" $test {
-+	    -re " second-hit .*\r\n$gdb_prompt $" {
-+		pass $test
-+	    }
-+	    -re " first-hit .*\r\n$gdb_prompt $" {
-+		gdb_test "step" " second-hit .*" "second-hit (optimized 2)"
-+	    }
-+	}
-+    }
-+    -re " second-retry .*\r\n$gdb_prompt $" {
-+	gdb_test "step" " second-hit .*" "second-hit (optimized 3)"
-+    }
-+}
-+
-+if ![runto_main] then {
-+  return 0
-+}
-+
-+gdb_breakpoint "shlib_second"
-+gdb_continue_to_breakpoint "second-hit" ".* (second-hit|second-retry) .*"
-
---mYCpIKhGyMATD0i+--
-

diff --git a/gdb-rhbz1270564-invalid-dwarf-regno.patch b/gdb-rhbz1270564-invalid-dwarf-regno.patch
deleted file mode 100644
index a51caaf..0000000
--- a/gdb-rhbz1270564-invalid-dwarf-regno.patch
+++ /dev/null
@@ -1,220 +0,0 @@
-http://sourceware.org/ml/gdb-patches/2015-10/msg00166.html
-Subject: [patch] Fix internal error on DW_OP_bregx(-1)
-
-
---ibTvN161/egqYuK8
-Content-Type: text/plain; charset=us-ascii
-Content-Disposition: inline
-
-Hi,
-
-https://bugzilla.redhat.com/show_bug.cgi?id=1270564#c15
-https://bugzilla.redhat.com/attachment.cgi?id=1081772
-
-clang-3.5.0-9.fc22.x86_64
- <3><22b2>: Abbrev Number: 69 (DW_TAG_variable)
-    <22b3>   DW_AT_location    : 7 byte block: 92 ff ff ff ff f 0       (DW_OP_bregx: 4294967295 (r-1) 0)
-    <22bb>   DW_AT_name        : (indirect string, offset: 0x2a36): texture_data
-    <22c1>   DW_AT_type        : <0x1d3>
-
-(gdb) p variable
-warning: Unmapped DWARF Register #-1 encountered.
-regcache.c:177: internal-error: register_size: Assertion `regnum >= 0 && regnum < (gdbarch_num_regs (gdbarch) + gdbarch_num_pseudo_regs (gdbarch))' failed.
-[...]
-Quit this debugging session? (y or n) FAIL: gdb.dwarf2/dw2-regno-invalid.exp: p variable (GDB internal error)
-
--> (x86_64)
-(gdb) p variable
-warning: Unmapped DWARF Register #-1 encountered.
-Invalid register #-1, expecting 0 <= # < 220
-(gdb) PASS: gdb.dwarf2/dw2-regno-invalid.exp: p variable
--> (i386)
-(gdb) p variable
-Invalid register #104, expecting 0 <= # < 104
-(gdb) PASS: gdb.dwarf2/dw2-regno-invalid.exp: p variable
-
-GDB calls gdbarch_dwarf2_reg_to_regnum() first which returns -1 in the x86_64
-case
-  if (regnum == -1)
-    warning (_("Unmapped DWARF Register #%d encountered."), reg);
-but in i386 case it does:
-  /* This will hopefully provoke a warning.  */
-  return gdbarch_num_regs (gdbarch) + gdbarch_num_pseudo_regs (gdbarch);
-and the default implementation is a nop, leaving whatever register number
-the DWARF specified.
-
-No regressions on {x86_64,x86_64-m32,i686}-fedorarawhide-linux-gnu.
-
-
-Jan
-
---ibTvN161/egqYuK8
-Content-Type: text/plain; charset=us-ascii
-Content-Disposition: inline; filename="undefreg.patch"
-
-gdb/ChangeLog
-2015-10-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
-
-	* findvar.c (address_from_register): Check REGNUM validity.
-
-gdb/testsuite/ChangeLog
-2015-10-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
-
-	* gdb.dwarf2/dw2-regno-invalid.S: New file.
-	* gdb.dwarf2/dw2-regno-invalid.exp: New file.
-
-diff --git a/gdb/findvar.c b/gdb/findvar.c
-index 0f46e53..855947d 100644
---- a/gdb/findvar.c
-+++ b/gdb/findvar.c
-@@ -927,6 +927,12 @@ address_from_register (int regnum, struct frame_info *frame)
-   struct type *type = builtin_type (gdbarch)->builtin_data_ptr;
-   struct value *value;
-   CORE_ADDR result;
-+  int regnum_max_excl = (gdbarch_num_regs (gdbarch)
-+			 + gdbarch_num_pseudo_regs (gdbarch));
-+
-+  if (regnum < 0 || regnum >= regnum_max_excl)
-+    error (_("Invalid register #%d, expecting 0 <= # < %d"), regnum,
-+	   regnum_max_excl);
- 
-   /* This routine may be called during early unwinding, at a time
-      where the ID of FRAME is not yet known.  Calling value_from_register
-diff --git a/gdb/testsuite/gdb.dwarf2/dw2-regno-invalid.S b/gdb/testsuite/gdb.dwarf2/dw2-regno-invalid.S
-new file mode 100644
-index 0000000..075bfd6
---- /dev/null
-+++ b/gdb/testsuite/gdb.dwarf2/dw2-regno-invalid.S
-@@ -0,0 +1,91 @@
-+/* Copyright 2015 Free Software Foundation, Inc.
-+
-+   This program is free software; you can redistribute it and/or modify
-+   it under the terms of the GNU General Public License as published by
-+   the Free Software Foundation; either version 3 of the License, or
-+   (at your option) any later version.
-+
-+   This program is distributed in the hope that it will be useful,
-+   but WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+   GNU General Public License for more details.
-+
-+   You should have received a copy of the GNU General Public License
-+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-+
-+	.section	.debug_info
-+debug_start:
-+	.4byte	debug_end - 1f	/* Length of Compilation Unit Info */
-+1:
-+	.2byte	0x3	/* DWARF version number */
-+	.4byte	.Ldebug_abbrev0	/* Offset Into Abbrev. Section */
-+	.byte	0x4	/* Pointer Size (in bytes) */
-+	.uleb128 0x1	/* (DIE (0xb) DW_TAG_compile_unit) */
-+	.ascii "clang-3.5.0-9.fc22.x86_64\0"	/* DW_AT_producer */
-+	.byte	0x1	/* DW_AT_language */
-+	.ascii "1.c\0"	/* DW_AT_name */
-+	.4byte	main_label		/* DW_AT_low_pc */
-+	.4byte	main_label+0x10000	/* DW_AT_high_pc */
-+
-+	.uleb128	2			/* Abbrev: DW_TAG_subprogram */
-+	.byte		1			/* DW_AT_external */
-+	.ascii		"main\0"		/* DW_AT_name */
-+	.4byte	main_label		/* DW_AT_low_pc */
-+	.4byte	main_label+0x10000	/* DW_AT_high_pc */
-+
-+	.uleb128 0x4	/* (DW_TAG_variable) */
-+	.ascii "variable\0"	/* DW_AT_name */
-+	.2byte	2f - 1f	/* DW_AT_location: DW_FORM_block2 */
-+1:
-+	.byte	0x92	/* DW_OP_bregx */
-+	.uleb128	0xffffffff
-+	.sleb128 0
-+2:
-+
-+	.byte	0x0	/* end of children of main */
-+	.byte	0x0	/* end of children of CU */
-+debug_end:
-+
-+	.section	.debug_abbrev
-+.Ldebug_abbrev0:
-+	.uleb128 0x1	/* (abbrev code) */
-+	.uleb128 0x11	/* (TAG: DW_TAG_compile_unit) */
-+	.byte	0x1	/* DW_children_yes */
-+	.uleb128 0x25	/* (DW_AT_producer) */
-+	.uleb128 0x8	/* (DW_FORM_string) */
-+	.uleb128 0x13	/* (DW_AT_language) */
-+	.uleb128 0xb	/* (DW_FORM_data1) */
-+	.uleb128 0x3	/* (DW_AT_name) */
-+	.uleb128 0x8	/* (DW_FORM_string) */
-+	.uleb128	0x11			/* DW_AT_low_pc */
-+	.uleb128	0x1			/* DW_FORM_addr */
-+	.uleb128	0x12			/* DW_AT_high_pc */
-+	.uleb128	0x1			/* DW_FORM_addr */
-+	.byte	0x0
-+	.byte	0x0
-+
-+	.uleb128	2			/* Abbrev code */
-+	.uleb128	0x2e			/* DW_TAG_subprogram */
-+	.byte		1			/* has_children */
-+	.uleb128	0x3f			/* DW_AT_external */
-+	.uleb128	0xc			/* DW_FORM_flag */
-+	.uleb128	0x3			/* DW_AT_name */
-+	.uleb128	0x8			/* DW_FORM_string */
-+	.uleb128	0x11			/* DW_AT_low_pc */
-+	.uleb128	0x1			/* DW_FORM_addr */
-+	.uleb128	0x12			/* DW_AT_high_pc */
-+	.uleb128	0x1			/* DW_FORM_addr */
-+	.byte		0x0			/* Terminator */
-+	.byte		0x0			/* Terminator */
-+
-+
-+	.uleb128 0x4	/* (abbrev code) */
-+	.uleb128 0x34	/* (TAG: DW_TAG_variable) */
-+	.byte	0x0	/* DW_children_yes */
-+	.uleb128 0x3	/* (DW_AT_name) */
-+	.uleb128 0x8	/* (DW_FORM_string) */
-+	.uleb128 0x02	/* (DW_AT_location) */
-+	.uleb128 0x3	/* (DW_FORM_block2) */
-+	.byte	0x0
-+	.byte	0x0
-+	.byte	0x0
-diff --git a/gdb/testsuite/gdb.dwarf2/dw2-regno-invalid.exp b/gdb/testsuite/gdb.dwarf2/dw2-regno-invalid.exp
-new file mode 100644
-index 0000000..7c3a404
---- /dev/null
-+++ b/gdb/testsuite/gdb.dwarf2/dw2-regno-invalid.exp
-@@ -0,0 +1,32 @@
-+# Copyright 2015 Free Software Foundation, Inc.
-+
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; either version 3 of the License, or
-+# (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+# GNU General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-+load_lib dwarf.exp
-+
-+# This test can only be run on targets which support DWARF-2 and use gas.
-+if {![dwarf2_support]} {
-+    return 0  
-+}
-+
-+standard_testfile .S main.c
-+
-+if { [gdb_compile "${srcdir}/${subdir}/${srcfile} ${srcdir}/${subdir}/${srcfile2}" \
-+		  "${binfile}" executable {}] != "" } {
-+    return -1
-+}
-+
-+clean_restart ${binfile}
-+runto_main
-+
-+gdb_test "p variable"
-
---ibTvN161/egqYuK8--
-

diff --git a/gdb-rhbz795424-bitpos-20of25.patch b/gdb-rhbz795424-bitpos-20of25.patch
index dbc8579..6037e0e 100644
--- a/gdb-rhbz795424-bitpos-20of25.patch
+++ b/gdb-rhbz795424-bitpos-20of25.patch
@@ -463,11 +463,11 @@ Content-Type: text/x-patch
 Content-Transfer-Encoding: 7bit
 Content-Disposition: attachment; filename=bitpos-main.patch
 
-Index: gdb-7.9.90.20150709/gdb/ada-lang.c
+Index: gdb-7.10.50.20151027/gdb/ada-lang.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/ada-lang.c	2015-07-09 18:24:38.968355881 +0200
-+++ gdb-7.9.90.20150709/gdb/ada-lang.c	2015-07-09 18:24:42.219383612 +0200
-@@ -74,7 +74,7 @@ static struct type *desc_bounds_type (st
+--- gdb-7.10.50.20151027.orig/gdb/ada-lang.c	2015-11-02 21:23:11.175351410 +0100
++++ gdb-7.10.50.20151027/gdb/ada-lang.c	2015-11-02 21:23:13.197364714 +0100
+@@ -75,7 +75,7 @@ static struct type *desc_bounds_type (st
  
  static struct value *desc_bounds (struct value *);
  
@@ -476,7 +476,7 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.c
  
  static int fat_pntr_bounds_bitsize (struct type *);
  
-@@ -82,13 +82,13 @@ static struct type *desc_data_target_typ
+@@ -83,13 +83,13 @@ static struct type *desc_data_target_typ
  
  static struct value *desc_data (struct value *);
  
@@ -492,7 +492,7 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.c
  
  static int desc_bound_bitsize (struct type *, int, int);
  
-@@ -168,7 +168,7 @@ static struct type *static_unwrap_type (
+@@ -172,7 +172,7 @@ static struct type *static_unwrap_type (
  
  static struct value *unwrap_value (struct value *);
  
@@ -501,7 +501,7 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.c
  
  static struct type *decode_constrained_packed_array_type (struct type *);
  
-@@ -183,7 +183,8 @@ static int ada_is_unconstrained_packed_a
+@@ -187,7 +187,8 @@ static int ada_is_unconstrained_packed_a
  static struct value *value_subscript_packed (struct value *, int,
                                               struct value **);
  
@@ -511,12 +511,12 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.c
  
  static struct value *coerce_unspec_val_to_type (struct value *,
                                                  struct type *);
-@@ -211,14 +212,14 @@ static struct value *value_val_atr (stru
+@@ -215,14 +216,14 @@ static struct value *value_val_atr (stru
  static struct symbol *standard_lookup (const char *, const struct block *,
                                         domain_enum);
  
--static struct value *ada_search_struct_field (char *, struct value *, int,
-+static struct value *ada_search_struct_field (char *, struct value *, LONGEST,
+-static struct value *ada_search_struct_field (const char *, struct value *, int,
++static struct value *ada_search_struct_field (const char *, struct value *, LONGEST,
                                                struct type *);
  
 -static struct value *ada_value_primitive_field (struct value *, int, int,
@@ -526,11 +526,11 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.c
 -static int find_struct_field (const char *, struct type *, int,
 -                              struct type **, int *, int *, int *, int *);
 +static int find_struct_field (const char *, struct type *, LONGEST,
-+			      struct type **, LONGEST *, int *, int *, int *);
++                              struct type **, LONGEST *, int *, int *, int *);
  
  static struct value *ada_to_fixed_value_create (struct type *, CORE_ADDR,
                                                  struct value *);
-@@ -232,7 +233,7 @@ static int ada_is_direct_array_type (str
+@@ -236,7 +237,7 @@ static int ada_is_direct_array_type (str
  static void ada_language_arch_info (struct gdbarch *,
  				    struct language_arch_info *);
  
@@ -539,7 +539,7 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.c
  					     struct type *);
  
  static struct value *assign_aggregate (struct value *, struct value *, 
-@@ -695,7 +696,7 @@ coerce_unspec_val_to_type (struct value
+@@ -700,7 +701,7 @@ coerce_unspec_val_to_type (struct value
  }
  
  static const gdb_byte *
@@ -548,7 +548,7 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.c
  {
    if (valaddr == NULL)
      return NULL;
-@@ -704,7 +705,7 @@ cond_offset_host (const gdb_byte *valadd
+@@ -709,7 +710,7 @@ cond_offset_host (const gdb_byte *valadd
  }
  
  static CORE_ADDR
@@ -557,7 +557,7 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.c
  {
    if (address == 0)
      return 0;
-@@ -1711,7 +1712,7 @@ desc_bounds (struct value *arr)
+@@ -1717,7 +1718,7 @@ desc_bounds (struct value *arr)
  /* If TYPE is the type of an array-descriptor (fat pointer),  the bit
     position of the field containing the address of the bounds data.  */
  
@@ -566,7 +566,7 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.c
  fat_pntr_bounds_bitpos (struct type *type)
  {
    return TYPE_FIELD_BITPOS (desc_base_type (type), 1);
-@@ -1777,7 +1778,7 @@ desc_data (struct value *arr)
+@@ -1783,7 +1784,7 @@ desc_data (struct value *arr)
  /* If TYPE is the type of an array-descriptor (fat pointer), the bit
     position of the field containing the address of the data.  */
  
@@ -575,7 +575,7 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.c
  fat_pntr_data_bitpos (struct type *type)
  {
    return TYPE_FIELD_BITPOS (desc_base_type (type), 0);
-@@ -1812,7 +1813,7 @@ desc_one_bound (struct value *bounds, in
+@@ -1818,7 +1819,7 @@ desc_one_bound (struct value *bounds, in
     of the Ith lower bound stored in it, if WHICH is 0, and the Ith upper
     bound, if WHICH is 1.  The first bound is I=1.  */
  
@@ -584,7 +584,7 @@ Index: gdb-7.9.90.20150709/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);
-@@ -2002,7 +2003,7 @@ ada_type_of_array (struct value *arr, in
+@@ -2008,7 +2009,7 @@ ada_type_of_array (struct value *arr, in
  	         zero, and does not need to be recomputed.  */
  	      if (lo < hi)
  		{
@@ -593,7 +593,7 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.c
  		        (hi - lo + 1) * TYPE_FIELD_BITSIZE (elt_type, 0);
  
  		  TYPE_LENGTH (array_type) = (array_bitsize + 7) / 8;
-@@ -2162,7 +2163,7 @@ decode_packed_array_bitsize (struct type
+@@ -2168,7 +2169,7 @@ decode_packed_array_bitsize (struct type
     the length is arbitrary.  */
  
  static struct type *
@@ -602,7 +602,7 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.c
  {
    struct type *new_elt_type;
    struct type *new_type;
-@@ -2216,7 +2217,7 @@ decode_constrained_packed_array_type (st
+@@ -2222,7 +2223,7 @@ decode_constrained_packed_array_type (st
    char *name;
    const char *tail;
    struct type *shadow_type;
@@ -611,7 +611,7 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.c
  
    if (!raw_name)
      raw_name = ada_type_name (desc_base_type (type));
-@@ -2287,7 +2288,8 @@ decode_constrained_packed_array (struct
+@@ -2293,7 +2294,8 @@ decode_constrained_packed_array (struct
   	 array with no wrapper.  In order to interpret the value through
   	 the (left-justified) packed array type we just built, we must
   	 first left-justify it.  */
@@ -621,7 +621,7 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.c
        ULONGEST mod;
  
        mod = ada_modulus (value_type (arr)) - 1;
-@@ -2388,15 +2390,16 @@ has_negatives (struct type *type)
+@@ -2521,7 +2523,7 @@ ada_unpack_from_contents (const gdb_byte
  
  struct value *
  ada_value_primitive_packed_val (struct value *obj, const gdb_byte *valaddr,
@@ -630,21 +630,7 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.c
                                  struct type *type)
  {
    struct value *v;
--  int src,                      /* Index into the source area */
--    targ,                       /* Index into the target area */
--    srcBitsLeft,                /* Number of source bits left to move */
--    nsrc, ntarg,                /* Number of source and target bytes */
--    unusedLS,                   /* Number of bits in next significant
-+  int src;                      /* Index into the source area */
-+  LONGEST targ;                 /* Index into the target area */
-+  int srcBitsLeft,              /* Number of source bits left to move */
-+    nsrc;                       /* Number of source bytes */
-+  LONGEST ntarg;                /* Number of target bytes */
-+  int unusedLS,                 /* Number of bits in next significant
-                                    byte of source that are unused */
-     accumSize;                  /* Number of meaningful bits in accum */
-   unsigned char *bytes;         /* First byte containing data to unpack */
-@@ -2441,7 +2444,7 @@ ada_value_primitive_packed_val (struct v
+@@ -2594,7 +2596,7 @@ ada_value_primitive_packed_val (struct v
  
    if (obj != NULL)
      {
@@ -653,7 +639,7 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.c
  
        set_value_component_location (v, obj);
        set_value_bitpos (v, bit_offset + value_bitpos (obj));
-@@ -2562,7 +2565,7 @@ ada_value_primitive_packed_val (struct v
+@@ -2642,7 +2644,7 @@ ada_value_primitive_packed_val (struct v
     not overlap.  */
  static void
  move_bits (gdb_byte *target, int targ_offset, const gdb_byte *source,
@@ -662,16 +648,16 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.c
  {
    unsigned int accum, mask;
    int accum_bits, chunk_size;
-@@ -2652,7 +2655,7 @@ ada_value_assign (struct value *toval, s
+@@ -2732,7 +2734,7 @@ ada_value_assign (struct value *toval, s
      {
        int len = (value_bitpos (toval)
  		 + bits + HOST_CHAR_BIT - 1) / HOST_CHAR_BIT;
 -      int from_size;
 +      LONGEST from_size;
-       gdb_byte *buffer = alloca (len);
+       gdb_byte *buffer = (gdb_byte *) alloca (len);
        struct value *val;
        CORE_ADDR to_addr = value_address (toval);
-@@ -2703,7 +2706,7 @@ value_assign_to_component (struct value
+@@ -2783,7 +2785,7 @@ value_assign_to_component (struct value
      (LONGEST)  (value_address (component) - value_address (container));
    int bit_offset_in_container =
      value_bitpos (component) - value_bitpos (container);
@@ -680,7 +666,7 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.c
  
    val = value_cast (value_type (component), val);
  
-@@ -4294,7 +4297,7 @@ ensure_lval (struct value *val)
+@@ -4392,7 +4394,7 @@ ensure_lval (struct value *val)
    if (VALUE_LVAL (val) == not_lval
        || VALUE_LVAL (val) == lval_internalvar)
      {
@@ -689,16 +675,16 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.c
        const CORE_ADDR addr =
          value_as_long (value_allocate_space_in_inferior (len));
  
-@@ -4378,7 +4381,7 @@ static CORE_ADDR
+@@ -4476,7 +4478,7 @@ static CORE_ADDR
  value_pointer (struct value *value, struct type *type)
  {
    struct gdbarch *gdbarch = get_type_arch (type);
 -  unsigned len = TYPE_LENGTH (type);
 +  ULONGEST len = TYPE_LENGTH (type);
-   gdb_byte *buf = alloca (len);
+   gdb_byte *buf = (gdb_byte *) alloca (len);
    CORE_ADDR addr;
  
-@@ -6521,7 +6524,7 @@ value_tag_from_contents_and_address (str
+@@ -6711,7 +6713,7 @@ value_tag_from_contents_and_address (str
  				     const gdb_byte *valaddr,
                                       CORE_ADDR address)
  {
@@ -707,7 +693,7 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.c
    struct type *tag_type;
  
    if (find_struct_field ("_tag", type, 0, &tag_type, &tag_byte_offset,
-@@ -6991,7 +6994,7 @@ ada_in_variant (LONGEST val, struct type
+@@ -7181,7 +7183,7 @@ ada_in_variant (LONGEST val, struct type
     only in that it can handle packed values of arbitrary type.  */
  
  static struct value *
@@ -716,7 +702,7 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.c
                             struct type *arg_type)
  {
    struct type *type;
-@@ -7003,7 +7006,7 @@ ada_value_primitive_field (struct value
+@@ -7193,7 +7195,7 @@ ada_value_primitive_field (struct value
  
    if (TYPE_FIELD_BITSIZE (arg_type, fieldno) != 0)
      {
@@ -725,7 +711,7 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.c
        int bit_size = TYPE_FIELD_BITSIZE (arg_type, fieldno);
  
        return ada_value_primitive_packed_val (arg1, value_contents (arg1),
-@@ -7030,9 +7033,9 @@ ada_value_primitive_field (struct value
+@@ -7220,9 +7222,9 @@ ada_value_primitive_field (struct value
     Returns 1 if found, 0 otherwise.  */
  
  static int
@@ -737,7 +723,7 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.c
  		   int *index_p)
  {
    int i;
-@@ -7050,8 +7053,8 @@ find_struct_field (const char *name, str
+@@ -7240,8 +7242,8 @@ find_struct_field (const char *name, str
  
    for (i = 0; i < TYPE_NFIELDS (type); i += 1)
      {
@@ -748,16 +734,16 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.c
        const char *t_field_name = TYPE_FIELD_NAME (type, i);
  
        if (t_field_name == NULL)
-@@ -7121,7 +7124,7 @@ num_visible_fields (struct type *type)
+@@ -7311,7 +7313,7 @@ num_visible_fields (struct type *type)
     Searches recursively through wrapper fields (e.g., '_parent').  */
  
  static struct value *
--ada_search_struct_field (char *name, struct value *arg, int offset,
-+ada_search_struct_field (char *name, struct value *arg, LONGEST offset,
+-ada_search_struct_field (const char *name, struct value *arg, int offset,
++ada_search_struct_field (const char *name, struct value *arg, LONGEST offset,
                           struct type *type)
  {
    int i;
-@@ -7154,7 +7157,7 @@ ada_search_struct_field (char *name, str
+@@ -7344,7 +7346,7 @@ ada_search_struct_field (const char *nam
            int j;
            struct type *field_type = ada_check_typedef (TYPE_FIELD_TYPE (type,
  									i));
@@ -766,7 +752,7 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.c
  
            for (j = 0; j < TYPE_NFIELDS (field_type); j += 1)
              {
-@@ -7172,8 +7175,8 @@ ada_search_struct_field (char *name, str
+@@ -7362,8 +7364,8 @@ ada_search_struct_field (const char *nam
    return NULL;
  }
  
@@ -777,7 +763,7 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.c
  
  
  /* Return field #INDEX in ARG, where the index is that returned by
-@@ -7182,7 +7185,7 @@ static struct value *ada_index_struct_fi
+@@ -7372,7 +7374,7 @@ static struct value *ada_index_struct_fi
   * If found, return value, else return NULL.  */
  
  static struct value *
@@ -786,7 +772,7 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.c
  			struct type *type)
  {
    return ada_index_struct_field_1 (&index, arg, offset, type);
-@@ -7194,7 +7197,7 @@ ada_index_struct_field (int index, struc
+@@ -7384,7 +7386,7 @@ ada_index_struct_field (int index, struc
   * *INDEX_P.  */
  
  static struct value *
@@ -795,7 +781,7 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.c
  			  struct type *type)
  {
    int i;
-@@ -7284,7 +7287,8 @@ ada_value_struct_elt (struct value *arg,
+@@ -7474,7 +7476,8 @@ ada_value_struct_elt (struct value *arg,
      v = ada_search_struct_field (name, arg, 0, t);
    else
      {
@@ -805,7 +791,7 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.c
        struct type *field_type;
        CORE_ADDR address;
  
-@@ -7601,8 +7605,8 @@ ada_coerce_ref (struct value *val0)
+@@ -7791,8 +7794,8 @@ ada_coerce_ref (struct value *val0)
  /* Return OFF rounded upward if necessary to a multiple of
     ALIGNMENT (a power of 2).  */
  
@@ -816,7 +802,7 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.c
  {
    return (off + alignment - 1) & ~(alignment - 1);
  }
-@@ -7996,10 +8000,9 @@ ada_template_to_fixed_record_type_1 (str
+@@ -8186,10 +8189,9 @@ ada_template_to_fixed_record_type_1 (str
    struct value *mark = value_mark ();
    struct value *dval;
    struct type *rtype;
@@ -829,7 +815,7 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.c
    int f;
  
    /* Compute the number of fields in this record type that are going
-@@ -8077,7 +8080,7 @@ ada_template_to_fixed_record_type_1 (str
+@@ -8267,7 +8269,7 @@ ada_template_to_fixed_record_type_1 (str
  	     that follow this one.  */
  	  if (ada_is_aligner_type (field_type))
  	    {
@@ -838,7 +824,7 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.c
  
  	      field_valaddr = cond_offset_host (field_valaddr, field_offset);
  	      field_address = cond_offset_target (field_address, field_offset);
-@@ -8213,11 +8216,11 @@ ada_template_to_fixed_record_type_1 (str
+@@ -8403,11 +8405,11 @@ ada_template_to_fixed_record_type_1 (str
    if (TYPE_LENGTH (type) <= 0)
      {
        if (TYPE_NAME (rtype))
@@ -854,7 +840,7 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.c
      }
    else
      {
-@@ -8684,7 +8687,8 @@ to_fixed_array_type (struct type *type0,
+@@ -8874,7 +8876,8 @@ to_fixed_array_type (struct type *type0,
  	 type was a regular (non-packed) array type.  As a result, the
  	 bitsize of the array elements needs to be set again, and the array
  	 length needs to be recomputed based on that bitsize.  */
@@ -864,11 +850,11 @@ Index: gdb-7.9.90.20150709/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.9.90.20150709/gdb/ada-lang.h
+Index: gdb-7.10.50.20151027/gdb/ada-lang.h
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/ada-lang.h	2015-07-09 18:24:38.969355889 +0200
-+++ gdb-7.9.90.20150709/gdb/ada-lang.h	2015-07-09 18:24:42.219383612 +0200
-@@ -179,7 +179,7 @@ extern void ada_print_type (struct type
+--- gdb-7.10.50.20151027.orig/gdb/ada-lang.h	2015-11-02 21:23:11.177351423 +0100
++++ gdb-7.10.50.20151027/gdb/ada-lang.h	2015-11-02 21:23:13.198364721 +0100
+@@ -168,7 +168,7 @@ extern void ada_print_type (struct type
  extern void ada_print_typedef (struct type *type, struct symbol *new_symbol,
  			       struct ui_file *stream);
  
@@ -877,7 +863,7 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.h
  			   struct ui_file *, int,
  			   const struct value *,
  			   const struct value_print_options *);
-@@ -194,7 +194,7 @@ extern void ada_emit_char (int, struct t
+@@ -183,7 +183,7 @@ extern void ada_emit_char (int, struct t
  extern void ada_printchar (int, struct type *, struct ui_file *);
  
  extern void ada_printstr (struct ui_file *, struct type *, const gdb_byte *,
@@ -886,7 +872,7 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.h
  			  const struct value_print_options *);
  
  struct value *ada_convert_actual (struct value *actual,
-@@ -265,7 +265,7 @@ extern int ada_is_constrained_packed_arr
+@@ -255,7 +255,7 @@ extern int ada_is_constrained_packed_arr
  
  extern struct value *ada_value_primitive_packed_val (struct value *,
  						     const gdb_byte *,
@@ -895,11 +881,11 @@ Index: gdb-7.9.90.20150709/gdb/ada-lang.h
                                                       struct type *);
  
  extern struct type *ada_coerce_to_simple_array_type (struct type *);
-Index: gdb-7.9.90.20150709/gdb/ada-typeprint.c
+Index: gdb-7.10.50.20151027/gdb/ada-typeprint.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/ada-typeprint.c	2015-07-09 18:24:38.969355889 +0200
-+++ gdb-7.9.90.20150709/gdb/ada-typeprint.c	2015-07-09 18:24:42.220383621 +0200
-@@ -886,8 +886,8 @@ ada_print_type (struct type *type0, cons
+--- gdb-7.10.50.20151027.orig/gdb/ada-typeprint.c	2015-11-02 21:23:11.177351423 +0100
++++ gdb-7.10.50.20151027/gdb/ada-typeprint.c	2015-11-02 21:23:13.198364721 +0100
+@@ -891,8 +891,8 @@ ada_print_type (struct type *type0, cons
  	    const char *name = ada_type_name (type);
  
  	    if (!ada_is_range_type_name (name))
@@ -910,7 +896,7 @@ Index: gdb-7.9.90.20150709/gdb/ada-typeprint.c
  	    else
  	      {
  		fprintf_filtered (stream, "range ");
-@@ -908,7 +908,8 @@ ada_print_type (struct type *type0, cons
+@@ -913,7 +913,8 @@ ada_print_type (struct type *type0, cons
  	  }
  	break;
        case TYPE_CODE_FLT:
@@ -920,10 +906,10 @@ Index: gdb-7.9.90.20150709/gdb/ada-typeprint.c
  	break;
        case TYPE_CODE_ENUM:
  	if (show < 0)
-Index: gdb-7.9.90.20150709/gdb/ada-valprint.c
+Index: gdb-7.10.50.20151027/gdb/ada-valprint.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/ada-valprint.c	2015-07-09 18:24:38.970355898 +0200
-+++ gdb-7.9.90.20150709/gdb/ada-valprint.c	2015-07-09 18:24:42.220383621 +0200
+--- gdb-7.10.50.20151027.orig/gdb/ada-valprint.c	2015-11-02 21:23:11.179351436 +0100
++++ gdb-7.10.50.20151027/gdb/ada-valprint.c	2015-11-02 21:23:13.199364728 +0100
 @@ -33,11 +33,11 @@
  #include "objfiles.h"
  
@@ -1068,10 +1054,10 @@ Index: gdb-7.9.90.20150709/gdb/ada-valprint.c
  	       struct ui_file *stream, int recurse,
  	       const struct value *val,
  	       const struct value_print_options *options)
-Index: gdb-7.9.90.20150709/gdb/annotate.c
+Index: gdb-7.10.50.20151027/gdb/annotate.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/annotate.c	2015-07-09 18:24:38.971355906 +0200
-+++ gdb-7.9.90.20150709/gdb/annotate.c	2015-07-09 18:24:42.221383629 +0200
+--- gdb-7.10.50.20151027.orig/gdb/annotate.c	2015-11-02 21:23:11.179351436 +0100
++++ gdb-7.10.50.20151027/gdb/annotate.c	2015-11-02 21:23:13.199364728 +0100
 @@ -542,21 +542,21 @@ annotate_frame_end (void)
  }
  \f
@@ -1098,10 +1084,10 @@ Index: gdb-7.9.90.20150709/gdb/annotate.c
  }
  
  void
-Index: gdb-7.9.90.20150709/gdb/annotate.h
+Index: gdb-7.10.50.20151027/gdb/annotate.h
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/annotate.h	2015-07-09 18:24:38.971355906 +0200
-+++ gdb-7.9.90.20150709/gdb/annotate.h	2015-07-09 18:24:42.221383629 +0200
+--- gdb-7.10.50.20151027.orig/gdb/annotate.h	2015-11-02 21:23:11.179351436 +0100
++++ gdb-7.10.50.20151027/gdb/annotate.h	2015-11-02 21:23:13.199364728 +0100
 @@ -92,8 +92,8 @@ extern void annotate_frame_source_end (v
  extern void annotate_frame_where (void);
  extern void annotate_frame_end (void);
@@ -1113,11 +1099,11 @@ Index: gdb-7.9.90.20150709/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.9.90.20150709/gdb/arm-linux-nat.c
+Index: gdb-7.10.50.20151027/gdb/arm-linux-nat.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/arm-linux-nat.c	2015-07-09 18:24:38.971355906 +0200
-+++ gdb-7.9.90.20150709/gdb/arm-linux-nat.c	2015-07-09 18:24:42.221383629 +0200
-@@ -1362,7 +1362,7 @@ arm_linux_remove_hw_breakpoint (struct t
+--- gdb-7.10.50.20151027.orig/gdb/arm-linux-nat.c	2015-11-02 21:23:11.180351443 +0100
++++ gdb-7.10.50.20151027/gdb/arm-linux-nat.c	2015-11-02 21:23:13.200364734 +0100
+@@ -1099,7 +1099,7 @@ arm_linux_remove_hw_breakpoint (struct t
     ADDR?  */
  static int
  arm_linux_region_ok_for_hw_watchpoint (struct target_ops *self,
@@ -1126,11 +1112,11 @@ Index: gdb-7.9.90.20150709/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.9.90.20150709/gdb/ax-gdb.c
+Index: gdb-7.10.50.20151027/gdb/ax-gdb.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/ax-gdb.c	2015-07-09 18:24:38.973355923 +0200
-+++ gdb-7.9.90.20150709/gdb/ax-gdb.c	2015-07-09 18:24:42.222383638 +0200
-@@ -82,12 +82,12 @@ static void gen_traced_pop (struct gdbar
+--- gdb-7.10.50.20151027.orig/gdb/ax-gdb.c	2015-11-02 21:23:11.182351456 +0100
++++ gdb-7.10.50.20151027/gdb/ax-gdb.c	2015-11-02 21:23:13.201364741 +0100
+@@ -83,12 +83,12 @@ static void gen_traced_pop (struct gdbar
  static void gen_sign_extend (struct agent_expr *, struct type *);
  static void gen_extend (struct agent_expr *, struct type *);
  static void gen_fetch (struct agent_expr *, struct type *);
@@ -1145,7 +1131,7 @@ Index: gdb-7.9.90.20150709/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);
-@@ -135,15 +135,16 @@ static void gen_deref (struct agent_expr
+@@ -136,15 +136,16 @@ static void gen_deref (struct agent_expr
  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,
@@ -1165,7 +1151,7 @@ Index: gdb-7.9.90.20150709/gdb/ax-gdb.c
  				     struct type *type);
  static void gen_struct_ref (struct expression *exp, struct agent_expr *ax,
  			    struct axs_value *value,
-@@ -538,7 +539,7 @@ gen_fetch (struct agent_expr *ax, struct
+@@ -539,7 +540,7 @@ gen_fetch (struct agent_expr *ax, struct
     right shift it by -DISTANCE bits if DISTANCE < 0.  This generates
     unsigned (logical) right shifts.  */
  static void
@@ -1174,7 +1160,7 @@ Index: gdb-7.9.90.20150709/gdb/ax-gdb.c
  {
    if (distance > 0)
      {
-@@ -592,7 +593,7 @@ gen_frame_locals_address (struct gdbarch
+@@ -593,7 +594,7 @@ gen_frame_locals_address (struct gdbarch
     programming in ML, it would be clearer why these are the same
     thing.  */
  static void
@@ -1183,7 +1169,7 @@ Index: gdb-7.9.90.20150709/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
-@@ -1248,7 +1249,7 @@ gen_address_of (struct agent_expr *ax, s
+@@ -1249,7 +1250,7 @@ gen_address_of (struct agent_expr *ax, s
  static void
  gen_bitfield_ref (struct expression *exp, struct agent_expr *ax,
  		  struct axs_value *value, struct type *type,
@@ -1192,7 +1178,7 @@ Index: gdb-7.9.90.20150709/gdb/ax-gdb.c
  {
    /* Note that ops[i] fetches 8 << i bits.  */
    static enum agent_op ops[]
-@@ -1283,13 +1284,13 @@ gen_bitfield_ref (struct expression *exp
+@@ -1284,13 +1285,13 @@ gen_bitfield_ref (struct expression *exp
  
    /* The first and one-after-last bits in the field, but rounded down
       and up to byte boundaries.  */
@@ -1211,7 +1197,7 @@ Index: gdb-7.9.90.20150709/gdb/ax-gdb.c
  
    /* The index in ops of the opcode we're considering.  */
    int op;
-@@ -1408,7 +1409,7 @@ gen_bitfield_ref (struct expression *exp
+@@ -1409,7 +1410,7 @@ gen_bitfield_ref (struct expression *exp
  static void
  gen_primitive_field (struct expression *exp,
  		     struct agent_expr *ax, struct axs_value *value,
@@ -1220,7 +1206,7 @@ Index: gdb-7.9.90.20150709/gdb/ax-gdb.c
  {
    /* Is this a bitfield?  */
    if (TYPE_FIELD_PACKED (type, fieldno))
-@@ -1433,7 +1434,7 @@ gen_primitive_field (struct expression *
+@@ -1434,7 +1435,7 @@ gen_primitive_field (struct expression *
  static int
  gen_struct_ref_recursive (struct expression *exp, struct agent_expr *ax,
  			  struct axs_value *value,
@@ -1229,11 +1215,11 @@ Index: gdb-7.9.90.20150709/gdb/ax-gdb.c
  {
    int i, rslt;
    int nbases = TYPE_N_BASECLASSES (type);
-Index: gdb-7.9.90.20150709/gdb/ax-general.c
+Index: gdb-7.10.50.20151027/gdb/ax-general.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/ax-general.c	2015-07-09 18:24:38.973355923 +0200
-+++ gdb-7.9.90.20150709/gdb/ax-general.c	2015-07-09 18:24:42.223383646 +0200
-@@ -193,7 +193,7 @@ ax_zero_ext (struct agent_expr *x, int n
+--- gdb-7.10.50.20151027.orig/gdb/ax-general.c	2015-11-02 21:23:11.182351456 +0100
++++ gdb-7.10.50.20151027/gdb/ax-general.c	2015-11-02 21:23:13.201364741 +0100
+@@ -192,7 +192,7 @@ ax_zero_ext (struct agent_expr *x, int n
  
  /* Append a trace_quick instruction to EXPR, to record N bytes.  */
  void
@@ -1242,10 +1228,10 @@ Index: gdb-7.9.90.20150709/gdb/ax-general.c
  {
    /* N must fit in a byte.  */
    if (n < 0 || n > 255)
-Index: gdb-7.9.90.20150709/gdb/ax.h
+Index: gdb-7.10.50.20151027/gdb/ax.h
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/ax.h	2015-07-09 18:24:38.973355923 +0200
-+++ gdb-7.9.90.20150709/gdb/ax.h	2015-07-09 18:24:42.223383646 +0200
+--- gdb-7.10.50.20151027.orig/gdb/ax.h	2015-11-02 21:23:11.183351463 +0100
++++ gdb-7.10.50.20151027/gdb/ax.h	2015-11-02 21:23:13.201364741 +0100
 @@ -207,7 +207,7 @@ extern void ax_ext (struct agent_expr *E
  extern void ax_zero_ext (struct agent_expr *EXPR, int N);
  
@@ -1255,11 +1241,11 @@ Index: gdb-7.9.90.20150709/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.9.90.20150709/gdb/breakpoint.c
+Index: gdb-7.10.50.20151027/gdb/breakpoint.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/breakpoint.c	2015-07-09 18:24:38.977355958 +0200
-+++ gdb-7.9.90.20150709/gdb/breakpoint.c	2015-07-09 18:24:42.227383680 +0200
-@@ -2202,9 +2202,9 @@ should_be_inserted (struct bp_location *
+--- gdb-7.10.50.20151027.orig/gdb/breakpoint.c	2015-11-02 21:23:11.188351496 +0100
++++ gdb-7.10.50.20151027/gdb/breakpoint.c	2015-11-02 21:23:13.205364767 +0100
+@@ -2215,9 +2215,9 @@ should_be_inserted (struct bp_location *
  	{
  	  fprintf_unfiltered (gdb_stdlog,
  			      "infrun: stepping past non-steppable watchpoint. "
@@ -1271,7 +1257,7 @@ Index: gdb-7.9.90.20150709/gdb/breakpoint.c
  	}
        return 0;
      }
-@@ -6995,7 +6995,7 @@ breakpoint_address_match (struct address
+@@ -7053,7 +7053,7 @@ breakpoint_address_match (struct address
  
  static int
  breakpoint_address_match_range (struct address_space *aspace1, CORE_ADDR addr1,
@@ -1280,7 +1266,7 @@ Index: gdb-7.9.90.20150709/gdb/breakpoint.c
  				CORE_ADDR addr2)
  {
    return ((gdbarch_has_global_breakpoints (target_gdbarch ())
-@@ -11302,7 +11302,7 @@ can_use_hardware_watchpoint (struct valu
+@@ -11387,7 +11387,7 @@ can_use_hardware_watchpoint (struct valu
  		      && TYPE_CODE (vtype) != TYPE_CODE_ARRAY))
  		{
  		  CORE_ADDR vaddr = value_address (v);
@@ -1289,11 +1275,11 @@ Index: gdb-7.9.90.20150709/gdb/breakpoint.c
  		  int num_regs;
  
  		  len = (target_exact_watchpoints
-Index: gdb-7.9.90.20150709/gdb/breakpoint.h
+Index: gdb-7.10.50.20151027/gdb/breakpoint.h
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/breakpoint.h	2015-07-09 18:24:38.978355966 +0200
-+++ gdb-7.9.90.20150709/gdb/breakpoint.h	2015-07-09 18:24:42.227383680 +0200
-@@ -236,7 +236,7 @@ struct bp_target_info
+--- gdb-7.10.50.20151027.orig/gdb/breakpoint.h	2015-11-02 21:23:11.190351509 +0100
++++ gdb-7.10.50.20151027/gdb/breakpoint.h	2015-11-02 21:23:13.206364773 +0100
+@@ -237,7 +237,7 @@ struct bp_target_info
  
    /* If this is a ranged breakpoint, then this field contains the
       length of the range that will be watched for execution.  */
@@ -1302,7 +1288,7 @@ Index: gdb-7.9.90.20150709/gdb/breakpoint.h
  
    /* If the breakpoint lives in memory and reading that memory would
       give back the breakpoint, instead of the original contents, then
-@@ -412,7 +412,7 @@ struct bp_location
+@@ -413,7 +413,7 @@ struct bp_location
    /* For hardware watchpoints, the size of the memory region being
       watched.  For hardware ranged breakpoints, the size of the
       breakpoint range.  */
@@ -1311,10 +1297,10 @@ Index: gdb-7.9.90.20150709/gdb/breakpoint.h
  
    /* Type of hardware watchpoint.  */
    enum target_hw_bp_type watchpoint_type;
-Index: gdb-7.9.90.20150709/gdb/c-lang.c
+Index: gdb-7.10.50.20151027/gdb/c-lang.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/c-lang.c	2015-07-09 18:24:38.979355975 +0200
-+++ gdb-7.9.90.20150709/gdb/c-lang.c	2015-07-09 18:24:42.228383689 +0200
+--- gdb-7.10.50.20151027.orig/gdb/c-lang.c	2015-11-02 21:23:11.190351509 +0100
++++ gdb-7.10.50.20151027/gdb/c-lang.c	2015-11-02 21:23:13.206364773 +0100
 @@ -187,7 +187,7 @@ c_printchar (int c, struct type *type, s
  
  void
@@ -1342,10 +1328,10 @@ Index: gdb-7.9.90.20150709/gdb/c-lang.c
  
  		if (get_discrete_bounds (TYPE_INDEX_TYPE (expect_type),
  					 &low_bound, &high_bound) < 0)
-Index: gdb-7.9.90.20150709/gdb/c-lang.h
+Index: gdb-7.10.50.20151027/gdb/c-lang.h
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/c-lang.h	2015-07-09 18:24:38.979355975 +0200
-+++ gdb-7.9.90.20150709/gdb/c-lang.h	2015-07-09 18:24:42.228383689 +0200
+--- gdb-7.10.50.20151027.orig/gdb/c-lang.h	2015-11-02 21:23:11.191351515 +0100
++++ gdb-7.10.50.20151027/gdb/c-lang.h	2015-11-02 21:23:13.206364773 +0100
 @@ -74,7 +74,7 @@ extern void c_print_typedef (struct type
  			     struct ui_file *);
  
@@ -1381,11 +1367,40 @@ Index: gdb-7.9.90.20150709/gdb/c-lang.h
  					struct ui_file *, int,
  					const struct value *,
  					const struct value_print_options *,
-Index: gdb-7.9.90.20150709/gdb/c-valprint.c
+Index: gdb-7.10.50.20151027/gdb/c-valprint.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/c-valprint.c	2015-07-09 18:24:38.979355975 +0200
-+++ gdb-7.9.90.20150709/gdb/c-valprint.c	2015-07-09 18:24:42.228383689 +0200
-@@ -132,7 +132,7 @@ static const struct generic_val_print_de
+--- gdb-7.10.50.20151027.orig/gdb/c-valprint.c	2015-11-02 21:23:11.191351515 +0100
++++ gdb-7.10.50.20151027/gdb/c-valprint.c	2015-11-02 21:23:13.207364780 +0100
+@@ -242,7 +242,7 @@ c_val_print_array (struct type *type, co
+   if (TYPE_LENGTH (type) > 0 && TYPE_LENGTH (unresolved_elttype) > 0)
+     {
+       LONGEST low_bound, high_bound;
+-      int eltlen, len;
++      LONGEST eltlen, len;
+       struct gdbarch *gdbarch = get_type_arch (type);
+       enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
+       unsigned int i = 0;	/* Number of characters printed.  */
+@@ -316,8 +316,8 @@ c_val_print_array (struct type *type, co
+ 	  if (cp_is_vtbl_ptr_type (elttype))
+ 	    {
+ 	      i = 1;
+-	      fprintf_filtered (stream, _("%d vtable entries"),
+-				len - 1);
++	      fprintf_filtered (stream, _("%s vtable entries"),
++				plongest (len - 1));
+ 	    }
+ 	  else
+ 	    {
+@@ -394,7 +394,7 @@ c_val_print_struct (struct type *type, c
+ 	 -fvtable_thunks.  (Otherwise, look under
+ 	 TYPE_CODE_PTR.)  */
+       struct gdbarch *gdbarch = get_type_arch (type);
+-      int offset = (embedded_offset
++      LONGEST offset = (embedded_offset
+ 		    + TYPE_FIELD_BITPOS (type,
+ 					 VTBL_FNADDR_OFFSET) / 8);
+       struct type *field_type = TYPE_FIELD_TYPE (type, VTBL_FNADDR_OFFSET);
+@@ -493,7 +493,7 @@ c_val_print_memberptr (struct type *type
  
  void
  c_val_print (struct type *type, const gdb_byte *valaddr,
@@ -1394,29 +1409,7 @@ Index: gdb-7.9.90.20150709/gdb/c-valprint.c
  	     struct ui_file *stream, int recurse,
  	     const struct value *original_value,
  	     const struct value_print_options *options)
-@@ -143,7 +143,7 @@ c_val_print (struct type *type, const gd
-   unsigned len;
-   struct type *elttype, *unresolved_elttype;
-   struct type *unresolved_type = type;
--  unsigned eltlen;
-+  ULONGEST eltlen;
-   CORE_ADDR addr;
- 
-   CHECK_TYPEDEF (type);
-@@ -379,9 +379,9 @@ c_val_print (struct type *type, const gd
- 	  /* Print vtable entry - we only get here if NOT using
- 	     -fvtable_thunks.  (Otherwise, look under
- 	     TYPE_CODE_PTR.)  */
--	  int offset = (embedded_offset
--			+ TYPE_FIELD_BITPOS (type,
--					     VTBL_FNADDR_OFFSET) / 8);
-+	  LONGEST offset = (embedded_offset
-+			    + TYPE_FIELD_BITPOS (type,
-+						 VTBL_FNADDR_OFFSET) / 8);
- 	  struct type *field_type = TYPE_FIELD_TYPE (type,
- 						     VTBL_FNADDR_OFFSET);
- 	  CORE_ADDR addr
-@@ -460,7 +460,8 @@ c_value_print (struct value *val, struct
+@@ -565,7 +565,8 @@ c_value_print (struct value *val, struct
  	       const struct value_print_options *options)
  {
    struct type *type, *real_type, *val_type;
@@ -1426,10 +1419,10 @@ Index: gdb-7.9.90.20150709/gdb/c-valprint.c
    struct value_print_options opts = *options;
  
    opts.deref_ref = 1;
-Index: gdb-7.9.90.20150709/gdb/cp-abi.c
+Index: gdb-7.10.50.20151027/gdb/cp-abi.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/cp-abi.c	2015-07-09 18:24:38.980355983 +0200
-+++ gdb-7.9.90.20150709/gdb/cp-abi.c	2015-07-09 18:24:42.228383689 +0200
+--- gdb-7.10.50.20151027.orig/gdb/cp-abi.c	2015-11-02 21:23:11.192351522 +0100
++++ gdb-7.10.50.20151027/gdb/cp-abi.c	2015-11-02 21:23:13.207364780 +0100
 @@ -64,12 +64,12 @@ is_operator_name (const char *name)
    return (*current_cp_abi.is_operator_name) (name);
  }
@@ -1464,10 +1457,10 @@ Index: gdb-7.9.90.20150709/gdb/cp-abi.c
  {
    struct type *ret = NULL;
  
-Index: gdb-7.9.90.20150709/gdb/cp-abi.h
+Index: gdb-7.10.50.20151027/gdb/cp-abi.h
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/cp-abi.h	2015-07-09 18:24:38.980355983 +0200
-+++ gdb-7.9.90.20150709/gdb/cp-abi.h	2015-07-09 18:24:42.229383698 +0200
+--- gdb-7.10.50.20151027.orig/gdb/cp-abi.h	2015-11-02 21:23:11.192351522 +0100
++++ gdb-7.10.50.20151027/gdb/cp-abi.h	2015-11-02 21:23:13.207364780 +0100
 @@ -108,7 +108,7 @@ extern struct value *value_virtual_fn_fi
  					     struct fn_field *f,
  					     int j,
@@ -1522,10 +1515,10 @@ Index: gdb-7.9.90.20150709/gdb/cp-abi.h
    void (*print_method_ptr) (const gdb_byte *contents,
  			    struct type *type,
  			    struct ui_file *stream);
-Index: gdb-7.9.90.20150709/gdb/cp-valprint.c
+Index: gdb-7.10.50.20151027/gdb/cp-valprint.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/cp-valprint.c	2015-07-09 18:24:38.980355983 +0200
-+++ gdb-7.9.90.20150709/gdb/cp-valprint.c	2015-07-09 18:24:42.229383698 +0200
+--- gdb-7.10.50.20151027.orig/gdb/cp-valprint.c	2015-11-02 21:23:11.193351529 +0100
++++ gdb-7.10.50.20151027/gdb/cp-valprint.c	2015-11-02 21:23:13.208364787 +0100
 @@ -80,7 +80,7 @@ static void cp_print_static_field (struc
  				   const struct value_print_options *);
  
@@ -1599,11 +1592,11 @@ Index: gdb-7.9.90.20150709/gdb/cp-valprint.c
        int skip = 0;
        struct type *baseclass = check_typedef (TYPE_BASECLASS (type, i));
        const char *basename = TYPE_NAME (baseclass);
-Index: gdb-7.9.90.20150709/gdb/d-lang.h
+Index: gdb-7.10.50.20151027/gdb/d-lang.h
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/d-lang.h	2015-07-09 18:24:38.981355992 +0200
-+++ gdb-7.9.90.20150709/gdb/d-lang.h	2015-07-09 18:24:42.229383698 +0200
-@@ -71,7 +71,7 @@ extern const struct builtin_d_type *buil
+--- gdb-7.10.50.20151027.orig/gdb/d-lang.h	2015-11-02 21:23:11.193351529 +0100
++++ gdb-7.10.50.20151027/gdb/d-lang.h	2015-11-02 21:23:13.208364787 +0100
+@@ -81,7 +81,7 @@ extern struct block_symbol d_lookup_nest
  /* Defined in d-valprint.c  */
  
  extern void d_val_print (struct type *type, const gdb_byte *valaddr,
@@ -1612,10 +1605,10 @@ Index: gdb-7.9.90.20150709/gdb/d-lang.h
  			 struct ui_file *stream, int recurse,
  			 const struct value *val,
  			 const struct value_print_options *options);
-Index: gdb-7.9.90.20150709/gdb/d-valprint.c
+Index: gdb-7.10.50.20151027/gdb/d-valprint.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/d-valprint.c	2015-07-09 18:24:38.981355992 +0200
-+++ gdb-7.9.90.20150709/gdb/d-valprint.c	2015-07-09 18:24:42.229383698 +0200
+--- gdb-7.10.50.20151027.orig/gdb/d-valprint.c	2015-11-02 21:23:11.193351529 +0100
++++ gdb-7.10.50.20151027/gdb/d-valprint.c	2015-11-02 21:23:13.208364787 +0100
 @@ -29,7 +29,7 @@
  
  static int
@@ -1638,10 +1631,10 @@ Index: gdb-7.9.90.20150709/gdb/d-valprint.c
               const struct value_print_options *options)
  {
    int ret;
-Index: gdb-7.9.90.20150709/gdb/doublest.c
+Index: gdb-7.10.50.20151027/gdb/doublest.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/doublest.c	2015-07-09 18:24:38.981355992 +0200
-+++ gdb-7.9.90.20150709/gdb/doublest.c	2015-07-09 18:24:42.230383706 +0200
+--- gdb-7.10.50.20151027.orig/gdb/doublest.c	2015-11-02 21:23:11.194351535 +0100
++++ gdb-7.10.50.20151027/gdb/doublest.c	2015-11-02 21:23:13.208364787 +0100
 @@ -765,7 +765,7 @@ floatformat_from_doublest (const struct
     but not passed on by GDB.  This should be fixed.  */
  
@@ -1662,11 +1655,11 @@ Index: gdb-7.9.90.20150709/gdb/doublest.c
    return format;
  }
  
-Index: gdb-7.9.90.20150709/gdb/dwarf2loc.c
+Index: gdb-7.10.50.20151027/gdb/dwarf2loc.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/dwarf2loc.c	2015-07-09 18:24:38.983356009 +0200
-+++ gdb-7.9.90.20150709/gdb/dwarf2loc.c	2015-07-09 18:24:42.231383715 +0200
-@@ -1557,19 +1557,19 @@ insert_bits (unsigned int datum,
+--- gdb-7.10.50.20151027.orig/gdb/dwarf2loc.c	2015-11-02 21:23:11.197351555 +0100
++++ gdb-7.10.50.20151027/gdb/dwarf2loc.c	2015-11-02 21:23:13.209364793 +0100
+@@ -1632,19 +1632,19 @@ insert_bits (unsigned int datum,
     BITS_BIG_ENDIAN is taken directly from gdbarch.  */
  
  static void
@@ -1692,7 +1685,7 @@ Index: gdb-7.9.90.20150709/gdb/dwarf2loc.c
  
    dest_avail = 8 - dest_offset_bits % 8;
  
-@@ -1607,13 +1607,13 @@ static void
+@@ -1682,13 +1682,13 @@ static void
  read_pieced_value (struct value *v)
  {
    int i;
@@ -1708,7 +1701,7 @@ Index: gdb-7.9.90.20150709/gdb/dwarf2loc.c
    size_t buffer_size = 0;
    gdb_byte *buffer = NULL;
    struct cleanup *cleanup;
-@@ -1640,8 +1640,8 @@ read_pieced_value (struct value *v)
+@@ -1715,8 +1715,8 @@ read_pieced_value (struct value *v)
    for (i = 0; i < c->n_pieces && offset < type_len; i++)
      {
        struct dwarf_expr_piece *p = &c->pieces[i];
@@ -1719,7 +1712,7 @@ Index: gdb-7.9.90.20150709/gdb/dwarf2loc.c
        const gdb_byte *intermediate_buffer;
  
        /* Compute size, source, and destination offsets for copying, in
-@@ -1790,13 +1790,13 @@ static void
+@@ -1856,13 +1856,13 @@ static void
  write_pieced_value (struct value *to, struct value *from)
  {
    int i;
@@ -1735,7 +1728,7 @@ Index: gdb-7.9.90.20150709/gdb/dwarf2loc.c
    size_t buffer_size = 0;
    gdb_byte *buffer = NULL;
    struct cleanup *cleanup;
-@@ -1824,8 +1824,8 @@ write_pieced_value (struct value *to, st
+@@ -1890,8 +1890,8 @@ write_pieced_value (struct value *to, st
    for (i = 0; i < c->n_pieces && offset < type_len; i++)
      {
        struct dwarf_expr_piece *p = &c->pieces[i];
@@ -1746,7 +1739,7 @@ Index: gdb-7.9.90.20150709/gdb/dwarf2loc.c
        int need_bitwise;
        const gdb_byte *source_buffer;
  
-@@ -1953,8 +1953,8 @@ write_pieced_value (struct value *to, st
+@@ -2010,8 +2010,8 @@ write_pieced_value (struct value *to, st
     a synthetic pointer.  */
  
  static int
@@ -1757,7 +1750,7 @@ Index: gdb-7.9.90.20150709/gdb/dwarf2loc.c
  {
    struct piece_closure *c
      = (struct piece_closure *) value_computed_closure (value);
-@@ -1967,7 +1967,7 @@ check_pieced_synthetic_pointer (const st
+@@ -2024,7 +2024,7 @@ check_pieced_synthetic_pointer (const st
    for (i = 0; i < c->n_pieces && bit_length > 0; i++)
      {
        struct dwarf_expr_piece *p = &c->pieces[i];
@@ -1766,7 +1759,7 @@ Index: gdb-7.9.90.20150709/gdb/dwarf2loc.c
  
        if (bit_offset > 0)
  	{
-@@ -2009,9 +2009,10 @@ indirect_pieced_value (struct value *val
+@@ -2066,9 +2066,10 @@ indirect_pieced_value (struct value *val
    struct type *type;
    struct frame_info *frame;
    struct dwarf2_locexpr_baton baton;
@@ -1779,7 +1772,7 @@ Index: gdb-7.9.90.20150709/gdb/dwarf2loc.c
    enum bfd_endian byte_order;
  
    type = check_typedef (value_type (value));
-@@ -2026,7 +2027,7 @@ indirect_pieced_value (struct value *val
+@@ -2083,7 +2084,7 @@ indirect_pieced_value (struct value *val
    for (i = 0; i < c->n_pieces && bit_length > 0; i++)
      {
        struct dwarf_expr_piece *p = &c->pieces[i];
@@ -1788,7 +1781,7 @@ Index: gdb-7.9.90.20150709/gdb/dwarf2loc.c
  
        if (bit_offset > 0)
  	{
-@@ -2309,7 +2310,7 @@ dwarf2_evaluate_loc_desc_full (struct ty
+@@ -2363,7 +2364,7 @@ dwarf2_evaluate_loc_desc_full (struct ty
  	    struct value *value = dwarf_expr_fetch (ctx, 0);
  	    gdb_byte *contents;
  	    const gdb_byte *val_bytes;
@@ -1797,11 +1790,11 @@ Index: gdb-7.9.90.20150709/gdb/dwarf2loc.c
  
  	    if (byte_offset + TYPE_LENGTH (type) > n)
  	      invalid_synthetic_pointer ();
-Index: gdb-7.9.90.20150709/gdb/dwarf2read.c
+Index: gdb-7.10.50.20151027/gdb/dwarf2read.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/dwarf2read.c	2015-07-09 18:24:38.989356060 +0200
-+++ gdb-7.9.90.20150709/gdb/dwarf2read.c	2015-07-09 18:24:42.236383757 +0200
-@@ -1910,12 +1910,12 @@ dwarf2_complex_location_expr_complaint (
+--- gdb-7.10.50.20151027.orig/gdb/dwarf2read.c	2015-11-02 21:23:11.204351601 +0100
++++ gdb-7.10.50.20151027/gdb/dwarf2read.c	2015-11-02 21:23:13.215364833 +0100
+@@ -1917,12 +1917,12 @@ dwarf2_complex_location_expr_complaint (
  }
  
  static void
@@ -1818,7 +1811,7 @@ Index: gdb-7.9.90.20150709/gdb/dwarf2read.c
  }
  
  static void
-@@ -12524,8 +12524,8 @@ dwarf2_add_field (struct field_info *fip
+@@ -12554,8 +12554,8 @@ dwarf2_add_field (struct field_info *fip
  	         object, and then subtract off the number of bits of
  	         the field itself.  The result is the bit offset of
  	         the LSB of the field.  */
@@ -1829,10 +1822,10 @@ Index: gdb-7.9.90.20150709/gdb/dwarf2read.c
  
  	      attr = dwarf2_attr (die, DW_AT_byte_size, cu);
  	      if (attr)
-Index: gdb-7.9.90.20150709/gdb/eval.c
+Index: gdb-7.10.50.20151027/gdb/eval.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/eval.c	2015-07-09 18:24:38.990356068 +0200
-+++ gdb-7.9.90.20150709/gdb/eval.c	2015-07-09 18:24:42.237383766 +0200
+--- gdb-7.10.50.20151027.orig/gdb/eval.c	2015-11-02 21:23:11.206351614 +0100
++++ gdb-7.10.50.20151027/gdb/eval.c	2015-11-02 21:23:13.216364839 +0100
 @@ -317,7 +317,8 @@ evaluate_struct_tuple (struct value *str
    while (--nargs >= 0)
      {
@@ -1852,7 +1845,7 @@ Index: gdb-7.9.90.20150709/gdb/eval.c
  
    if (exp->elts[*pos].opcode == BINOP_COMMA)
      {
-@@ -525,11 +526,11 @@ binop_promote (const struct language_def
+@@ -526,11 +527,11 @@ binop_promote (const struct language_def
      /* FIXME: Also mixed integral/booleans, with result an integer.  */
      {
        const struct builtin_type *builtin = builtin_type (gdbarch);
@@ -1867,7 +1860,7 @@ Index: gdb-7.9.90.20150709/gdb/eval.c
        int unsigned_operation;
  
        /* Determine type length and signedness after promotion for
-@@ -711,7 +712,7 @@ evaluate_subexp_standard (struct type *e
+@@ -712,7 +713,7 @@ evaluate_subexp_standard (struct type *e
    struct value **argvec;
    int code;
    int ix;
@@ -1876,7 +1869,7 @@ Index: gdb-7.9.90.20150709/gdb/eval.c
    struct type **arg_types;
    int save_pos1;
    struct symbol *function = NULL;
-@@ -890,7 +891,7 @@ evaluate_subexp_standard (struct type *e
+@@ -891,7 +892,7 @@ evaluate_subexp_standard (struct type *e
  	  struct type *range_type = TYPE_INDEX_TYPE (type);
  	  struct type *element_type = TYPE_TARGET_TYPE (type);
  	  struct value *array = allocate_value (expect_type);
@@ -1895,10 +1888,10 @@ Index: gdb-7.9.90.20150709/gdb/eval.c
  	struct value_print_options opts;
  
  	get_user_print_options (&opts);
-Index: gdb-7.9.90.20150709/gdb/f-lang.c
+Index: gdb-7.10.50.20151027/gdb/f-lang.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/f-lang.c	2015-07-09 18:24:38.991356077 +0200
-+++ gdb-7.9.90.20150709/gdb/f-lang.c	2015-07-09 18:24:42.237383766 +0200
+--- gdb-7.10.50.20151027.orig/gdb/f-lang.c	2015-11-02 21:23:11.206351614 +0100
++++ gdb-7.10.50.20151027/gdb/f-lang.c	2015-11-02 21:23:13.216364839 +0100
 @@ -103,7 +103,7 @@ f_printchar (int c, struct type *type, s
  
  static void
@@ -1908,10 +1901,10 @@ Index: gdb-7.9.90.20150709/gdb/f-lang.c
  	    const struct value_print_options *options)
  {
    const char *type_encoding = f_get_encoding (type);
-Index: gdb-7.9.90.20150709/gdb/f-lang.h
+Index: gdb-7.10.50.20151027/gdb/f-lang.h
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/f-lang.h	2015-07-09 18:24:38.991356077 +0200
-+++ gdb-7.9.90.20150709/gdb/f-lang.h	2015-07-09 18:24:42.238383774 +0200
+--- gdb-7.10.50.20151027.orig/gdb/f-lang.h	2015-11-02 21:23:11.207351620 +0100
++++ gdb-7.10.50.20151027/gdb/f-lang.h	2015-11-02 21:23:13.216364839 +0100
 @@ -30,7 +30,7 @@ extern void f_error (char *);	/* Defined
  extern void f_print_type (struct type *, const char *, struct ui_file *, int,
  			  int, const struct type_print_options *);
@@ -1921,10 +1914,10 @@ Index: gdb-7.9.90.20150709/gdb/f-lang.h
  			 struct ui_file *, int,
  			 const struct value *,
  			 const struct value_print_options *);
-Index: gdb-7.9.90.20150709/gdb/f-valprint.c
+Index: gdb-7.10.50.20151027/gdb/f-valprint.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/f-valprint.c	2015-07-09 18:24:38.991356077 +0200
-+++ gdb-7.9.90.20150709/gdb/f-valprint.c	2015-07-09 18:24:42.238383774 +0200
+--- gdb-7.10.50.20151027.orig/gdb/f-valprint.c	2015-11-02 21:23:11.207351620 +0100
++++ gdb-7.10.50.20151027/gdb/f-valprint.c	2015-11-02 21:24:34.108897090 +0100
 @@ -38,7 +38,7 @@ extern void _initialize_f_valprint (void
  static void info_common_command (char *, int);
  static void f77_get_dynamic_length_of_aggregate (struct type *);
@@ -1984,11 +1977,11 @@ Index: gdb-7.9.90.20150709/gdb/f-valprint.c
  	     const struct value *original_value,
  	     const struct value_print_options *options)
  {
-Index: gdb-7.9.90.20150709/gdb/findvar.c
+Index: gdb-7.10.50.20151027/gdb/findvar.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/findvar.c	2015-07-09 18:24:38.991356077 +0200
-+++ gdb-7.9.90.20150709/gdb/findvar.c	2015-07-09 18:24:42.238383774 +0200
-@@ -626,7 +626,7 @@ struct value *
+--- gdb-7.10.50.20151027.orig/gdb/findvar.c	2015-11-02 21:23:11.208351627 +0100
++++ gdb-7.10.50.20151027/gdb/findvar.c	2015-11-02 21:23:13.217364846 +0100
+@@ -801,7 +801,7 @@ struct value *
  default_value_from_register (struct gdbarch *gdbarch, struct type *type,
                               int regnum, struct frame_id frame_id)
  {
@@ -1997,7 +1990,7 @@ Index: gdb-7.9.90.20150709/gdb/findvar.c
    struct value *value = allocate_value (type);
  
    VALUE_LVAL (value) = lval_register;
-@@ -659,10 +659,10 @@ void
+@@ -834,10 +834,10 @@ void
  read_frame_register_value (struct value *value, struct frame_info *frame)
  {
    struct gdbarch *gdbarch = get_frame_arch (frame);
@@ -2006,24 +1999,24 @@ Index: gdb-7.9.90.20150709/gdb/findvar.c
 +  LONGEST offset = 0;
 +  LONGEST reg_offset = value_offset (value);
    int regnum = VALUE_REGNUM (value);
--  int len = TYPE_LENGTH (check_typedef (value_type (value)));
-+  LONGEST len = TYPE_LENGTH (check_typedef (value_type (value)));
+-  int len = type_length_units (check_typedef (value_type (value)));
++  LONGEST len = type_length_units (check_typedef (value_type (value)));
  
    gdb_assert (VALUE_LVAL (value) == lval_register);
  
-@@ -677,7 +677,7 @@ read_frame_register_value (struct value
+@@ -852,7 +852,7 @@ read_frame_register_value (struct value
    while (len > 0)
      {
        struct value *regval = get_frame_register_value (frame, regnum);
--      int reg_len = TYPE_LENGTH (value_type (regval)) - reg_offset;
-+      LONGEST reg_len = TYPE_LENGTH (value_type (regval)) - reg_offset;
+-      int reg_len = type_length_units (value_type (regval)) - reg_offset;
++      LONGEST reg_len = type_length_units (value_type (regval)) - reg_offset;
  
        /* If the register length is larger than the number of bytes
           remaining to copy, then only copy the appropriate bytes.  */
-Index: gdb-7.9.90.20150709/gdb/frame.c
+Index: gdb-7.10.50.20151027/gdb/frame.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/frame.c	2015-07-09 18:24:38.992356085 +0200
-+++ gdb-7.9.90.20150709/gdb/frame.c	2015-07-09 18:24:42.239383783 +0200
+--- gdb-7.10.50.20151027.orig/gdb/frame.c	2015-11-02 21:23:11.208351627 +0100
++++ gdb-7.10.50.20151027/gdb/frame.c	2015-11-02 21:23:13.218364852 +0100
 @@ -1272,7 +1272,7 @@ deprecated_frame_register_read (struct f
  
  int
@@ -2042,11 +2035,11 @@ Index: gdb-7.9.90.20150709/gdb/frame.c
  
    /* Copy the data.  */
    while (len > 0)
-Index: gdb-7.9.90.20150709/gdb/frame.h
+Index: gdb-7.10.50.20151027/gdb/frame.h
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/frame.h	2015-07-09 18:24:38.992356085 +0200
-+++ gdb-7.9.90.20150709/gdb/frame.h	2015-07-09 18:24:42.239383783 +0200
-@@ -583,7 +583,7 @@ extern void put_frame_register (struct f
+--- gdb-7.10.50.20151027.orig/gdb/frame.h	2015-11-02 21:23:11.209351634 +0100
++++ gdb-7.10.50.20151027/gdb/frame.h	2015-11-02 21:23:13.218364852 +0100
+@@ -585,7 +585,7 @@ extern void put_frame_register (struct f
     contents are optimized out or unavailable, set *OPTIMIZEDP,
     *UNAVAILABLEP accordingly.  */
  extern int get_frame_register_bytes (struct frame_info *frame, int regnum,
@@ -2055,11 +2048,11 @@ Index: gdb-7.9.90.20150709/gdb/frame.h
  				     gdb_byte *myaddr,
  				     int *optimizedp, int *unavailablep);
  
-Index: gdb-7.9.90.20150709/gdb/gdbtypes.c
+Index: gdb-7.10.50.20151027/gdb/gdbtypes.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/gdbtypes.c	2015-07-09 18:24:38.995356111 +0200
-+++ gdb-7.9.90.20150709/gdb/gdbtypes.c	2015-07-09 18:24:42.241383800 +0200
-@@ -2698,7 +2698,7 @@ allocate_gnat_aux_type (struct type *typ
+--- gdb-7.10.50.20151027.orig/gdb/gdbtypes.c	2015-11-02 21:23:11.212351653 +0100
++++ gdb-7.10.50.20151027/gdb/gdbtypes.c	2015-11-02 21:23:13.220364866 +0100
+@@ -2719,7 +2719,7 @@ allocate_gnat_aux_type (struct type *typ
     least as long as OBJFILE.  */
  
  struct type *
@@ -2068,7 +2061,7 @@ Index: gdb-7.9.90.20150709/gdb/gdbtypes.c
  	   const char *name, struct objfile *objfile)
  {
    struct type *type;
-@@ -2938,8 +2938,8 @@ is_public_ancestor (struct type *base, s
+@@ -2959,8 +2959,8 @@ is_public_ancestor (struct type *base, s
  
  static int
  is_unique_ancestor_worker (struct type *base, struct type *dclass,
@@ -2079,7 +2072,7 @@ Index: gdb-7.9.90.20150709/gdb/gdbtypes.c
  			   CORE_ADDR address, struct value *val)
  {
    int i, count = 0;
-@@ -2950,7 +2950,7 @@ is_unique_ancestor_worker (struct type *
+@@ -2971,7 +2971,7 @@ is_unique_ancestor_worker (struct type *
    for (i = 0; i < TYPE_N_BASECLASSES (dclass) && count < 2; ++i)
      {
        struct type *iter;
@@ -2088,7 +2081,7 @@ Index: gdb-7.9.90.20150709/gdb/gdbtypes.c
  
        iter = check_typedef (TYPE_BASECLASS (dclass, i));
  
-@@ -2991,7 +2991,7 @@ is_unique_ancestor_worker (struct type *
+@@ -3012,7 +3012,7 @@ is_unique_ancestor_worker (struct type *
  int
  is_unique_ancestor (struct type *base, struct value *val)
  {
@@ -2097,7 +2090,7 @@ Index: gdb-7.9.90.20150709/gdb/gdbtypes.c
  
    return is_unique_ancestor_worker (base, value_type (val), &offset,
  				    value_contents_for_printing (val),
-@@ -4156,7 +4156,7 @@ recursive_dump_type (struct type *type,
+@@ -4200,7 +4200,7 @@ recursive_dump_type (struct type *type,
        break;
      }
    puts_filtered ("\n");
@@ -2106,7 +2099,7 @@ Index: gdb-7.9.90.20150709/gdb/gdbtypes.c
    if (TYPE_OBJFILE_OWNED (type))
      {
        printfi_filtered (spaces, "objfile ");
-@@ -4284,8 +4284,8 @@ recursive_dump_type (struct type *type,
+@@ -4328,8 +4328,8 @@ recursive_dump_type (struct type *type,
  			  idx, plongest (TYPE_FIELD_ENUMVAL (type, idx)));
        else
  	printfi_filtered (spaces + 2,
@@ -2117,7 +2110,7 @@ Index: gdb-7.9.90.20150709/gdb/gdbtypes.c
  			  TYPE_FIELD_BITSIZE (type, idx));
        gdb_print_host_address (TYPE_FIELD_TYPE (type, idx), gdb_stdout);
        printf_filtered (" name '%s' (",
-@@ -4666,7 +4666,7 @@ copy_type (const struct type *type)
+@@ -4671,7 +4671,7 @@ copy_type (const struct type *type)
  
  struct type *
  arch_type (struct gdbarch *gdbarch,
@@ -2126,11 +2119,11 @@ Index: gdb-7.9.90.20150709/gdb/gdbtypes.c
  {
    struct type *type;
  
-Index: gdb-7.9.90.20150709/gdb/gdbtypes.h
+Index: gdb-7.10.50.20151027/gdb/gdbtypes.h
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/gdbtypes.h	2015-07-09 18:24:38.995356111 +0200
-+++ gdb-7.9.90.20150709/gdb/gdbtypes.h	2015-07-09 18:24:42.241383800 +0200
-@@ -504,7 +504,7 @@ union field_location
+--- gdb-7.10.50.20151027.orig/gdb/gdbtypes.h	2015-11-02 21:23:11.213351660 +0100
++++ gdb-7.10.50.20151027/gdb/gdbtypes.h	2015-11-02 21:23:13.220364866 +0100
+@@ -512,7 +512,7 @@ union field_location
       gdbarch_bits_big_endian=0 targets, it is the bit offset to
       the LSB.  */
  
@@ -2140,15 +2133,15 @@ Index: gdb-7.9.90.20150709/gdb/gdbtypes.h
    /* * Enum value.  */
    LONGEST enumval;
 @@ -822,7 +822,7 @@ struct type
-      HOST_CHAR_BIT.  However, this would still fail to address
-      machines based on a ternary or decimal representation.  */
-   
--  unsigned length;
+      type_length_units function should be used in order to get the length
+      expressed in target addressable memory units.  */
+ 
+-  unsigned int length;
 +  ULONGEST length;
  
    /* * Core type, shared by a group of qualified types.  */
  
-@@ -1708,11 +1708,12 @@ extern struct type *get_target_type (str
+@@ -1717,11 +1717,12 @@ extern unsigned int type_length_units (s
  
  /* * Helper function to construct objfile-owned types.  */
  
@@ -2163,10 +2156,10 @@ Index: gdb-7.9.90.20150709/gdb/gdbtypes.h
  extern struct type *arch_integer_type (struct gdbarch *, int, int, char *);
  extern struct type *arch_character_type (struct gdbarch *, int, int, char *);
  extern struct type *arch_boolean_type (struct gdbarch *, int, int, char *);
-Index: gdb-7.9.90.20150709/gdb/gnu-v2-abi.c
+Index: gdb-7.10.50.20151027/gdb/gnu-v2-abi.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/gnu-v2-abi.c	2015-07-09 18:24:38.996356120 +0200
-+++ gdb-7.9.90.20150709/gdb/gnu-v2-abi.c	2015-07-09 18:24:42.241383800 +0200
+--- gdb-7.10.50.20151027.orig/gdb/gnu-v2-abi.c	2015-11-02 21:23:11.213351660 +0100
++++ gdb-7.10.50.20151027/gdb/gnu-v2-abi.c	2015-11-02 21:23:13.221364872 +0100
 @@ -82,7 +82,7 @@ gnuv2_is_operator_name (const char *name
     TYPE is the type in which F is located.  */
  static struct value *
@@ -2218,10 +2211,10 @@ Index: gdb-7.9.90.20150709/gdb/gnu-v2-abi.c
  	    gnuv2_baseclass_offset (type, i, valaddr,
  				    embedded_offset, address, val);
  
-Index: gdb-7.9.90.20150709/gdb/gnu-v3-abi.c
+Index: gdb-7.10.50.20151027/gdb/gnu-v3-abi.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/gnu-v3-abi.c	2015-07-09 18:24:38.996356120 +0200
-+++ gdb-7.9.90.20150709/gdb/gnu-v3-abi.c	2015-07-09 18:24:42.242383808 +0200
+--- gdb-7.10.50.20151027.orig/gdb/gnu-v3-abi.c	2015-11-02 21:23:11.214351667 +0100
++++ gdb-7.10.50.20151027/gdb/gnu-v3-abi.c	2015-11-02 21:23:13.221364872 +0100
 @@ -108,7 +108,7 @@ build_gdb_vtable_type (struct gdbarch *a
  {
    struct type *t;
@@ -2239,8 +2232,8 @@ Index: gdb-7.9.90.20150709/gdb/gnu-v3-abi.c
 +static LONGEST
  vtable_address_point_offset (struct gdbarch *gdbarch)
  {
-   struct type *vtable_type = gdbarch_data (gdbarch, vtable_type_gdbarch_data);
-@@ -285,7 +285,7 @@ gnuv3_get_vtable (struct gdbarch *gdbarc
+   struct type *vtable_type
+@@ -286,7 +286,7 @@ gnuv3_get_vtable (struct gdbarch *gdbarc
  
  static struct type *
  gnuv3_rtti_type (struct value *value,
@@ -2249,7 +2242,7 @@ Index: gdb-7.9.90.20150709/gdb/gnu-v3-abi.c
  {
    struct gdbarch *gdbarch;
    struct type *values_type = check_typedef (value_type (value));
-@@ -410,7 +410,7 @@ gnuv3_get_virtual_fn (struct gdbarch *gd
+@@ -411,7 +411,7 @@ gnuv3_get_virtual_fn (struct gdbarch *gd
  static struct value *
  gnuv3_virtual_fn_field (struct value **value_p,
                          struct fn_field *f, int j,
@@ -2258,7 +2251,7 @@ Index: gdb-7.9.90.20150709/gdb/gnu-v3-abi.c
  {
    struct type *values_type = check_typedef (value_type (*value_p));
    struct gdbarch *gdbarch;
-@@ -440,16 +440,16 @@ gnuv3_virtual_fn_field (struct value **v
+@@ -441,16 +441,16 @@ gnuv3_virtual_fn_field (struct value **v
  
     -1 is returned on error.  */
  
@@ -2278,7 +2271,7 @@ Index: gdb-7.9.90.20150709/gdb/gnu-v3-abi.c
  
    /* Determine architecture.  */
    gdbarch = get_type_arch (type);
-@@ -473,7 +473,7 @@ gnuv3_baseclass_offset (struct type *typ
+@@ -474,7 +474,7 @@ gnuv3_baseclass_offset (struct type *typ
    cur_base_offset = cur_base_offset + vtable_address_point_offset (gdbarch);
    if ((- cur_base_offset) % TYPE_LENGTH (ptr_type) != 0)
      error (_("Misaligned vbase offset."));
@@ -2287,7 +2280,7 @@ Index: gdb-7.9.90.20150709/gdb/gnu-v3-abi.c
  
    vtable = gnuv3_get_vtable (gdbarch, type, address + embedded_offset);
    gdb_assert (vtable != NULL);
-@@ -517,7 +517,7 @@ gnuv3_find_method_in (struct type *domai
+@@ -518,7 +518,7 @@ gnuv3_find_method_in (struct type *domai
       we're out of luck.  */
    for (i = 0; i < TYPE_N_BASECLASSES (domain); i++)
      {
@@ -2296,10 +2289,10 @@ Index: gdb-7.9.90.20150709/gdb/gnu-v3-abi.c
        struct type *basetype;
  
        if (BASETYPE_VIA_VIRTUAL (domain, i))
-Index: gdb-7.9.90.20150709/gdb/go-lang.h
+Index: gdb-7.10.50.20151027/gdb/go-lang.h
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/go-lang.h	2015-07-09 18:24:38.997356128 +0200
-+++ gdb-7.9.90.20150709/gdb/go-lang.h	2015-07-09 18:24:42.242383808 +0200
+--- gdb-7.10.50.20151027.orig/gdb/go-lang.h	2015-11-02 21:23:11.214351667 +0100
++++ gdb-7.10.50.20151027/gdb/go-lang.h	2015-11-02 21:23:13.221364872 +0100
 @@ -85,7 +85,7 @@ extern void go_print_type (struct type *
  /* Defined in go-valprint.c.  */
  
@@ -2309,10 +2302,10 @@ Index: gdb-7.9.90.20150709/gdb/go-lang.h
  			  struct ui_file *stream, int recurse,
  			  const struct value *val,
  			  const struct value_print_options *options);
-Index: gdb-7.9.90.20150709/gdb/go-valprint.c
+Index: gdb-7.10.50.20151027/gdb/go-valprint.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/go-valprint.c	2015-07-09 18:24:38.997356128 +0200
-+++ gdb-7.9.90.20150709/gdb/go-valprint.c	2015-07-09 18:24:42.242383808 +0200
+--- gdb-7.10.50.20151027.orig/gdb/go-valprint.c	2015-11-02 21:23:11.214351667 +0100
++++ gdb-7.10.50.20151027/gdb/go-valprint.c	2015-11-02 21:23:13.222364879 +0100
 @@ -37,7 +37,7 @@
  
  static void
@@ -2334,12 +2327,12 @@ Index: gdb-7.9.90.20150709/gdb/go-valprint.c
 +	      struct ui_file *stream, int recurse, const struct value *val,
  	      const struct value_print_options *options)
  {
-   CHECK_TYPEDEF (type);
-Index: gdb-7.9.90.20150709/gdb/jv-lang.c
+   type = check_typedef (type);
+Index: gdb-7.10.50.20151027/gdb/jv-lang.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/jv-lang.c	2015-07-09 18:24:38.997356128 +0200
-+++ gdb-7.9.90.20150709/gdb/jv-lang.c	2015-07-09 18:24:42.243383817 +0200
-@@ -436,7 +436,7 @@ java_link_class_type (struct gdbarch *gd
+--- gdb-7.10.50.20151027.orig/gdb/jv-lang.c	2015-11-02 21:23:11.215351673 +0100
++++ gdb-7.10.50.20151027/gdb/jv-lang.c	2015-11-02 21:23:13.222364879 +0100
+@@ -440,7 +440,7 @@ java_link_class_type (struct gdbarch *gd
    for (i = TYPE_N_BASECLASSES (type); i < nfields; i++)
      {
        int accflags;
@@ -2348,7 +2341,7 @@ Index: gdb-7.9.90.20150709/gdb/jv-lang.c
  
        if (fields == NULL)
  	{
-@@ -886,7 +886,7 @@ java_printchar (int c, struct type *type
+@@ -890,7 +890,7 @@ java_printchar (int c, struct type *type
  static void
  java_printstr (struct ui_file *stream, struct type *type,
  	       const gdb_byte *string,
@@ -2357,10 +2350,10 @@ Index: gdb-7.9.90.20150709/gdb/jv-lang.c
  	       const struct value_print_options *options)
  {
    const char *type_encoding = java_get_encoding (type);
-Index: gdb-7.9.90.20150709/gdb/jv-lang.h
+Index: gdb-7.10.50.20151027/gdb/jv-lang.h
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/jv-lang.h	2015-07-09 18:24:38.997356128 +0200
-+++ gdb-7.9.90.20150709/gdb/jv-lang.h	2015-07-09 18:24:42.243383817 +0200
+--- gdb-7.10.50.20151027.orig/gdb/jv-lang.h	2015-11-02 21:23:11.215351673 +0100
++++ gdb-7.10.50.20151027/gdb/jv-lang.h	2015-11-02 21:23:13.222364879 +0100
 @@ -43,8 +43,8 @@ struct builtin_java_type
  
  extern const struct builtin_java_type *builtin_java_type (struct gdbarch *);
@@ -2372,11 +2365,11 @@ Index: gdb-7.9.90.20150709/gdb/jv-lang.h
  			    const struct value *,
  			    const struct value_print_options *);
  
-Index: gdb-7.9.90.20150709/gdb/jv-valprint.c
+Index: gdb-7.10.50.20151027/gdb/jv-valprint.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/jv-valprint.c	2015-07-09 18:24:38.998356137 +0200
-+++ gdb-7.9.90.20150709/gdb/jv-valprint.c	2015-07-09 18:24:42.243383817 +0200
-@@ -265,7 +265,7 @@ java_value_print (struct value *val, str
+--- gdb-7.10.50.20151027.orig/gdb/jv-valprint.c	2015-11-02 21:23:11.215351673 +0100
++++ gdb-7.10.50.20151027/gdb/jv-valprint.c	2015-11-02 21:23:13.222364879 +0100
+@@ -266,7 +266,7 @@ java_value_print (struct value *val, str
  
  static void
  java_print_value_fields (struct type *type, const gdb_byte *valaddr,
@@ -2385,7 +2378,7 @@ Index: gdb-7.9.90.20150709/gdb/jv-valprint.c
  			 CORE_ADDR address, struct ui_file *stream,
  			 int recurse,
  			 const struct value *val,
-@@ -453,7 +453,7 @@ java_print_value_fields (struct type *ty
+@@ -454,7 +454,7 @@ java_print_value_fields (struct type *ty
  
  void
  java_val_print (struct type *type, const gdb_byte *valaddr,
@@ -2394,11 +2387,11 @@ Index: gdb-7.9.90.20150709/gdb/jv-valprint.c
  		struct ui_file *stream, int recurse,
  		const struct value *val,
  		const struct value_print_options *options)
-Index: gdb-7.9.90.20150709/gdb/language.c
+Index: gdb-7.10.50.20151027/gdb/language.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/language.c	2015-07-09 18:24:38.998356137 +0200
-+++ gdb-7.9.90.20150709/gdb/language.c	2015-07-09 18:24:42.244383825 +0200
-@@ -720,7 +720,7 @@ unk_lang_printchar (int c, struct type *
+--- gdb-7.10.50.20151027.orig/gdb/language.c	2015-11-02 21:23:11.216351680 +0100
++++ gdb-7.10.50.20151027/gdb/language.c	2015-11-02 21:23:13.223364885 +0100
+@@ -739,7 +739,7 @@ unk_lang_printchar (int c, struct type *
  
  static void
  unk_lang_printstr (struct ui_file *stream, struct type *type,
@@ -2407,7 +2400,7 @@ Index: gdb-7.9.90.20150709/gdb/language.c
  		   const char *encoding, int force_ellipses,
  		   const struct value_print_options *options)
  {
-@@ -739,7 +739,7 @@ unk_lang_print_type (struct type *type,
+@@ -758,7 +758,7 @@ unk_lang_print_type (struct type *type,
  
  static void
  unk_lang_val_print (struct type *type, const gdb_byte *valaddr,
@@ -2416,10 +2409,10 @@ Index: gdb-7.9.90.20150709/gdb/language.c
  		    struct ui_file *stream, int recurse,
  		    const struct value *val,
  		    const struct value_print_options *options)
-Index: gdb-7.9.90.20150709/gdb/language.h
+Index: gdb-7.10.50.20151027/gdb/language.h
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/language.h	2015-07-09 18:24:38.998356137 +0200
-+++ gdb-7.9.90.20150709/gdb/language.h	2015-07-09 18:24:42.244383825 +0200
+--- gdb-7.10.50.20151027.orig/gdb/language.h	2015-11-02 21:23:11.216351680 +0100
++++ gdb-7.10.50.20151027/gdb/language.h	2015-11-02 21:23:13.223364885 +0100
 @@ -189,7 +189,7 @@ struct language_defn
  			  struct ui_file * stream);
  
@@ -2438,10 +2431,10 @@ Index: gdb-7.9.90.20150709/gdb/language.h
  			  struct ui_file *stream, int recurse,
  			  const struct value *val,
  			  const struct value_print_options *options);
-Index: gdb-7.9.90.20150709/gdb/m2-lang.c
+Index: gdb-7.10.50.20151027/gdb/m2-lang.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/m2-lang.c	2015-07-09 18:24:38.999356145 +0200
-+++ gdb-7.9.90.20150709/gdb/m2-lang.c	2015-07-09 18:24:42.244383825 +0200
+--- gdb-7.10.50.20151027.orig/gdb/m2-lang.c	2015-11-02 21:23:11.217351686 +0100
++++ gdb-7.10.50.20151027/gdb/m2-lang.c	2015-11-02 21:23:13.223364885 +0100
 @@ -104,10 +104,10 @@ m2_printchar (int c, struct type *type,
  
  static void
@@ -2476,10 +2469,10 @@ Index: gdb-7.9.90.20150709/gdb/m2-lang.c
  	  i = rep1 - 1;
  	  things_printed += options->repeat_count_threshold;
  	  need_comma = 1;
-Index: gdb-7.9.90.20150709/gdb/m2-lang.h
+Index: gdb-7.10.50.20151027/gdb/m2-lang.h
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/m2-lang.h	2015-07-09 18:24:38.999356145 +0200
-+++ gdb-7.9.90.20150709/gdb/m2-lang.h	2015-07-09 18:24:42.244383825 +0200
+--- gdb-7.10.50.20151027.orig/gdb/m2-lang.h	2015-11-02 21:23:11.217351686 +0100
++++ gdb-7.10.50.20151027/gdb/m2-lang.h	2015-11-02 21:23:13.223364885 +0100
 @@ -34,7 +34,7 @@ extern void m2_print_typedef (struct typ
  extern int m2_is_long_set (struct type *type);
  extern int m2_is_unbounded_array (struct type *type);
@@ -2489,10 +2482,10 @@ Index: gdb-7.9.90.20150709/gdb/m2-lang.h
  			  struct ui_file *, int,
  			  const struct value *,
  			  const struct value_print_options *);
-Index: gdb-7.9.90.20150709/gdb/m2-typeprint.c
+Index: gdb-7.10.50.20151027/gdb/m2-typeprint.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/m2-typeprint.c	2015-07-09 18:24:38.999356145 +0200
-+++ gdb-7.9.90.20150709/gdb/m2-typeprint.c	2015-07-09 18:24:42.245383834 +0200
+--- gdb-7.10.50.20151027.orig/gdb/m2-typeprint.c	2015-11-02 21:23:11.217351686 +0100
++++ gdb-7.10.50.20151027/gdb/m2-typeprint.c	2015-11-02 21:23:13.224364892 +0100
 @@ -234,9 +234,12 @@ static void m2_array (struct type *type,
  	  m2_print_bounds (TYPE_INDEX_TYPE (type), stream, show, -1, 1);
  	}
@@ -2509,10 +2502,10 @@ Index: gdb-7.9.90.20150709/gdb/m2-typeprint.c
      }
    fprintf_filtered (stream, "] OF ");
    m2_print_type (TYPE_TARGET_TYPE (type), "", stream, show, level, flags);
-Index: gdb-7.9.90.20150709/gdb/m2-valprint.c
+Index: gdb-7.10.50.20151027/gdb/m2-valprint.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/m2-valprint.c	2015-07-09 18:24:38.999356145 +0200
-+++ gdb-7.9.90.20150709/gdb/m2-valprint.c	2015-07-09 18:24:42.245383834 +0200
+--- gdb-7.10.50.20151027.orig/gdb/m2-valprint.c	2015-11-02 21:23:11.217351686 +0100
++++ gdb-7.10.50.20151027/gdb/m2-valprint.c	2015-11-02 21:23:13.224364892 +0100
 @@ -35,7 +35,7 @@ static int print_unpacked_pointer (struc
  				   struct ui_file *stream);
  static void
@@ -2578,10 +2571,10 @@ Index: gdb-7.9.90.20150709/gdb/m2-valprint.c
  
  		  /* Look for a NULL char.  */
  		  for (temp_len = 0;
-Index: gdb-7.9.90.20150709/gdb/memrange.c
+Index: gdb-7.10.50.20151027/gdb/memrange.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/memrange.c	2015-07-09 18:24:38.999356145 +0200
-+++ gdb-7.9.90.20150709/gdb/memrange.c	2015-07-09 18:24:42.245383834 +0200
+--- gdb-7.10.50.20151027.orig/gdb/memrange.c	2015-11-02 21:23:11.218351693 +0100
++++ gdb-7.10.50.20151027/gdb/memrange.c	2015-11-02 21:23:13.224364892 +0100
 @@ -21,8 +21,8 @@
  #include "memrange.h"
  
@@ -2593,10 +2586,10 @@ Index: gdb-7.9.90.20150709/gdb/memrange.c
  {
    ULONGEST h, l;
  
-Index: gdb-7.9.90.20150709/gdb/memrange.h
+Index: gdb-7.10.50.20151027/gdb/memrange.h
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/memrange.h	2015-07-09 18:24:39.000356154 +0200
-+++ gdb-7.9.90.20150709/gdb/memrange.h	2015-07-09 18:24:42.245383834 +0200
+--- gdb-7.10.50.20151027.orig/gdb/memrange.h	2015-11-02 21:23:11.218351693 +0100
++++ gdb-7.10.50.20151027/gdb/memrange.h	2015-11-02 21:23:13.224364892 +0100
 @@ -30,7 +30,7 @@ struct mem_range
    CORE_ADDR start;
  
@@ -2617,11 +2610,11 @@ Index: gdb-7.9.90.20150709/gdb/memrange.h
  
  /* Returns true if ADDR is in RANGE.  */
  
-Index: gdb-7.9.90.20150709/gdb/mips-linux-nat.c
+Index: gdb-7.10.50.20151027/gdb/mips-linux-nat.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/mips-linux-nat.c	2015-07-09 18:24:39.000356154 +0200
-+++ gdb-7.9.90.20150709/gdb/mips-linux-nat.c	2015-07-09 18:24:42.245383834 +0200
-@@ -586,7 +586,7 @@ mips_linux_stopped_data_address (struct
+--- gdb-7.10.50.20151027.orig/gdb/mips-linux-nat.c	2015-11-02 21:23:11.218351693 +0100
++++ gdb-7.10.50.20151027/gdb/mips-linux-nat.c	2015-11-02 21:23:13.225364899 +0100
+@@ -587,7 +587,7 @@ mips_linux_stopped_data_address (struct
  
  static int
  mips_linux_region_ok_for_hw_watchpoint (struct target_ops *self,
@@ -2630,10 +2623,10 @@ Index: gdb-7.9.90.20150709/gdb/mips-linux-nat.c
  {
    struct pt_watch_regs dummy_regs;
    int i;
-Index: gdb-7.9.90.20150709/gdb/opencl-lang.c
+Index: gdb-7.10.50.20151027/gdb/opencl-lang.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/opencl-lang.c	2015-07-09 18:24:39.000356154 +0200
-+++ gdb-7.9.90.20150709/gdb/opencl-lang.c	2015-07-09 18:24:42.246383843 +0200
+--- gdb-7.10.50.20151027.orig/gdb/opencl-lang.c	2015-11-02 21:23:11.219351699 +0100
++++ gdb-7.10.50.20151027/gdb/opencl-lang.c	2015-11-02 21:23:13.225364899 +0100
 @@ -78,11 +78,11 @@ builtin_opencl_type (struct gdbarch *gdb
  
  static struct type *
@@ -2710,10 +2703,10 @@ Index: gdb-7.9.90.20150709/gdb/opencl-lang.c
  
        if (!value_bits_synthetic_pointer (c->val,
  					 c->indices[i] * elsize + comp_offset,
-Index: gdb-7.9.90.20150709/gdb/p-lang.c
+Index: gdb-7.10.50.20151027/gdb/p-lang.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/p-lang.c	2015-07-09 18:24:39.001356162 +0200
-+++ gdb-7.9.90.20150709/gdb/p-lang.c	2015-07-09 18:24:42.246383843 +0200
+--- gdb-7.10.50.20151027.orig/gdb/p-lang.c	2015-11-02 21:23:11.219351699 +0100
++++ gdb-7.10.50.20151027/gdb/p-lang.c	2015-11-02 21:23:13.225364899 +0100
 @@ -95,8 +95,8 @@ pascal_main_name (void)
     are not multiple of TARGET_CHAR_BIT then the results are wrong
     but this does not happen for Free Pascal nor for GPC.  */
@@ -2761,10 +2754,10 @@ Index: gdb-7.9.90.20150709/gdb/p-lang.c
  	  i = rep1 - 1;
  	  things_printed += options->repeat_count_threshold;
  	  need_comma = 1;
-Index: gdb-7.9.90.20150709/gdb/p-lang.h
+Index: gdb-7.10.50.20151027/gdb/p-lang.h
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/p-lang.h	2015-07-09 18:24:39.001356162 +0200
-+++ gdb-7.9.90.20150709/gdb/p-lang.h	2015-07-09 18:24:42.246383843 +0200
+--- gdb-7.10.50.20151027.orig/gdb/p-lang.h	2015-11-02 21:23:11.219351699 +0100
++++ gdb-7.10.50.20151027/gdb/p-lang.h	2015-11-02 21:23:13.226364905 +0100
 @@ -36,7 +36,7 @@ extern void pascal_print_type (struct ty
  extern void pascal_print_typedef (struct type *, struct symbol *,
  				  struct ui_file *);
@@ -2799,10 +2792,10 @@ Index: gdb-7.9.90.20150709/gdb/p-lang.h
  					      CORE_ADDR, struct ui_file *,
  					      int,
  					      const struct value *,
-Index: gdb-7.9.90.20150709/gdb/p-valprint.c
+Index: gdb-7.10.50.20151027/gdb/p-valprint.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/p-valprint.c	2015-07-09 18:24:39.001356162 +0200
-+++ gdb-7.9.90.20150709/gdb/p-valprint.c	2015-07-09 18:24:42.247383851 +0200
+--- gdb-7.10.50.20151027.orig/gdb/p-valprint.c	2015-11-02 21:23:11.220351706 +0100
++++ gdb-7.10.50.20151027/gdb/p-valprint.c	2015-11-02 21:23:13.226364905 +0100
 @@ -57,7 +57,7 @@ static const struct generic_val_print_de
  
  void
@@ -2864,10 +2857,10 @@ Index: gdb-7.9.90.20150709/gdb/p-valprint.c
        int skip = 0;
  
        if (BASETYPE_VIA_VIRTUAL (type, i))
-Index: gdb-7.9.90.20150709/gdb/ppc-linux-nat.c
+Index: gdb-7.10.50.20151027/gdb/ppc-linux-nat.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/ppc-linux-nat.c	2015-07-09 18:24:39.002356171 +0200
-+++ gdb-7.9.90.20150709/gdb/ppc-linux-nat.c	2015-07-09 18:24:42.247383851 +0200
+--- gdb-7.10.50.20151027.orig/gdb/ppc-linux-nat.c	2015-11-02 21:23:11.221351713 +0100
++++ gdb-7.10.50.20151027/gdb/ppc-linux-nat.c	2015-11-02 21:23:13.227364912 +0100
 @@ -1449,7 +1449,7 @@ ppc_linux_can_use_hw_breakpoint (struct
  
  static int
@@ -2877,10 +2870,10 @@ Index: gdb-7.9.90.20150709/gdb/ppc-linux-nat.c
  {
    /* Handle sub-8-byte quantities.  */
    if (len <= 0)
-Index: gdb-7.9.90.20150709/gdb/printcmd.c
+Index: gdb-7.10.50.20151027/gdb/printcmd.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/printcmd.c	2015-07-09 18:24:39.003356179 +0200
-+++ gdb-7.9.90.20150709/gdb/printcmd.c	2015-07-09 18:24:42.248383860 +0200
+--- gdb-7.10.50.20151027.orig/gdb/printcmd.c	2015-11-02 21:23:11.221351713 +0100
++++ gdb-7.10.50.20151027/gdb/printcmd.c	2015-11-02 21:23:13.227364912 +0100
 @@ -274,7 +274,7 @@ print_formatted (struct value *val, int
  		 struct ui_file *stream)
  {
@@ -2890,7 +2883,7 @@ Index: gdb-7.9.90.20150709/gdb/printcmd.c
  
    if (VALUE_LVAL (val) == lval_memory)
      next_address = value_address (val) + len;
-@@ -352,7 +352,7 @@ print_scalar_formatted (const void *vala
+@@ -352,7 +352,7 @@ print_scalar_formatted (const gdb_byte *
  {
    struct gdbarch *gdbarch = get_type_arch (type);
    LONGEST val_long = 0;
@@ -2899,11 +2892,11 @@ Index: gdb-7.9.90.20150709/gdb/printcmd.c
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
  
    /* String printing should go through val_print_scalar_formatted.  */
-Index: gdb-7.9.90.20150709/gdb/procfs.c
+Index: gdb-7.10.50.20151027/gdb/procfs.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/procfs.c	2015-07-09 18:24:39.004356188 +0200
-+++ gdb-7.9.90.20150709/gdb/procfs.c	2015-07-09 18:24:42.249383868 +0200
-@@ -4859,7 +4859,7 @@ procfs_remove_watchpoint (struct target_
+--- gdb-7.10.50.20151027.orig/gdb/procfs.c	2015-11-02 21:23:11.223351726 +0100
++++ gdb-7.10.50.20151027/gdb/procfs.c	2015-11-02 21:23:13.228364918 +0100
+@@ -4863,7 +4863,7 @@ procfs_remove_watchpoint (struct target_
  
  static int
  procfs_region_ok_for_hw_watchpoint (struct target_ops *self,
@@ -2912,10 +2905,10 @@ Index: gdb-7.9.90.20150709/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.9.90.20150709/gdb/python/py-prettyprint.c
+Index: gdb-7.10.50.20151027/gdb/python/py-prettyprint.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/python/py-prettyprint.c	2015-07-09 18:24:39.004356188 +0200
-+++ gdb-7.9.90.20150709/gdb/python/py-prettyprint.c	2015-07-09 18:24:42.249383868 +0200
+--- gdb-7.10.50.20151027.orig/gdb/python/py-prettyprint.c	2015-11-02 21:23:11.223351726 +0100
++++ gdb-7.10.50.20151027/gdb/python/py-prettyprint.c	2015-11-02 21:23:13.229364925 +0100
 @@ -703,7 +703,7 @@ print_children (PyObject *printer, const
  enum ext_lang_rc
  gdbpy_apply_val_pretty_printer (const struct extension_language_defn *extlang,
@@ -2925,11 +2918,11 @@ Index: gdb-7.9.90.20150709/gdb/python/py-prettyprint.c
  				struct ui_file *stream, int recurse,
  				const struct value *val,
  				const struct value_print_options *options,
-Index: gdb-7.9.90.20150709/gdb/regcache.c
+Index: gdb-7.10.50.20151027/gdb/regcache.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/regcache.c	2015-07-09 18:24:39.005356196 +0200
-+++ gdb-7.9.90.20150709/gdb/regcache.c	2015-07-09 18:24:42.250383877 +0200
-@@ -949,7 +949,7 @@ typedef void (regcache_write_ftype) (str
+--- gdb-7.10.50.20151027.orig/gdb/regcache.c	2015-11-02 21:23:11.224351732 +0100
++++ gdb-7.10.50.20151027/gdb/regcache.c	2015-11-02 21:23:13.229364925 +0100
+@@ -958,7 +958,7 @@ typedef void (regcache_write_ftype) (str
  
  static enum register_status
  regcache_xfer_part (struct regcache *regcache, int regnum,
@@ -2938,7 +2931,7 @@ Index: gdb-7.9.90.20150709/gdb/regcache.c
  		    enum register_status (*read) (struct regcache *regcache,
  						  int regnum,
  						  gdb_byte *buf),
-@@ -993,7 +993,7 @@ regcache_xfer_part (struct regcache *reg
+@@ -1002,7 +1002,7 @@ regcache_xfer_part (struct regcache *reg
  
  enum register_status
  regcache_raw_read_part (struct regcache *regcache, int regnum,
@@ -2947,7 +2940,7 @@ Index: gdb-7.9.90.20150709/gdb/regcache.c
  {
    struct regcache_descr *descr = regcache->descr;
  
-@@ -1004,7 +1004,7 @@ regcache_raw_read_part (struct regcache
+@@ -1013,7 +1013,7 @@ regcache_raw_read_part (struct regcache
  
  void
  regcache_raw_write_part (struct regcache *regcache, int regnum,
@@ -2956,7 +2949,7 @@ Index: gdb-7.9.90.20150709/gdb/regcache.c
  {
    struct regcache_descr *descr = regcache->descr;
  
-@@ -1015,7 +1015,7 @@ regcache_raw_write_part (struct regcache
+@@ -1024,7 +1024,7 @@ regcache_raw_write_part (struct regcache
  
  enum register_status
  regcache_cooked_read_part (struct regcache *regcache, int regnum,
@@ -2965,7 +2958,7 @@ Index: gdb-7.9.90.20150709/gdb/regcache.c
  {
    struct regcache_descr *descr = regcache->descr;
  
-@@ -1026,7 +1026,7 @@ regcache_cooked_read_part (struct regcac
+@@ -1035,7 +1035,7 @@ regcache_cooked_read_part (struct regcac
  
  void
  regcache_cooked_write_part (struct regcache *regcache, int regnum,
@@ -2974,10 +2967,10 @@ Index: gdb-7.9.90.20150709/gdb/regcache.c
  {
    struct regcache_descr *descr = regcache->descr;
  
-Index: gdb-7.9.90.20150709/gdb/regcache.h
+Index: gdb-7.10.50.20151027/gdb/regcache.h
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/regcache.h	2015-07-09 18:24:39.005356196 +0200
-+++ gdb-7.9.90.20150709/gdb/regcache.h	2015-07-09 18:24:42.250383877 +0200
+--- gdb-7.10.50.20151027.orig/gdb/regcache.h	2015-11-02 21:23:11.224351732 +0100
++++ gdb-7.10.50.20151027/gdb/regcache.h	2015-11-02 21:23:13.230364931 +0100
 @@ -92,9 +92,9 @@ extern void regcache_raw_write_unsigned
  
  extern enum register_status
@@ -3005,11 +2998,11 @@ Index: gdb-7.9.90.20150709/gdb/regcache.h
  
  /* Special routines to read/write the PC.  */
  
-Index: gdb-7.9.90.20150709/gdb/remote.c
+Index: gdb-7.10.50.20151027/gdb/remote.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/remote.c	2015-07-09 18:24:39.007356213 +0200
-+++ gdb-7.9.90.20150709/gdb/remote.c	2015-07-09 18:24:42.253383902 +0200
-@@ -8796,7 +8796,7 @@ int remote_hw_breakpoint_limit = -1;
+--- gdb-7.10.50.20151027.orig/gdb/remote.c	2015-11-02 21:23:11.227351752 +0100
++++ gdb-7.10.50.20151027/gdb/remote.c	2015-11-02 21:23:13.232364945 +0100
+@@ -9157,7 +9157,7 @@ int remote_hw_breakpoint_limit = -1;
  
  static int
  remote_region_ok_for_hw_watchpoint (struct target_ops *self,
@@ -3018,11 +3011,11 @@ Index: gdb-7.9.90.20150709/gdb/remote.c
  {
    if (remote_hw_watchpoint_length_limit == 0)
      return 0;
-Index: gdb-7.9.90.20150709/gdb/spu-multiarch.c
+Index: gdb-7.10.50.20151027/gdb/spu-multiarch.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/spu-multiarch.c	2015-07-09 18:24:39.008356222 +0200
-+++ gdb-7.9.90.20150709/gdb/spu-multiarch.c	2015-07-09 18:24:42.253383902 +0200
-@@ -117,7 +117,7 @@ spu_thread_architecture (struct target_o
+--- gdb-7.10.50.20151027.orig/gdb/spu-multiarch.c	2015-11-02 21:23:11.228351759 +0100
++++ gdb-7.10.50.20151027/gdb/spu-multiarch.c	2015-11-02 21:23:13.233364951 +0100
+@@ -127,7 +127,7 @@ spu_thread_architecture (struct target_o
  /* Override the to_region_ok_for_hw_watchpoint routine.  */
  static int
  spu_region_ok_for_hw_watchpoint (struct target_ops *self,
@@ -3031,10 +3024,10 @@ Index: gdb-7.9.90.20150709/gdb/spu-multiarch.c
  {
    struct target_ops *ops_beneath = find_target_beneath (self);
  
-Index: gdb-7.9.90.20150709/gdb/stack.c
+Index: gdb-7.10.50.20151027/gdb/stack.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/stack.c	2015-07-09 18:24:39.009356230 +0200
-+++ gdb-7.9.90.20150709/gdb/stack.c	2015-07-09 18:24:42.254383911 +0200
+--- gdb-7.10.50.20151027.orig/gdb/stack.c	2015-11-02 21:23:11.229351765 +0100
++++ gdb-7.10.50.20151027/gdb/stack.c	2015-11-02 21:23:13.233364951 +0100
 @@ -176,7 +176,7 @@ print_stack_frame (struct frame_info *fr
     argument (not just the first nameless argument).  */
  
@@ -3073,10 +3066,10 @@ Index: gdb-7.9.90.20150709/gdb/stack.c
  
        if (highest_offset == -1)
  	start = gdbarch_frame_args_skip (get_frame_arch (frame));
-Index: gdb-7.9.90.20150709/gdb/symmisc.c
+Index: gdb-7.10.50.20151027/gdb/symmisc.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/symmisc.c	2015-07-09 18:24:39.009356230 +0200
-+++ gdb-7.9.90.20150709/gdb/symmisc.c	2015-07-09 18:24:42.254383911 +0200
+--- gdb-7.10.50.20151027.orig/gdb/symmisc.c	2015-11-02 21:23:11.229351765 +0100
++++ gdb-7.10.50.20151027/gdb/symmisc.c	2015-11-02 21:23:13.234364958 +0100
 @@ -534,11 +534,11 @@ print_symbol (void *args)
  
  	case LOC_CONST_BYTES:
@@ -3092,10 +3085,10 @@ Index: gdb-7.9.90.20150709/gdb/symmisc.c
  	    for (i = 0; i < TYPE_LENGTH (type); i++)
  	      fprintf_filtered (outfile, " %02x",
  				(unsigned) SYMBOL_VALUE_BYTES (symbol)[i]);
-Index: gdb-7.9.90.20150709/gdb/target.c
+Index: gdb-7.10.50.20151027/gdb/target.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/target.c	2015-07-09 18:24:39.010356239 +0200
-+++ gdb-7.9.90.20150709/gdb/target.c	2015-07-09 18:24:42.255383919 +0200
+--- gdb-7.10.50.20151027.orig/gdb/target.c	2015-11-02 21:23:11.230351772 +0100
++++ gdb-7.10.50.20151027/gdb/target.c	2015-11-02 21:23:13.234364958 +0100
 @@ -54,7 +54,7 @@ static int default_watchpoint_addr_withi
  						 CORE_ADDR, CORE_ADDR, int);
  
@@ -3105,7 +3098,7 @@ Index: gdb-7.9.90.20150709/gdb/target.c
  
  static void default_rcmd (struct target_ops *, const char *, struct ui_file *);
  
-@@ -3085,7 +3085,7 @@ target_fileio_read_stralloc (struct infe
+@@ -3132,7 +3132,7 @@ target_fileio_read_stralloc (struct infe
  
  static int
  default_region_ok_for_hw_watchpoint (struct target_ops *self,
@@ -3114,11 +3107,11 @@ Index: gdb-7.9.90.20150709/gdb/target.c
  {
    return (len <= gdbarch_ptr_bit (target_gdbarch ()) / TARGET_CHAR_BIT);
  }
-Index: gdb-7.9.90.20150709/gdb/target.h
+Index: gdb-7.10.50.20151027/gdb/target.h
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/target.h	2015-07-09 18:24:39.010356239 +0200
-+++ gdb-7.9.90.20150709/gdb/target.h	2015-07-09 18:24:42.256383928 +0200
-@@ -547,7 +547,7 @@ struct target_ops
+--- gdb-7.10.50.20151027.orig/gdb/target.h	2015-11-02 21:23:11.231351779 +0100
++++ gdb-7.10.50.20151027/gdb/target.h	2015-11-02 21:23:13.235364964 +0100
+@@ -549,7 +549,7 @@ struct target_ops
      /* Documentation of this routine is provided with the corresponding
         target_* macro.  */
      int (*to_region_ok_for_hw_watchpoint) (struct target_ops *,
@@ -3127,11 +3120,11 @@ Index: gdb-7.9.90.20150709/gdb/target.h
        TARGET_DEFAULT_FUNC (default_region_ok_for_hw_watchpoint);
  
      int (*to_can_accel_watchpoint_condition) (struct target_ops *,
-Index: gdb-7.9.90.20150709/gdb/tracepoint.c
+Index: gdb-7.10.50.20151027/gdb/tracepoint.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/tracepoint.c	2015-07-09 18:24:39.012356256 +0200
-+++ gdb-7.9.90.20150709/gdb/tracepoint.c	2015-07-09 18:24:42.257383936 +0200
-@@ -928,13 +928,13 @@ add_register (struct collection_list *co
+--- gdb-7.10.50.20151027.orig/gdb/tracepoint.c	2015-11-02 21:23:11.233351792 +0100
++++ gdb-7.10.50.20151027/gdb/tracepoint.c	2015-11-02 21:23:13.236364971 +0100
+@@ -930,13 +930,13 @@ add_register (struct collection_list *co
  static void
  add_memrange (struct collection_list *memranges, 
  	      int type, bfd_signed_vma base,
@@ -3147,7 +3140,7 @@ Index: gdb-7.9.90.20150709/gdb/tracepoint.c
      }
  
    /* type: memrange_absolute == memory, other n == basereg */
-@@ -964,7 +964,7 @@ collect_symbol (struct collection_list *
+@@ -966,7 +966,7 @@ collect_symbol (struct collection_list *
  		CORE_ADDR scope,
  		int trace_string)
  {
@@ -3156,7 +3149,7 @@ Index: gdb-7.9.90.20150709/gdb/tracepoint.c
    unsigned int reg;
    bfd_signed_vma offset;
    int treat_as_expr = 0;
-@@ -988,8 +988,8 @@ collect_symbol (struct collection_list *
+@@ -990,8 +990,8 @@ collect_symbol (struct collection_list *
  	  char tmp[40];
  
  	  sprintf_vma (tmp, offset);
@@ -3167,7 +3160,7 @@ Index: gdb-7.9.90.20150709/gdb/tracepoint.c
  			   tmp /* address */);
  	}
        /* A struct may be a C++ class with static fields, go to general
-@@ -1021,8 +1021,8 @@ collect_symbol (struct collection_list *
+@@ -1023,8 +1023,8 @@ collect_symbol (struct collection_list *
        offset = frame_offset + SYMBOL_VALUE (sym);
        if (info_verbose)
  	{
@@ -3178,7 +3171,7 @@ Index: gdb-7.9.90.20150709/gdb/tracepoint.c
  	  printf_vma (offset);
  	  printf_filtered (" from frame ptr reg %d\n", reg);
  	}
-@@ -1033,8 +1033,8 @@ collect_symbol (struct collection_list *
+@@ -1035,8 +1035,8 @@ collect_symbol (struct collection_list *
        offset = 0;
        if (info_verbose)
  	{
@@ -3189,7 +3182,7 @@ Index: gdb-7.9.90.20150709/gdb/tracepoint.c
  	  printf_vma (offset);
  	  printf_filtered (" from reg %d\n", reg);
  	}
-@@ -1045,8 +1045,8 @@ collect_symbol (struct collection_list *
+@@ -1047,8 +1047,8 @@ collect_symbol (struct collection_list *
        offset = frame_offset + SYMBOL_VALUE (sym);
        if (info_verbose)
  	{
@@ -3200,7 +3193,7 @@ Index: gdb-7.9.90.20150709/gdb/tracepoint.c
  	  printf_vma (offset);
  	  printf_filtered (" from frame ptr reg %d\n", reg);
  	}
-@@ -2709,7 +2709,8 @@ scope_info (char *args, int from_tty)
+@@ -2708,7 +2708,8 @@ scope_info (char *args, int from_tty)
    const char *symname;
    char *save_args = args;
    struct block_iterator iter;
@@ -3209,8 +3202,8 @@ Index: gdb-7.9.90.20150709/gdb/tracepoint.c
 +  LONGEST j;
    struct gdbarch *gdbarch;
    int regno;
- 
-@@ -2845,8 +2846,11 @@ scope_info (char *args, int from_tty)
+   struct event_location *location;
+@@ -2852,8 +2853,11 @@ scope_info (char *args, int from_tty)
  		}
  	    }
  	  if (SYMBOL_TYPE (sym))
@@ -3224,11 +3217,11 @@ Index: gdb-7.9.90.20150709/gdb/tracepoint.c
  	}
        if (BLOCK_FUNCTION (block))
  	break;
-Index: gdb-7.9.90.20150709/gdb/typeprint.c
+Index: gdb-7.10.50.20151027/gdb/typeprint.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/typeprint.c	2015-07-09 18:24:39.013356264 +0200
-+++ gdb-7.9.90.20150709/gdb/typeprint.c	2015-07-09 18:24:42.257383936 +0200
-@@ -404,7 +404,7 @@ whatis_exp (char *exp, int show)
+--- gdb-7.10.50.20151027.orig/gdb/typeprint.c	2015-11-02 21:23:11.234351798 +0100
++++ gdb-7.10.50.20151027/gdb/typeprint.c	2015-11-02 21:23:13.236364971 +0100
+@@ -406,7 +406,7 @@ whatis_exp (char *exp, int show)
    struct type *real_type = NULL;
    struct type *type;
    int full = 0;
@@ -3237,37 +3230,27 @@ Index: gdb-7.9.90.20150709/gdb/typeprint.c
    int using_enc = 0;
    struct value_print_options opts;
    struct type_print_options flags = default_ptype_flags;
-Index: gdb-7.9.90.20150709/gdb/valarith.c
+Index: gdb-7.10.50.20151027/gdb/valarith.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/valarith.c	2015-07-09 18:24:39.014356273 +0200
-+++ gdb-7.9.90.20150709/gdb/valarith.c	2015-07-09 18:24:42.257383936 +0200
-@@ -188,12 +188,13 @@ value_subscript (struct value *array, LO
+--- gdb-7.10.50.20151027.orig/gdb/valarith.c	2015-11-02 21:23:11.234351798 +0100
++++ gdb-7.10.50.20151027/gdb/valarith.c	2015-11-02 21:23:59.822671496 +0100
+@@ -188,12 +188,12 @@ value_subscript (struct value *array, LO
     to doubles, but no longer does.  */
  
  struct value *
 -value_subscripted_rvalue (struct value *array, LONGEST index, int lowerbound)
-+value_subscripted_rvalue (struct value *array, LONGEST index,
-+			  LONGEST lowerbound)
++value_subscripted_rvalue (struct value *array, LONGEST index, LONGEST lowerbound)
  {
    struct type *array_type = check_typedef (value_type (array));
    struct type *elt_type = check_typedef (TYPE_TARGET_TYPE (array_type));
--  unsigned int elt_size = TYPE_LENGTH (elt_type);
+-  unsigned int elt_size = type_length_units (elt_type);
 -  unsigned int elt_offs;
-+  ULONGEST elt_size = TYPE_LENGTH (elt_type);
++  ULONGEST elt_size = type_length_units (elt_type);
 +  ULONGEST elt_offs;
    LONGEST elt_stride = TYPE_BYTE_STRIDE (TYPE_INDEX_TYPE (array_type));
    struct value *v;
  
-@@ -202,7 +203,7 @@ value_subscripted_rvalue (struct value *
-   if (TYPE_NOT_ALLOCATED (array_type))
-     error (_("no such vector element because not allocated"));
- 
--  elt_offs = longest_to_int (index - lowerbound);
-+  elt_offs = index - lowerbound;
- 
-   if (elt_stride > 0)
-     elt_offs *= elt_stride;
-@@ -678,7 +679,7 @@ value_concat (struct value *arg1, struct
+@@ -678,7 +678,7 @@ value_concat (struct value *arg1, struct
    struct value *inval1;
    struct value *inval2;
    struct value *outval = NULL;
@@ -3276,7 +3259,7 @@ Index: gdb-7.9.90.20150709/gdb/valarith.c
    int count, idx;
    char *ptr;
    char inchar;
-@@ -1531,7 +1532,7 @@ value_binop (struct value *arg1, struct
+@@ -1531,7 +1531,7 @@ value_binop (struct value *arg1, struct
  int
  value_logical_not (struct value *arg1)
  {
@@ -3285,7 +3268,7 @@ Index: gdb-7.9.90.20150709/gdb/valarith.c
    const gdb_byte *p;
    struct type *type1;
  
-@@ -1562,11 +1563,11 @@ value_logical_not (struct value *arg1)
+@@ -1562,11 +1562,11 @@ value_logical_not (struct value *arg1)
  static int
  value_strcmp (struct value *arg1, struct value *arg2)
  {
@@ -3300,10 +3283,10 @@ Index: gdb-7.9.90.20150709/gdb/valarith.c
  
    for (i = 0; i < len; i++)
      {
-Index: gdb-7.9.90.20150709/gdb/valops.c
+Index: gdb-7.10.50.20151027/gdb/valops.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/valops.c	2015-07-09 18:24:39.019356316 +0200
-+++ gdb-7.9.90.20150709/gdb/valops.c	2015-07-09 18:26:02.032064420 +0200
+--- gdb-7.10.50.20151027.orig/gdb/valops.c	2015-11-02 21:23:11.240351838 +0100
++++ gdb-7.10.50.20151027/gdb/valops.c	2015-11-02 21:23:13.238364984 +0100
 @@ -51,7 +51,7 @@ static struct value *search_struct_field
  
  static struct value *search_struct_method (const char *, struct value **,
@@ -3425,7 +3408,7 @@ Index: gdb-7.9.90.20150709/gdb/valops.c
  		   int stack, CORE_ADDR memaddr,
  		   gdb_byte *buffer, size_t length)
  {
-@@ -1054,7 +1056,7 @@ value_assign (struct value *toval, struc
+@@ -1057,7 +1059,7 @@ value_assign (struct value *toval, struc
        {
  	const gdb_byte *dest_buffer;
  	CORE_ADDR changed_addr;
@@ -3434,7 +3417,7 @@ Index: gdb-7.9.90.20150709/gdb/valops.c
          gdb_byte buffer[sizeof (LONGEST)];
  
  	if (value_bitsize (toval))
-@@ -1123,7 +1125,7 @@ value_assign (struct value *toval, struc
+@@ -1126,7 +1128,7 @@ value_assign (struct value *toval, struc
  	if (value_bitsize (toval))
  	  {
  	    struct value *parent = value_parent (toval);
@@ -3443,7 +3426,7 @@ Index: gdb-7.9.90.20150709/gdb/valops.c
  	    int changed_len;
  	    gdb_byte buffer[sizeof (LONGEST)];
  	    int optim, unavail;
-@@ -1604,7 +1606,7 @@ value_array (int lowbound, int highbound
+@@ -1590,7 +1592,7 @@ value_array (int lowbound, int highbound
  {
    int nelem;
    int idx;
@@ -3452,7 +3435,7 @@ Index: gdb-7.9.90.20150709/gdb/valops.c
    struct value *val;
    struct type *arraytype;
  
-@@ -1779,7 +1781,7 @@ typecmp (int staticp, int varargs, int n
+@@ -1766,7 +1768,7 @@ typecmp (int staticp, int varargs, int n
  
  static void
  update_search_result (struct value **result_ptr, struct value *v,
@@ -3461,7 +3444,7 @@ Index: gdb-7.9.90.20150709/gdb/valops.c
  		      const char *name, struct type *type)
  {
    if (v != NULL)
-@@ -1803,10 +1805,10 @@ update_search_result (struct value **res
+@@ -1790,10 +1792,10 @@ update_search_result (struct value **res
     lookup is ambiguous.  */
  
  static void
@@ -3474,7 +3457,7 @@ Index: gdb-7.9.90.20150709/gdb/valops.c
  			struct type *outermost_type)
  {
    int i;
-@@ -1853,7 +1855,7 @@ do_search_struct_field (const char *name
+@@ -1840,7 +1842,7 @@ do_search_struct_field (const char *name
  		   <variant field>.  */
  
  		struct value *v = NULL;
@@ -3483,7 +3466,7 @@ Index: gdb-7.9.90.20150709/gdb/valops.c
  
  		/* This is pretty gross.  In G++, the offset in an
  		   anonymous union is relative to the beginning of the
-@@ -1892,7 +1894,7 @@ do_search_struct_field (const char *name
+@@ -1879,7 +1881,7 @@ do_search_struct_field (const char *name
  			     && (strcmp_iw (name, 
  					    TYPE_BASECLASS_NAME (type, 
  								 i)) == 0));
@@ -3492,7 +3475,7 @@ Index: gdb-7.9.90.20150709/gdb/valops.c
  
        if (BASETYPE_VIA_VIRTUAL (type, i))
  	{
-@@ -1968,7 +1970,7 @@ search_struct_field (const char *name, s
+@@ -1955,7 +1957,7 @@ search_struct_field (const char *name, s
  		     struct type *type, int looking_for_baseclass)
  {
    struct value *result = NULL;
@@ -3501,7 +3484,7 @@ Index: gdb-7.9.90.20150709/gdb/valops.c
  
    do_search_struct_field (name, arg1, 0, type, looking_for_baseclass,
  			  &result, &boffset, type);
-@@ -1985,7 +1987,7 @@ search_struct_field (const char *name, s
+@@ -1972,7 +1974,7 @@ search_struct_field (const char *name, s
  
  static struct value *
  search_struct_method (const char *name, struct value **arg1p,
@@ -3510,7 +3493,7 @@ Index: gdb-7.9.90.20150709/gdb/valops.c
  		      int *static_memfuncp, struct type *type)
  {
    int i;
-@@ -2049,8 +2051,8 @@ search_struct_method (const char *name,
+@@ -2036,8 +2038,8 @@ search_struct_method (const char *name,
  
    for (i = TYPE_N_BASECLASSES (type) - 1; i >= 0; i--)
      {
@@ -3521,7 +3504,7 @@ Index: gdb-7.9.90.20150709/gdb/valops.c
  
        if (BASETYPE_VIA_VIRTUAL (type, i))
  	{
-@@ -2285,10 +2287,10 @@ value_struct_elt_bitpos (struct value **
+@@ -2272,10 +2274,10 @@ value_struct_elt_bitpos (struct value **
  
  static void
  find_method_list (struct value **argp, const char *method,
@@ -3534,7 +3517,7 @@ Index: gdb-7.9.90.20150709/gdb/valops.c
  {
    int i;
    struct fn_field *f = NULL;
-@@ -2345,7 +2347,7 @@ find_method_list (struct value **argp, c
+@@ -2332,7 +2334,7 @@ find_method_list (struct value **argp, c
       extension methods.  */
    for (i = TYPE_N_BASECLASSES (type) - 1; i >= 0; i--)
      {
@@ -3543,7 +3526,7 @@ Index: gdb-7.9.90.20150709/gdb/valops.c
  
        if (BASETYPE_VIA_VIRTUAL (type, i))
  	{
-@@ -2388,7 +2390,7 @@ value_find_oload_method_list (struct val
+@@ -2375,7 +2377,7 @@ value_find_oload_method_list (struct val
                                int offset, struct fn_field **fn_list,
                                int *num_fns,
                                VEC (xmethod_worker_ptr) **xm_worker_vec,
@@ -3552,7 +3535,7 @@ Index: gdb-7.9.90.20150709/gdb/valops.c
  {
    struct type *t;
  
-@@ -2499,7 +2501,7 @@ find_overload_match (struct value **args
+@@ -2486,7 +2488,7 @@ find_overload_match (struct value **args
    /* Number of overloaded instances being considered.  */
    int num_fns = 0;
    struct type *basetype = NULL;
@@ -3561,7 +3544,7 @@ Index: gdb-7.9.90.20150709/gdb/valops.c
  
    struct cleanup *all_cleanups = make_cleanup (null_cleanup, NULL);
  
-@@ -3314,7 +3316,7 @@ compare_parameters (struct type *t1, str
+@@ -3300,7 +3302,7 @@ compare_parameters (struct type *t1, str
     the form "DOMAIN::NAME".  */
  
  static struct value *
@@ -3570,7 +3553,7 @@ Index: gdb-7.9.90.20150709/gdb/valops.c
  				struct type *curtype, const char *name,
  				struct type *intype, 
  				int want_address,
-@@ -3348,7 +3350,7 @@ value_struct_elt_for_reference (struct t
+@@ -3334,7 +3336,7 @@ value_struct_elt_for_reference (struct t
  	  if (want_address)
  	    return value_from_longest
  	      (lookup_memberptr_type (TYPE_FIELD_TYPE (t, i), domain),
@@ -3579,7 +3562,7 @@ Index: gdb-7.9.90.20150709/gdb/valops.c
  	  else if (noside != EVAL_NORMAL)
  	    return allocate_value (TYPE_FIELD_TYPE (t, i));
  	  else
-@@ -3516,7 +3518,7 @@ value_struct_elt_for_reference (struct t
+@@ -3502,7 +3504,7 @@ value_struct_elt_for_reference (struct t
    for (i = TYPE_N_BASECLASSES (t) - 1; i >= 0; i--)
      {
        struct value *v;
@@ -3588,7 +3571,7 @@ Index: gdb-7.9.90.20150709/gdb/valops.c
  
        if (BASETYPE_VIA_VIRTUAL (t, i))
  	base_offset = 0;
-@@ -3597,7 +3599,7 @@ value_maybe_namespace_elt (const struct
+@@ -3583,7 +3585,7 @@ value_maybe_namespace_elt (const struct
  
  struct type *
  value_rtti_indirect_type (struct value *v, int *full, 
@@ -3597,7 +3580,7 @@ Index: gdb-7.9.90.20150709/gdb/valops.c
  {
    struct value *target = NULL;
    struct type *type, *real_type, *target_type;
-@@ -3665,12 +3667,12 @@ value_rtti_indirect_type (struct value *
+@@ -3651,12 +3653,12 @@ value_rtti_indirect_type (struct value *
  struct value *
  value_full_object (struct value *argp, 
  		   struct type *rtype, 
@@ -3612,11 +3595,11 @@ Index: gdb-7.9.90.20150709/gdb/valops.c
    int using_enc = 0;
    struct value *new_val;
  
-Index: gdb-7.9.90.20150709/gdb/valprint.c
+Index: gdb-7.10.50.20151027/gdb/valprint.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/valprint.c	2015-07-09 18:24:39.020356324 +0200
-+++ gdb-7.9.90.20150709/gdb/valprint.c	2015-07-09 18:24:42.260383962 +0200
-@@ -298,7 +298,7 @@ val_print_scalar_type_p (struct type *ty
+--- gdb-7.10.50.20151027.orig/gdb/valprint.c	2015-11-02 21:23:11.242351851 +0100
++++ gdb-7.10.50.20151027/gdb/valprint.c	2015-11-02 21:23:13.239364991 +0100
+@@ -299,7 +299,7 @@ val_print_scalar_type_p (struct type *ty
  int
  valprint_check_validity (struct ui_file *stream,
  			 struct type *type,
@@ -3624,8 +3607,8 @@ Index: gdb-7.9.90.20150709/gdb/valprint.c
 +			 LONGEST embedded_offset,
  			 const struct value *val)
  {
-   CHECK_TYPEDEF (type);
-@@ -396,7 +396,7 @@ val_print_not_associated (struct ui_file
+   type = check_typedef (type);
+@@ -834,7 +834,7 @@ generic_val_print_complex (struct type *
  
  void
  generic_val_print (struct type *type, const gdb_byte *valaddr,
@@ -3634,7 +3617,7 @@ Index: gdb-7.9.90.20150709/gdb/valprint.c
  		   struct ui_file *stream, int recurse,
  		   const struct value *original_value,
  		   const struct value_print_options *options,
-@@ -758,7 +758,7 @@ generic_val_print (struct type *type, co
+@@ -969,7 +969,7 @@ generic_val_print (struct type *type, co
     RECURSE.  */
  
  void
@@ -3643,7 +3626,7 @@ Index: gdb-7.9.90.20150709/gdb/valprint.c
  	   CORE_ADDR address, struct ui_file *stream, int recurse,
  	   const struct value *val,
  	   const struct value_print_options *options,
-@@ -998,7 +998,7 @@ val_print_type_code_flags (struct type *
+@@ -1221,7 +1221,7 @@ val_print_type_code_flags (struct type *
  
  void
  val_print_scalar_formatted (struct type *type,
@@ -3652,7 +3635,7 @@ Index: gdb-7.9.90.20150709/gdb/valprint.c
  			    const struct value *val,
  			    const struct value_print_options *options,
  			    int size,
-@@ -1540,7 +1540,7 @@ print_decimal_chars (struct ui_file *str
+@@ -1766,7 +1766,7 @@ print_decimal_chars (struct ui_file *str
  
  void
  print_hex_chars (struct ui_file *stream, const gdb_byte *valaddr,
@@ -3661,7 +3644,7 @@ Index: gdb-7.9.90.20150709/gdb/valprint.c
  {
    const gdb_byte *p;
  
-@@ -1657,22 +1657,22 @@ maybe_print_array_index (struct type *in
+@@ -1883,22 +1883,22 @@ maybe_print_array_index (struct type *in
  
  void
  val_print_array_elements (struct type *type,
@@ -3690,7 +3673,7 @@ Index: gdb-7.9.90.20150709/gdb/valprint.c
    LONGEST low_bound, high_bound;
    LONGEST low_pos, high_pos;
  
-@@ -1762,7 +1762,7 @@ val_print_array_elements (struct type *t
+@@ -1988,7 +1988,7 @@ val_print_array_elements (struct type *t
  		     address, stream, recurse + 1, val, options,
  		     current_language);
  	  annotate_elt_rep (reps);
@@ -3699,7 +3682,7 @@ Index: gdb-7.9.90.20150709/gdb/valprint.c
  	  annotate_elt_rep_end ();
  
  	  i = rep1 - 1;
-@@ -2418,7 +2418,7 @@ print_converted_chars_to_obstack (struct
+@@ -2644,7 +2644,7 @@ print_converted_chars_to_obstack (struct
  
  void
  generic_printstr (struct ui_file *stream, struct type *type, 
@@ -3708,10 +3691,10 @@ Index: gdb-7.9.90.20150709/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.9.90.20150709/gdb/valprint.h
+Index: gdb-7.10.50.20151027/gdb/valprint.h
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/valprint.h	2015-07-09 18:24:39.021356333 +0200
-+++ gdb-7.9.90.20150709/gdb/valprint.h	2015-07-09 18:24:42.260383962 +0200
+--- gdb-7.10.50.20151027.orig/gdb/valprint.h	2015-11-02 21:23:11.242351851 +0100
++++ gdb-7.10.50.20151027/gdb/valprint.h	2015-11-02 21:23:13.239364991 +0100
 @@ -115,11 +115,11 @@ extern void maybe_print_array_index (str
                                       struct ui_file *stream,
  				     const struct value_print_options *);
@@ -3762,10 +3745,10 @@ Index: gdb-7.9.90.20150709/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.9.90.20150709/gdb/value.c
+Index: gdb-7.10.50.20151027/gdb/value.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/value.c	2015-07-09 18:24:39.026356375 +0200
-+++ gdb-7.9.90.20150709/gdb/value.c	2015-07-09 18:24:42.261383970 +0200
+--- gdb-7.10.50.20151027.orig/gdb/value.c	2015-11-02 21:23:11.248351890 +0100
++++ gdb-7.10.50.20151027/gdb/value.c	2015-11-02 21:23:13.241365004 +0100
 @@ -66,10 +66,10 @@ struct internal_function
  struct range
  {
@@ -3800,9 +3783,9 @@ Index: gdb-7.9.90.20150709/gdb/value.c
    range_s what;
    int i;
 @@ -240,7 +240,7 @@ struct value
-      lval == lval_register, this is a further offset from
-      location.address within the registers structure.  Note also the
-      member embedded_offset below.  */
+      the address.  If lval == lval_register, this is a further offset from
+      location.address within the registers structure.  Note also the member
+      embedded_offset below.  */
 -  int offset;
 +  LONGEST offset;
  
@@ -3819,8 +3802,8 @@ Index: gdb-7.9.90.20150709/gdb/value.c
  
    /* Values are stored in a chain, so that they can be deleted easily
       over calls to the inferior.  Values assigned to internal
-@@ -342,7 +342,7 @@ struct value
- };
+@@ -350,7 +350,7 @@ get_value_arch (const struct value *valu
+ }
  
  int
 -value_bits_available (const struct value *value, int offset, int length)
@@ -3828,7 +3811,7 @@ Index: gdb-7.9.90.20150709/gdb/value.c
  {
    gdb_assert (!value->lazy);
  
-@@ -350,7 +350,8 @@ value_bits_available (const struct value
+@@ -358,7 +358,8 @@ value_bits_available (const struct value
  }
  
  int
@@ -3838,7 +3821,7 @@ Index: gdb-7.9.90.20150709/gdb/value.c
  {
    return value_bits_available (value,
  			       offset * TARGET_CHAR_BIT,
-@@ -358,7 +359,8 @@ value_bytes_available (const struct valu
+@@ -366,7 +367,8 @@ value_bytes_available (const struct valu
  }
  
  int
@@ -3848,7 +3831,7 @@ Index: gdb-7.9.90.20150709/gdb/value.c
  {
    gdb_assert (!value->lazy);
  
-@@ -420,7 +422,8 @@ value_entirely_optimized_out (struct val
+@@ -428,7 +430,8 @@ value_entirely_optimized_out (struct val
     OFFSET bits, and extending for the next LENGTH bits.  */
  
  static void
@@ -3858,7 +3841,7 @@ Index: gdb-7.9.90.20150709/gdb/value.c
  {
    range_s newr;
    int i;
-@@ -591,7 +594,8 @@ mark_value_bits_unavailable (struct valu
+@@ -599,7 +602,8 @@ mark_value_bits_unavailable (struct valu
  }
  
  void
@@ -3868,7 +3851,7 @@ Index: gdb-7.9.90.20150709/gdb/value.c
  {
    mark_value_bits_unavailable (value,
  			       offset * TARGET_CHAR_BIT,
-@@ -605,7 +609,7 @@ mark_value_bytes_unavailable (struct val
+@@ -613,7 +617,7 @@ mark_value_bytes_unavailable (struct val
  
  static int
  find_first_range_overlap (VEC(range_s) *ranges, int pos,
@@ -3877,7 +3860,7 @@ Index: gdb-7.9.90.20150709/gdb/value.c
  {
    range_s *r;
    int i;
-@@ -801,9 +805,9 @@ find_first_range_overlap_and_match (stru
+@@ -809,9 +813,9 @@ find_first_range_overlap_and_match (stru
     Return true if the available bits match.  */
  
  static int
@@ -3890,7 +3873,7 @@ Index: gdb-7.9.90.20150709/gdb/value.c
  {
    /* Each array element corresponds to a ranges source (unavailable,
       optimized out).  '1' is for VAL1, '2' for VAL2.  */
-@@ -863,9 +867,9 @@ value_contents_bits_eq (const struct val
+@@ -871,9 +875,9 @@ value_contents_bits_eq (const struct val
  }
  
  int
@@ -3903,7 +3886,7 @@ Index: gdb-7.9.90.20150709/gdb/value.c
  {
    return value_contents_bits_eq (val1, offset1 * TARGET_CHAR_BIT,
  				 val2, offset2 * TARGET_CHAR_BIT,
-@@ -1029,13 +1033,13 @@ deprecated_set_value_type (struct value
+@@ -1037,13 +1041,13 @@ deprecated_set_value_type (struct value
    value->type = type;
  }
  
@@ -3919,7 +3902,7 @@ Index: gdb-7.9.90.20150709/gdb/value.c
  {
    value->offset = offset;
  }
-@@ -1246,8 +1250,9 @@ value_ranges_copy_adjusted (struct value
+@@ -1257,8 +1261,9 @@ value_ranges_copy_adjusted (struct value
     DST_OFFSET+LENGTH) range are wholly available.  */
  
  void
@@ -3930,8 +3913,8 @@ Index: gdb-7.9.90.20150709/gdb/value.c
 +			 ssize_t length)
  {
    range_s *r;
-   int i;
-@@ -1293,8 +1298,8 @@ value_contents_copy_raw (struct value *d
+   int src_bit_offset, dst_bit_offset, bit_length;
+@@ -1305,8 +1310,8 @@ value_contents_copy_raw (struct value *d
     DST_OFFSET+LENGTH) range are wholly available.  */
  
  void
@@ -3942,7 +3925,7 @@ Index: gdb-7.9.90.20150709/gdb/value.c
  {
    if (src->lazy)
      value_fetch_lazy (src);
-@@ -1358,7 +1363,8 @@ value_optimized_out (struct value *value
+@@ -1370,7 +1375,8 @@ value_optimized_out (struct value *value
     the following LENGTH bytes.  */
  
  void
@@ -3952,7 +3935,7 @@ Index: gdb-7.9.90.20150709/gdb/value.c
  {
    mark_value_bits_optimized_out (value,
  				 offset * TARGET_CHAR_BIT,
-@@ -1368,14 +1374,15 @@ mark_value_bytes_optimized_out (struct v
+@@ -1380,14 +1386,15 @@ mark_value_bytes_optimized_out (struct v
  /* See value.h.  */
  
  void
@@ -3970,7 +3953,7 @@ Index: gdb-7.9.90.20150709/gdb/value.c
  {
    if (value->lval != lval_computed
        || !value->location.computed.funcs->check_synthetic_pointer)
-@@ -1385,26 +1392,26 @@ value_bits_synthetic_pointer (const stru
+@@ -1397,26 +1404,26 @@ value_bits_synthetic_pointer (const stru
  								  length);
  }
  
@@ -4001,7 +3984,7 @@ Index: gdb-7.9.90.20150709/gdb/value.c
  {
    value->pointed_to_offset = val;
  }
-@@ -2287,7 +2294,7 @@ get_internalvar_function (struct interna
+@@ -2295,7 +2302,7 @@ get_internalvar_function (struct interna
  }
  
  void
@@ -4010,7 +3993,7 @@ Index: gdb-7.9.90.20150709/gdb/value.c
  			   int bitsize, struct value *newval)
  {
    gdb_byte *addr;
-@@ -3008,7 +3015,7 @@ set_value_enclosing_type (struct value *
+@@ -3020,7 +3027,7 @@ set_value_enclosing_type (struct value *
     FIELDNO says which field.  */
  
  struct value *
@@ -4019,7 +4002,7 @@ Index: gdb-7.9.90.20150709/gdb/value.c
  		       int fieldno, struct type *arg_type)
  {
    struct value *v;
-@@ -3058,7 +3065,7 @@ value_primitive_field (struct value *arg
+@@ -3072,7 +3079,7 @@ value_primitive_field (struct value *arg
        /* This field is actually a base subobject, so preserve the
  	 entire object's contents for later references to virtual
  	 bases, etc.  */
@@ -4028,7 +4011,7 @@ Index: gdb-7.9.90.20150709/gdb/value.c
  
        /* Lazy register values with offsets are not supported.  */
        if (VALUE_LVAL (arg1) == lval_register && value_lazy (arg1))
-@@ -3144,7 +3151,7 @@ value_field (struct value *arg1, int fie
+@@ -3159,7 +3166,7 @@ value_field (struct value *arg1, int fie
  struct value *
  value_fn_field (struct value **arg1p, struct fn_field *f,
  		int j, struct type *type,
@@ -4037,7 +4020,7 @@ Index: gdb-7.9.90.20150709/gdb/value.c
  {
    struct value *v;
    struct type *ftype = TYPE_FN_FIELD_TYPE (f, j);
-@@ -3214,14 +3221,14 @@ value_fn_field (struct value **arg1p, st
+@@ -3229,14 +3236,14 @@ value_fn_field (struct value **arg1p, st
  
  static LONGEST
  unpack_bits_as_long (struct type *field_type, const gdb_byte *valaddr,
@@ -4054,7 +4037,7 @@ Index: gdb-7.9.90.20150709/gdb/value.c
  
    /* Read the minimum number of bytes required; there may not be
       enough bytes to read an entire ULONGEST.  */
-@@ -3270,7 +3277,7 @@ unpack_bits_as_long (struct type *field_
+@@ -3285,7 +3292,7 @@ unpack_bits_as_long (struct type *field_
  
  int
  unpack_value_field_as_long (struct type *type, const gdb_byte *valaddr,
@@ -4063,7 +4046,7 @@ Index: gdb-7.9.90.20150709/gdb/value.c
  			    const struct value *val, LONGEST *result)
  {
    int bitpos = TYPE_FIELD_BITPOS (type, fieldno);
-@@ -3314,7 +3321,7 @@ unpack_field_as_long (struct type *type,
+@@ -3329,7 +3336,7 @@ unpack_field_as_long (struct type *type,
  void
  unpack_value_bitfield (struct value *dest_val,
  		       int bitpos, int bitsize,
@@ -4072,7 +4055,7 @@ Index: gdb-7.9.90.20150709/gdb/value.c
  		       const struct value *val)
  {
    enum bfd_endian byte_order;
-@@ -3352,7 +3359,7 @@ unpack_value_bitfield (struct value *des
+@@ -3367,7 +3374,7 @@ unpack_value_bitfield (struct value *des
  struct value *
  value_field_bitfield (struct type *type, int fieldno,
  		      const gdb_byte *valaddr,
@@ -4081,7 +4064,7 @@ Index: gdb-7.9.90.20150709/gdb/value.c
  {
    int bitpos = TYPE_FIELD_BITPOS (type, fieldno);
    int bitsize = TYPE_FIELD_BITSIZE (type, fieldno);
-@@ -3373,12 +3380,12 @@ value_field_bitfield (struct type *type,
+@@ -3388,12 +3395,12 @@ value_field_bitfield (struct type *type,
  
  void
  modify_field (struct type *type, gdb_byte *addr,
@@ -4096,11 +4079,11 @@ Index: gdb-7.9.90.20150709/gdb/value.c
  
    /* Normalize BITPOS.  */
    addr += bitpos / 8;
-Index: gdb-7.9.90.20150709/gdb/value.h
+Index: gdb-7.10.50.20151027/gdb/value.h
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/value.h	2015-07-09 18:24:39.027356384 +0200
-+++ gdb-7.9.90.20150709/gdb/value.h	2015-07-09 18:24:42.262383979 +0200
-@@ -131,8 +131,8 @@ extern void set_value_parent (struct val
+--- gdb-7.10.50.20151027.orig/gdb/value.h	2015-11-02 21:23:11.250351904 +0100
++++ gdb-7.10.50.20151027/gdb/value.h	2015-11-02 21:23:13.241365004 +0100
+@@ -135,8 +135,8 @@ extern void set_value_parent (struct val
     within the registers structure.  Note also the member
     embedded_offset below.  */
  
@@ -4111,7 +4094,7 @@ Index: gdb-7.9.90.20150709/gdb/value.h
  
  /* The comment from "struct value" reads: ``Is it modifiable?  Only
     relevant if lval != not_lval.''.  Shouldn't the value instead be
-@@ -201,10 +201,10 @@ extern struct type *value_actual_type (s
+@@ -205,10 +205,10 @@ extern struct type *value_actual_type (s
  				       int resolve_simple_types,
  				       int *real_type_found);
  
@@ -4126,7 +4109,7 @@ Index: gdb-7.9.90.20150709/gdb/value.h
  
  /* For lval_computed values, this structure holds functions used to
     retrieve and set the value (or portions of the value).
-@@ -242,7 +242,7 @@ struct lval_funcs
+@@ -246,7 +246,7 @@ struct lval_funcs
    /* If non-NULL, this is used to determine whether the indicated bits
       of VALUE are a synthetic pointer.  */
    int (*check_synthetic_pointer) (const struct value *value,
@@ -4135,7 +4118,7 @@ Index: gdb-7.9.90.20150709/gdb/value.h
  
    /* Return a duplicate of VALUE's closure, for use in a new value.
       This may simply return the same closure, if VALUE's is
-@@ -279,7 +279,7 @@ extern struct value *allocate_computed_v
+@@ -283,7 +283,7 @@ extern struct value *allocate_computed_v
     Otherwise, return 1.  */
  
  extern int valprint_check_validity (struct ui_file *stream, struct type *type,
@@ -4144,7 +4127,7 @@ Index: gdb-7.9.90.20150709/gdb/value.h
  				    const struct value *val);
  
  extern struct value *allocate_optimized_out_value (struct type *type);
-@@ -373,7 +373,8 @@ extern int value_optimized_out (struct v
+@@ -377,7 +377,8 @@ extern int value_optimized_out (struct v
     otherwise.  */
  
  extern int value_bits_any_optimized_out (const struct value *value,
@@ -4154,7 +4137,7 @@ Index: gdb-7.9.90.20150709/gdb/value.h
  
  /* Like value_optimized_out, but return true iff the whole value is
     optimized out.  */
-@@ -383,13 +384,13 @@ extern int value_entirely_optimized_out
+@@ -387,13 +388,13 @@ extern int value_entirely_optimized_out
     LENGTH bytes as optimized out.  */
  
  extern void mark_value_bytes_optimized_out (struct value *value,
@@ -4170,7 +4153,7 @@ Index: gdb-7.9.90.20150709/gdb/value.h
  
  /* Set or return field indicating whether a variable is initialized or
     not, based on debugging information supplied by the compiler.
-@@ -472,7 +473,7 @@ extern struct value *coerce_array (struc
+@@ -476,7 +477,7 @@ extern struct value *coerce_array (struc
     extending for LENGTH bits are a synthetic pointer.  */
  
  extern int value_bits_synthetic_pointer (const struct value *value,
@@ -4179,7 +4162,7 @@ Index: gdb-7.9.90.20150709/gdb/value.h
  
  /* Given a value, determine whether the contents bytes starting at
     OFFSET and extending for LENGTH bytes are available.  This returns
-@@ -480,7 +481,7 @@ extern int value_bits_synthetic_pointer
+@@ -484,7 +485,7 @@ extern int value_bits_synthetic_pointer
     byte is unavailable.  */
  
  extern int value_bytes_available (const struct value *value,
@@ -4188,7 +4171,7 @@ Index: gdb-7.9.90.20150709/gdb/value.h
  
  /* Given a value, determine whether the contents bits starting at
     OFFSET and extending for LENGTH bits are available.  This returns
-@@ -488,7 +489,7 @@ extern int value_bytes_available (const
+@@ -492,7 +493,7 @@ extern int value_bytes_available (const
     bit is unavailable.  */
  
  extern int value_bits_available (const struct value *value,
@@ -4197,7 +4180,7 @@ Index: gdb-7.9.90.20150709/gdb/value.h
  
  /* Like value_bytes_available, but return false if any byte in the
     whole object is unavailable.  */
-@@ -502,7 +503,7 @@ extern int value_entirely_unavailable (s
+@@ -506,7 +507,7 @@ extern int value_entirely_unavailable (s
     LENGTH bytes as unavailable.  */
  
  extern void mark_value_bytes_unavailable (struct value *value,
@@ -4206,7 +4189,7 @@ Index: gdb-7.9.90.20150709/gdb/value.h
  
  /* Mark VALUE's content bits starting at OFFSET and extending for
     LENGTH bits as unavailable.  */
-@@ -563,9 +564,9 @@ extern void mark_value_bits_unavailable
+@@ -567,9 +568,9 @@ extern void mark_value_bits_unavailable
     after the inferior is gone, it works with const values.  Therefore,
     this routine must not be called with lazy values.  */
  
@@ -4217,9 +4200,9 @@ Index: gdb-7.9.90.20150709/gdb/value.h
 +			      const struct value *val2, LONGEST offset2,
 +			      LONGEST length);
  
- /* Read LENGTH bytes of memory starting at MEMADDR into BUFFER, which
-    is (or will be copied to) VAL's contents buffer offset by
-@@ -574,7 +575,7 @@ extern int value_contents_eq (const stru
+ /* Read LENGTH addressable memory units starting at MEMADDR into BUFFER,
+    which is (or will be copied to) VAL's contents buffer offset by
+@@ -578,7 +579,7 @@ extern int value_contents_eq (const stru
     memory is likewise unavailable.  STACK indicates whether the memory
     is known to be stack memory.  */
  
@@ -4228,7 +4211,7 @@ Index: gdb-7.9.90.20150709/gdb/value.h
  			       int stack, CORE_ADDR memaddr,
  			       gdb_byte *buffer, size_t length);
  
-@@ -610,17 +611,18 @@ extern LONGEST unpack_field_as_long (str
+@@ -614,17 +615,18 @@ extern LONGEST unpack_field_as_long (str
  				     const gdb_byte *valaddr,
  				     int fieldno);
  extern int unpack_value_field_as_long (struct type *type, const gdb_byte *valaddr,
@@ -4250,7 +4233,7 @@ Index: gdb-7.9.90.20150709/gdb/value.h
  					   const struct value *val);
  
  extern void pack_long (gdb_byte *buf, struct type *type, LONGEST num);
-@@ -677,12 +679,12 @@ extern struct value *default_read_var_va
+@@ -683,12 +685,12 @@ extern struct value *default_read_var_va
  
  extern struct value *allocate_value (struct type *type);
  extern struct value *allocate_value_lazy (struct type *type);
@@ -4269,7 +4252,7 @@ Index: gdb-7.9.90.20150709/gdb/value.h
  
  extern struct value *allocate_repeat_value (struct type *type, int count);
  
-@@ -760,16 +762,16 @@ extern int find_overload_match (struct v
+@@ -766,16 +768,16 @@ extern int find_overload_match (struct v
  
  extern struct value *value_field (struct value *arg1, int fieldno);
  
@@ -4289,7 +4272,7 @@ Index: gdb-7.9.90.20150709/gdb/value.h
  
  extern struct value *value_cast_pointers (struct type *, struct value *, int);
  
-@@ -864,7 +866,7 @@ extern void set_internalvar_string (stru
+@@ -870,7 +872,7 @@ extern void set_internalvar_string (stru
  extern void clear_internalvar (struct internalvar *var);
  
  extern void set_internalvar_component (struct internalvar *var,
@@ -4298,7 +4281,7 @@ Index: gdb-7.9.90.20150709/gdb/value.h
  				       int bitpos, int bitsize,
  				       struct value *newvalue);
  
-@@ -945,7 +947,7 @@ extern struct value *value_x_unop (struc
+@@ -951,7 +953,7 @@ extern struct value *value_x_unop (struc
  				   enum noside noside);
  
  extern struct value *value_fn_field (struct value **arg1p, struct fn_field *f,
@@ -4307,7 +4290,7 @@ Index: gdb-7.9.90.20150709/gdb/value.h
  
  extern int binop_types_user_defined_p (enum exp_opcode op,
  				       struct type *type1,
-@@ -973,7 +975,8 @@ extern void release_value_or_incref (str
+@@ -979,7 +981,8 @@ extern void release_value_or_incref (str
  extern int record_latest_value (struct value *val);
  
  extern void modify_field (struct type *type, gdb_byte *addr,
@@ -4317,7 +4300,7 @@ Index: gdb-7.9.90.20150709/gdb/value.h
  
  extern void type_print (struct type *type, const char *varstring,
  			struct ui_file *stream, int show);
-@@ -1003,7 +1006,7 @@ extern void value_print_array_elements (
+@@ -1009,7 +1012,7 @@ extern void value_print_array_elements (
  extern struct value *value_release_to_mark (struct value *mark);
  
  extern void val_print (struct type *type, const gdb_byte *valaddr,
@@ -4326,7 +4309,7 @@ Index: gdb-7.9.90.20150709/gdb/value.h
  		       struct ui_file *stream, int recurse,
  		       const struct value *val,
  		       const struct value_print_options *options,
-@@ -1056,10 +1059,11 @@ extern struct value *value_literal_compl
+@@ -1062,10 +1065,11 @@ extern struct value *value_literal_compl
  extern struct value *find_function_in_inferior (const char *,
  						struct objfile **);
  
@@ -4340,10 +4323,10 @@ Index: gdb-7.9.90.20150709/gdb/value.h
  
  /* User function handler.  */
  
-Index: gdb-7.9.90.20150709/gdb/s390-linux-nat.c
+Index: gdb-7.10.50.20151027/gdb/s390-linux-nat.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/s390-linux-nat.c	2015-07-09 18:24:39.028356393 +0200
-+++ gdb-7.9.90.20150709/gdb/s390-linux-nat.c	2015-07-09 18:24:42.262383979 +0200
+--- gdb-7.10.50.20151027.orig/gdb/s390-linux-nat.c	2015-11-02 21:23:11.250351904 +0100
++++ gdb-7.10.50.20151027/gdb/s390-linux-nat.c	2015-11-02 21:23:13.242365010 +0100
 @@ -612,7 +612,7 @@ s390_can_use_hw_breakpoint (struct targe
  
  static int
@@ -4353,11 +4336,11 @@ Index: gdb-7.9.90.20150709/gdb/s390-linux-nat.c
  {
    return 1;
  }
-Index: gdb-7.9.90.20150709/gdb/extension-priv.h
+Index: gdb-7.10.50.20151027/gdb/extension-priv.h
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/extension-priv.h	2015-07-09 18:24:39.028356393 +0200
-+++ gdb-7.9.90.20150709/gdb/extension-priv.h	2015-07-09 18:24:42.262383979 +0200
-@@ -180,7 +180,7 @@ struct extension_language_ops
+--- gdb-7.10.50.20151027.orig/gdb/extension-priv.h	2015-11-02 21:23:11.250351904 +0100
++++ gdb-7.10.50.20151027/gdb/extension-priv.h	2015-11-02 21:23:13.242365010 +0100
+@@ -181,7 +181,7 @@ struct extension_language_ops
    enum ext_lang_rc (*apply_val_pretty_printer)
      (const struct extension_language_defn *,
       struct type *type, const gdb_byte *valaddr,
@@ -4366,10 +4349,10 @@ Index: gdb-7.9.90.20150709/gdb/extension-priv.h
       struct ui_file *stream, int recurse,
       const struct value *val, const struct value_print_options *options,
       const struct language_defn *language);
-Index: gdb-7.9.90.20150709/gdb/python/python-internal.h
+Index: gdb-7.10.50.20151027/gdb/python/python-internal.h
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/python/python-internal.h	2015-07-09 18:24:39.028356393 +0200
-+++ gdb-7.9.90.20150709/gdb/python/python-internal.h	2015-07-09 18:24:42.263383988 +0200
+--- gdb-7.10.50.20151027.orig/gdb/python/python-internal.h	2015-11-02 21:23:11.250351904 +0100
++++ gdb-7.10.50.20151027/gdb/python/python-internal.h	2015-11-02 21:23:13.242365010 +0100
 @@ -316,7 +316,7 @@ extern int gdbpy_auto_load_enabled (cons
  extern enum ext_lang_rc gdbpy_apply_val_pretty_printer
    (const struct extension_language_defn *,
@@ -4379,11 +4362,11 @@ Index: gdb-7.9.90.20150709/gdb/python/python-internal.h
     struct ui_file *stream, int recurse,
     const struct value *val,
     const struct value_print_options *options,
-Index: gdb-7.9.90.20150709/gdb/target-delegates.c
+Index: gdb-7.10.50.20151027/gdb/target-delegates.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/target-delegates.c	2015-07-09 18:24:39.029356401 +0200
-+++ gdb-7.9.90.20150709/gdb/target-delegates.c	2015-07-09 18:24:42.264383996 +0200
-@@ -742,14 +742,14 @@ debug_watchpoint_addr_within_range (stru
+--- gdb-7.10.50.20151027.orig/gdb/target-delegates.c	2015-11-02 21:23:11.252351917 +0100
++++ gdb-7.10.50.20151027/gdb/target-delegates.c	2015-11-02 21:23:13.243365017 +0100
+@@ -736,14 +736,14 @@ debug_watchpoint_addr_within_range (stru
  }
  
  static int
@@ -4400,7 +4383,7 @@ Index: gdb-7.9.90.20150709/gdb/target-delegates.c
  {
    int result;
    fprintf_unfiltered (gdb_stdlog, "-> %s->to_region_ok_for_hw_watchpoint (...)\n", debug_target.to_shortname);
-@@ -759,7 +759,7 @@ debug_region_ok_for_hw_watchpoint (struc
+@@ -753,7 +753,7 @@ debug_region_ok_for_hw_watchpoint (struc
    fputs_unfiltered (", ", gdb_stdlog);
    target_debug_print_CORE_ADDR (arg1);
    fputs_unfiltered (", ", gdb_stdlog);
@@ -4409,23 +4392,23 @@ Index: gdb-7.9.90.20150709/gdb/target-delegates.c
    fputs_unfiltered (") = ", gdb_stdlog);
    target_debug_print_int (result);
    fputs_unfiltered ("\n", gdb_stdlog);
-Index: gdb-7.9.90.20150709/gdb/aarch64-linux-nat.c
+Index: gdb-7.10.50.20151027/gdb/aarch64-linux-nat.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/aarch64-linux-nat.c	2015-07-09 18:24:39.030356410 +0200
-+++ gdb-7.9.90.20150709/gdb/aarch64-linux-nat.c	2015-07-09 18:24:42.264383996 +0200
-@@ -1386,7 +1386,7 @@ aarch64_linux_remove_watchpoint (struct
+--- gdb-7.10.50.20151027.orig/gdb/aarch64-linux-nat.c	2015-11-02 21:23:11.252351917 +0100
++++ gdb-7.10.50.20151027/gdb/aarch64-linux-nat.c	2015-11-02 21:23:13.243365017 +0100
+@@ -736,7 +736,7 @@ aarch64_linux_remove_watchpoint (struct
  
  static int
  aarch64_linux_region_ok_for_hw_watchpoint (struct target_ops *self,
 -					   CORE_ADDR addr, int len)
 +					   CORE_ADDR addr, LONGEST len)
  {
-   CORE_ADDR aligned_addr;
- 
-Index: gdb-7.9.90.20150709/gdb/nat/x86-dregs.c
+   return aarch64_linux_region_ok_for_watchpoint (addr, len);
+ }
+Index: gdb-7.10.50.20151027/gdb/nat/x86-dregs.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/nat/x86-dregs.c	2015-07-09 18:24:39.030356410 +0200
-+++ gdb-7.9.90.20150709/gdb/nat/x86-dregs.c	2015-07-09 18:24:42.264383996 +0200
+--- gdb-7.10.50.20151027.orig/gdb/nat/x86-dregs.c	2015-11-02 21:23:11.252351917 +0100
++++ gdb-7.10.50.20151027/gdb/nat/x86-dregs.c	2015-11-02 21:23:13.244365024 +0100
 @@ -384,7 +384,7 @@ x86_remove_aligned_watchpoint (struct x8
  
  static int
@@ -4444,10 +4427,10 @@ Index: gdb-7.9.90.20150709/gdb/nat/x86-dregs.c
  {
    int nregs;
  
-Index: gdb-7.9.90.20150709/gdb/compile/compile-c-support.c
+Index: gdb-7.10.50.20151027/gdb/compile/compile-c-support.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/compile/compile-c-support.c	2015-07-09 18:24:39.030356410 +0200
-+++ gdb-7.9.90.20150709/gdb/compile/compile-c-support.c	2015-07-09 18:24:42.265384005 +0200
+--- gdb-7.10.50.20151027.orig/gdb/compile/compile-c-support.c	2015-11-02 21:23:11.253351923 +0100
++++ gdb-7.10.50.20151027/gdb/compile/compile-c-support.c	2015-11-02 21:23:13.244365024 +0100
 @@ -299,11 +299,11 @@ generate_register_struct (struct ui_file
  
  	      default:
@@ -4462,10 +4445,10 @@ Index: gdb-7.9.90.20150709/gdb/compile/compile-c-support.c
  	      }
  	    fputs_unfiltered (";\n", stream);
  
-Index: gdb-7.9.90.20150709/gdb/nat/x86-dregs.h
+Index: gdb-7.10.50.20151027/gdb/nat/x86-dregs.h
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/nat/x86-dregs.h	2015-07-09 18:24:39.030356410 +0200
-+++ gdb-7.9.90.20150709/gdb/nat/x86-dregs.h	2015-07-09 18:24:42.265384005 +0200
+--- gdb-7.10.50.20151027.orig/gdb/nat/x86-dregs.h	2015-11-02 21:23:11.253351923 +0100
++++ gdb-7.10.50.20151027/gdb/nat/x86-dregs.h	2015-11-02 21:23:13.244365024 +0100
 @@ -116,7 +116,7 @@ extern int x86_dr_remove_watchpoint (str
  /* Return non-zero if we can watch a memory region that starts at
     address ADDR and whose length is LEN bytes.  */
@@ -4475,11 +4458,11 @@ Index: gdb-7.9.90.20150709/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.9.90.20150709/gdb/x86-nat.c
+Index: gdb-7.10.50.20151027/gdb/x86-nat.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/x86-nat.c	2015-07-09 18:24:39.031356418 +0200
-+++ gdb-7.9.90.20150709/gdb/x86-nat.c	2015-07-09 18:24:42.265384005 +0200
-@@ -178,7 +178,7 @@ x86_remove_watchpoint (struct target_ops
+--- gdb-7.10.50.20151027.orig/gdb/x86-nat.c	2015-11-02 21:23:11.253351923 +0100
++++ gdb-7.10.50.20151027/gdb/x86-nat.c	2015-11-02 21:23:13.244365024 +0100
+@@ -174,7 +174,7 @@ x86_remove_watchpoint (struct target_ops
  
  static int
  x86_region_ok_for_watchpoint (struct target_ops *self,
@@ -4488,11 +4471,11 @@ Index: gdb-7.9.90.20150709/gdb/x86-nat.c
  {
    struct x86_debug_reg_state *state
      = x86_debug_reg_state (ptid_get_pid (inferior_ptid));
-Index: gdb-7.9.90.20150709/gdb/guile/guile-internal.h
+Index: gdb-7.10.50.20151027/gdb/guile/guile-internal.h
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/guile/guile-internal.h	2015-07-09 18:24:39.031356418 +0200
-+++ gdb-7.9.90.20150709/gdb/guile/guile-internal.h	2015-07-09 18:24:42.265384005 +0200
-@@ -562,7 +562,7 @@ extern void gdbscm_preserve_values
+--- gdb-7.10.50.20151027.orig/gdb/guile/guile-internal.h	2015-11-02 21:23:11.253351923 +0100
++++ gdb-7.10.50.20151027/gdb/guile/guile-internal.h	2015-11-02 21:23:13.244365024 +0100
+@@ -606,7 +606,7 @@ extern void gdbscm_preserve_values
  extern enum ext_lang_rc gdbscm_apply_val_pretty_printer
    (const struct extension_language_defn *,
     struct type *type, const gdb_byte *valaddr,
@@ -4501,10 +4484,10 @@ Index: gdb-7.9.90.20150709/gdb/guile/guile-internal.h
     struct ui_file *stream, int recurse,
     const struct value *val,
     const struct value_print_options *options,
-Index: gdb-7.9.90.20150709/gdb/guile/scm-pretty-print.c
+Index: gdb-7.10.50.20151027/gdb/guile/scm-pretty-print.c
 ===================================================================
---- gdb-7.9.90.20150709.orig/gdb/guile/scm-pretty-print.c	2015-07-09 18:24:39.031356418 +0200
-+++ gdb-7.9.90.20150709/gdb/guile/scm-pretty-print.c	2015-07-09 18:24:42.266384013 +0200
+--- gdb-7.10.50.20151027.orig/gdb/guile/scm-pretty-print.c	2015-11-02 21:23:11.254351930 +0100
++++ gdb-7.10.50.20151027/gdb/guile/scm-pretty-print.c	2015-11-02 21:23:13.245365030 +0100
 @@ -958,7 +958,7 @@ ppscm_print_children (SCM printer, enum
  enum ext_lang_rc
  gdbscm_apply_val_pretty_printer (const struct extension_language_defn *extlang,

diff --git a/gdb-rhbz795424-bitpos-21of25.patch b/gdb-rhbz795424-bitpos-21of25.patch
index 9ca0010..71af3cf 100644
--- a/gdb-rhbz795424-bitpos-21of25.patch
+++ b/gdb-rhbz795424-bitpos-21of25.patch
@@ -52,11 +52,11 @@ Content-Type: text/x-patch
 Content-Transfer-Encoding: 7bit
 Content-Disposition: attachment; filename=bitpos-ensure-size_t.patch
 
-Index: gdb-7.7.90.20140613/gdb/alpha-tdep.c
+Index: gdb-7.10.50.20151022/gdb/alpha-tdep.c
 ===================================================================
---- gdb-7.7.90.20140613.orig/gdb/alpha-tdep.c	2014-06-13 22:14:49.725846383 +0200
-+++ gdb-7.7.90.20140613/gdb/alpha-tdep.c	2014-06-13 22:14:53.163850081 +0200
-@@ -414,6 +414,13 @@ alpha_push_dummy_call (struct gdbarch *g
+--- gdb-7.10.50.20151022.orig/gdb/alpha-tdep.c	2015-10-24 23:03:50.614898025 +0200
++++ gdb-7.10.50.20151022/gdb/alpha-tdep.c	2015-10-24 23:03:52.099907749 +0200
+@@ -413,6 +413,13 @@ alpha_push_dummy_call (struct gdbarch *g
      accumulate_size = 0;
    else
      accumulate_size -= sizeof(arg_reg_buffer);
@@ -70,24 +70,24 @@ Index: gdb-7.7.90.20140613/gdb/alpha-tdep.c
    sp -= accumulate_size;
  
    /* Keep sp aligned to a multiple of 16 as the ABI requires.  */
-Index: gdb-7.7.90.20140613/gdb/cp-valprint.c
+Index: gdb-7.10.50.20151022/gdb/cp-valprint.c
 ===================================================================
---- gdb-7.7.90.20140613.orig/gdb/cp-valprint.c	2014-06-13 22:14:49.725846383 +0200
-+++ gdb-7.7.90.20140613/gdb/cp-valprint.c	2014-06-13 22:14:53.164850081 +0200
-@@ -538,6 +538,8 @@ cp_print_value (struct type *type, struc
+--- gdb-7.10.50.20151022.orig/gdb/cp-valprint.c	2015-10-24 23:03:52.100907756 +0200
++++ gdb-7.10.50.20151022/gdb/cp-valprint.c	2015-10-24 23:06:20.496879433 +0200
+@@ -536,6 +536,8 @@ cp_print_value (struct type *type, struc
  		  gdb_byte *buf;
  		  struct cleanup *back_to;
  
 +		  ulongest_fits_host_or_error (TYPE_LENGTH (baseclass));
 +
- 		  buf = xmalloc (TYPE_LENGTH (baseclass));
+ 		  buf = (gdb_byte *) xmalloc (TYPE_LENGTH (baseclass));
  		  back_to = make_cleanup (xfree, buf);
  
-Index: gdb-7.7.90.20140613/gdb/dwarf2loc.c
+Index: gdb-7.10.50.20151022/gdb/dwarf2loc.c
 ===================================================================
---- gdb-7.7.90.20140613.orig/gdb/dwarf2loc.c	2014-06-13 22:14:49.726846384 +0200
-+++ gdb-7.7.90.20140613/gdb/dwarf2loc.c	2014-06-13 22:14:53.166850084 +0200
-@@ -1666,6 +1666,8 @@ read_pieced_value (struct value *v)
+--- gdb-7.10.50.20151022.orig/gdb/dwarf2loc.c	2015-10-24 23:03:50.616898039 +0200
++++ gdb-7.10.50.20151022/gdb/dwarf2loc.c	2015-10-24 23:03:52.101907762 +0200
+@@ -1744,6 +1744,8 @@ read_pieced_value (struct value *v)
  
        this_size = (this_size_bits + source_offset_bits % 8 + 7) / 8;
        source_offset = source_offset_bits / 8;
@@ -96,7 +96,7 @@ Index: gdb-7.7.90.20140613/gdb/dwarf2loc.c
        if (buffer_size < this_size)
  	{
  	  buffer_size = this_size;
-@@ -1857,6 +1859,7 @@ write_pieced_value (struct value *to, st
+@@ -1935,6 +1937,7 @@ write_pieced_value (struct value *to, st
  	}
        else
  	{
@@ -104,35 +104,35 @@ Index: gdb-7.7.90.20140613/gdb/dwarf2loc.c
  	  if (buffer_size < this_size)
  	    {
  	      buffer_size = this_size;
-Index: gdb-7.7.90.20140613/gdb/findcmd.c
+Index: gdb-7.10.50.20151022/gdb/findcmd.c
 ===================================================================
---- gdb-7.7.90.20140613.orig/gdb/findcmd.c	2014-06-13 22:14:49.726846384 +0200
-+++ gdb-7.7.90.20140613/gdb/findcmd.c	2014-06-13 22:14:53.166850084 +0200
-@@ -185,6 +185,7 @@ parse_find_args (char *args, ULONGEST *m
+--- gdb-7.10.50.20151022.orig/gdb/findcmd.c	2015-10-24 23:03:52.101907762 +0200
++++ gdb-7.10.50.20151022/gdb/findcmd.c	2015-10-24 23:06:57.208119813 +0200
+@@ -184,6 +184,7 @@ parse_find_args (char *args, ULONGEST *m
  	  size_t current_offset = pattern_buf_end - pattern_buf;
  
  	  pattern_buf_size = pattern_buf_size_need * 2;
 +	  ulongest_fits_host_or_error (pattern_buf_size);
- 	  pattern_buf = xrealloc (pattern_buf, pattern_buf_size);
+ 	  pattern_buf = (gdb_byte *) xrealloc (pattern_buf, pattern_buf_size);
  	  pattern_buf_end = pattern_buf + current_offset;
  	}
-Index: gdb-7.7.90.20140613/gdb/p-valprint.c
+Index: gdb-7.10.50.20151022/gdb/p-valprint.c
 ===================================================================
---- gdb-7.7.90.20140613.orig/gdb/p-valprint.c	2014-06-13 22:14:49.728846387 +0200
-+++ gdb-7.7.90.20140613/gdb/p-valprint.c	2014-06-13 22:14:53.166850084 +0200
-@@ -772,6 +772,7 @@ pascal_object_print_value (struct type *
+--- gdb-7.10.50.20151022.orig/gdb/p-valprint.c	2015-10-24 23:03:52.101907762 +0200
++++ gdb-7.10.50.20151022/gdb/p-valprint.c	2015-10-24 23:07:18.457258950 +0200
+@@ -768,6 +768,7 @@ pascal_object_print_value (struct type *
  	      gdb_byte *buf;
  	      struct cleanup *back_to;
  
 +	      ulongest_fits_host_or_error (TYPE_LENGTH (baseclass));
- 	      buf = xmalloc (TYPE_LENGTH (baseclass));
+ 	      buf = (gdb_byte *) xmalloc (TYPE_LENGTH (baseclass));
  	      back_to = make_cleanup (xfree, buf);
  
-Index: gdb-7.7.90.20140613/gdb/utils.c
+Index: gdb-7.10.50.20151022/gdb/utils.c
 ===================================================================
---- gdb-7.7.90.20140613.orig/gdb/utils.c	2014-06-13 22:14:53.166850084 +0200
-+++ gdb-7.7.90.20140613/gdb/utils.c	2014-06-13 22:15:16.839875341 +0200
-@@ -2838,6 +2838,18 @@ string_to_core_addr (const char *my_stri
+--- gdb-7.10.50.20151022.orig/gdb/utils.c	2015-10-24 23:03:50.617898045 +0200
++++ gdb-7.10.50.20151022/gdb/utils.c	2015-10-24 23:03:52.102907769 +0200
+@@ -2835,6 +2835,18 @@ string_to_core_addr (const char *my_stri
    return addr;
  }
  
@@ -151,31 +151,31 @@ Index: gdb-7.7.90.20140613/gdb/utils.c
  char *
  gdb_realpath (const char *filename)
  {
-Index: gdb-7.7.90.20140613/gdb/valops.c
+Index: gdb-7.10.50.20151022/gdb/valops.c
 ===================================================================
---- gdb-7.7.90.20140613.orig/gdb/valops.c	2014-06-13 22:14:49.730846389 +0200
-+++ gdb-7.7.90.20140613/gdb/valops.c	2014-06-13 22:14:53.169850088 +0200
-@@ -2074,6 +2074,7 @@ search_struct_method (const char *name,
+--- gdb-7.10.50.20151022.orig/gdb/valops.c	2015-10-24 23:03:52.103907775 +0200
++++ gdb-7.10.50.20151022/gdb/valops.c	2015-10-24 23:08:27.056709599 +0200
+@@ -2057,6 +2057,7 @@ search_struct_method (const char *name,
  	      struct cleanup *back_to;
  	      CORE_ADDR address;
  
 +	      ulongest_fits_host_or_error (TYPE_LENGTH (baseclass));
- 	      tmp = xmalloc (TYPE_LENGTH (baseclass));
+ 	      tmp = (gdb_byte *) xmalloc (TYPE_LENGTH (baseclass));
  	      back_to = make_cleanup (xfree, tmp);
  	      address = value_address (*arg1p);
-Index: gdb-7.7.90.20140613/gdb/value.c
+Index: gdb-7.10.50.20151022/gdb/value.c
 ===================================================================
---- gdb-7.7.90.20140613.orig/gdb/value.c	2014-06-13 22:14:49.732846391 +0200
-+++ gdb-7.7.90.20140613/gdb/value.c	2014-06-13 22:14:53.169850088 +0200
-@@ -824,6 +824,7 @@ allocate_value_lazy (struct type *type)
+--- gdb-7.10.50.20151022.orig/gdb/value.c	2015-10-24 23:03:50.619898058 +0200
++++ gdb-7.10.50.20151022/gdb/value.c	2015-10-24 23:08:00.049531291 +0200
+@@ -934,6 +934,7 @@ allocate_value_lazy (struct type *type)
       description correctly.  */
    check_typedef (type);
  
 +  ulongest_fits_host_or_error (TYPE_LENGTH (type));
-   val = (struct value *) xzalloc (sizeof (struct value));
+   val = XCNEW (struct value);
    val->contents = NULL;
    val->next = all_values;
-@@ -855,6 +856,8 @@ allocate_value_lazy (struct type *type)
+@@ -964,6 +965,8 @@ allocate_value_lazy (struct type *type)
  static void
  allocate_value_contents (struct value *val)
  {
@@ -184,7 +184,7 @@ Index: gdb-7.7.90.20140613/gdb/value.c
    if (!val->contents)
      val->contents = (gdb_byte *) xzalloc (TYPE_LENGTH (val->enclosing_type));
  }
-@@ -2831,8 +2834,12 @@ void
+@@ -2995,8 +2998,12 @@ void
  set_value_enclosing_type (struct value *val, struct type *new_encl_type)
  {
    if (TYPE_LENGTH (new_encl_type) > TYPE_LENGTH (value_enclosing_type (val))) 
@@ -199,11 +199,11 @@ Index: gdb-7.7.90.20140613/gdb/value.c
  
    val->enclosing_type = new_encl_type;
  }
-Index: gdb-7.7.90.20140613/gdb/vax-tdep.c
+Index: gdb-7.10.50.20151022/gdb/vax-tdep.c
 ===================================================================
---- gdb-7.7.90.20140613.orig/gdb/vax-tdep.c	2014-06-13 22:14:49.732846391 +0200
-+++ gdb-7.7.90.20140613/gdb/vax-tdep.c	2014-06-13 22:14:53.169850088 +0200
-@@ -223,6 +223,7 @@ vax_return_value (struct gdbarch *gdbarc
+--- gdb-7.10.50.20151022.orig/gdb/vax-tdep.c	2015-10-24 23:03:50.619898058 +0200
++++ gdb-7.10.50.20151022/gdb/vax-tdep.c	2015-10-24 23:03:52.105907788 +0200
+@@ -219,6 +219,7 @@ vax_return_value (struct gdbarch *gdbarc
  	  ULONGEST addr;
  
  	  regcache_raw_read_unsigned (regcache, VAX_R0_REGNUM, &addr);
@@ -211,11 +211,11 @@ Index: gdb-7.7.90.20140613/gdb/vax-tdep.c
  	  read_memory (addr, readbuf, len);
  	}
  
-Index: gdb-7.7.90.20140613/gdb/defs.h
+Index: gdb-7.10.50.20151022/gdb/defs.h
 ===================================================================
---- gdb-7.7.90.20140613.orig/gdb/defs.h	2014-06-13 22:14:49.732846391 +0200
-+++ gdb-7.7.90.20140613/gdb/defs.h	2014-06-13 22:14:53.169850088 +0200
-@@ -756,4 +756,6 @@ enum block_enum
+--- gdb-7.10.50.20151022.orig/gdb/defs.h	2015-10-24 23:03:50.619898058 +0200
++++ gdb-7.10.50.20151022/gdb/defs.h	2015-10-24 23:03:52.105907788 +0200
+@@ -690,4 +690,6 @@ enum block_enum
  
  #include "utils.h"
  

diff --git a/gdb-rhbz795424-bitpos-22of25.patch b/gdb-rhbz795424-bitpos-22of25.patch
index ecca068..e7c0a8c 100644
--- a/gdb-rhbz795424-bitpos-22of25.patch
+++ b/gdb-rhbz795424-bitpos-22of25.patch
@@ -96,11 +96,11 @@ Content-Type: text/x-patch
 Content-Transfer-Encoding: 7bit
 Content-Disposition: attachment; filename=bitpos-wp.patch
 
-Index: gdb-7.8.50.20141228/gdb/arm-linux-nat.c
+Index: gdb-7.10.50.20151022/gdb/arm-linux-nat.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/arm-linux-nat.c	2015-01-05 22:10:30.170726774 +0100
-+++ gdb-7.8.50.20141228/gdb/arm-linux-nat.c	2015-01-05 22:10:35.571751324 +0100
-@@ -1295,7 +1295,7 @@ arm_linux_stopped_by_watchpoint (struct
+--- gdb-7.10.50.20151022.orig/gdb/arm-linux-nat.c	2015-10-24 23:13:24.617686121 +0200
++++ gdb-7.10.50.20151022/gdb/arm-linux-nat.c	2015-10-24 23:13:32.051735501 +0200
+@@ -1209,7 +1209,7 @@ arm_linux_stopped_by_watchpoint (struct
  static int
  arm_linux_watchpoint_addr_within_range (struct target_ops *target,
  					CORE_ADDR addr,
@@ -109,11 +109,11 @@ Index: gdb-7.8.50.20141228/gdb/arm-linux-nat.c
  {
    return start <= addr && start + length - 1 >= addr;
  }
-Index: gdb-7.8.50.20141228/gdb/ppc-linux-nat.c
+Index: gdb-7.10.50.20151022/gdb/ppc-linux-nat.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/ppc-linux-nat.c	2015-01-05 22:10:30.171726779 +0100
-+++ gdb-7.8.50.20141228/gdb/ppc-linux-nat.c	2015-01-05 22:10:35.572751329 +0100
-@@ -1860,11 +1860,11 @@ can_use_watchpoint_cond_accel (void)
+--- gdb-7.10.50.20151022.orig/gdb/ppc-linux-nat.c	2015-10-24 23:13:24.617686121 +0200
++++ gdb-7.10.50.20151022/gdb/ppc-linux-nat.c	2015-10-24 23:13:32.051735501 +0200
+@@ -1807,11 +1807,11 @@ can_use_watchpoint_cond_accel (void)
     CONDITION_VALUE will hold the value which should be put in the
     DVC register.  */
  static void
@@ -128,7 +128,7 @@ Index: gdb-7.8.50.20141228/gdb/ppc-linux-nat.c
    CORE_ADDR addr_end_data, addr_end_dvc;
  
    /* The DVC register compares bytes within fixed-length windows which
-@@ -1951,7 +1951,7 @@ num_memory_accesses (struct value *v)
+@@ -1898,7 +1898,7 @@ num_memory_accesses (struct value *v)
     of the constant.  */
  static int
  check_condition (CORE_ADDR watch_addr, struct expression *cond,
@@ -137,7 +137,7 @@ Index: gdb-7.8.50.20141228/gdb/ppc-linux-nat.c
  {
    int pc = 1, num_accesses_left, num_accesses_right;
    struct value *left_val, *right_val, *left_chain, *right_chain;
-@@ -2019,7 +2019,7 @@ check_condition (CORE_ADDR watch_addr, s
+@@ -1966,7 +1966,7 @@ check_condition (CORE_ADDR watch_addr, s
     true.  */
  static int
  ppc_linux_can_accel_watchpoint_condition (struct target_ops *self,
@@ -146,16 +146,16 @@ Index: gdb-7.8.50.20141228/gdb/ppc-linux-nat.c
  					  struct expression *cond)
  {
    CORE_ADDR data_value;
-@@ -2036,7 +2036,7 @@ ppc_linux_can_accel_watchpoint_condition
+@@ -1983,7 +1983,7 @@ ppc_linux_can_accel_watchpoint_condition
  
  static void
  create_watchpoint_request (struct ppc_hw_breakpoint *p, CORE_ADDR addr,
--			   int len, int rw, struct expression *cond,
-+			   LONGEST len, int rw, struct expression *cond,
- 			   int insert)
+-			   int len, enum target_hw_bp_type type,
++			   LONGEST len, enum target_hw_bp_type type,
+ 			   struct expression *cond, int insert)
  {
    if (len == 1
-@@ -2302,7 +2302,7 @@ ppc_linux_stopped_by_watchpoint (struct
+@@ -2249,7 +2249,7 @@ ppc_linux_stopped_by_watchpoint (struct
  static int
  ppc_linux_watchpoint_addr_within_range (struct target_ops *target,
  					CORE_ADDR addr,
@@ -164,11 +164,11 @@ Index: gdb-7.8.50.20141228/gdb/ppc-linux-nat.c
  {
    int mask;
  
-Index: gdb-7.8.50.20141228/gdb/procfs.c
+Index: gdb-7.10.50.20151022/gdb/procfs.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/procfs.c	2015-01-05 22:10:30.172726783 +0100
-+++ gdb-7.8.50.20141228/gdb/procfs.c	2015-01-05 22:10:35.573751333 +0100
-@@ -2426,7 +2426,7 @@ procfs_address_to_host_pointer (CORE_ADD
+--- gdb-7.10.50.20151022.orig/gdb/procfs.c	2015-10-24 23:13:24.617686121 +0200
++++ gdb-7.10.50.20151022/gdb/procfs.c	2015-10-24 23:13:32.052735507 +0200
+@@ -2427,7 +2427,7 @@ procfs_address_to_host_pointer (CORE_ADD
  #endif
  
  static int
@@ -177,7 +177,7 @@ Index: gdb-7.8.50.20141228/gdb/procfs.c
  {
  #if !defined (PCWATCH) && !defined (PIOCSWATCH)
    /* If neither or these is defined, we can't support watchpoints.
-@@ -4705,7 +4705,7 @@ procfs_pid_to_str (struct target_ops *op
+@@ -4706,7 +4706,7 @@ procfs_pid_to_str (struct target_ops *op
  /* Insert a watchpoint.  */
  
  static int
@@ -186,11 +186,11 @@ Index: gdb-7.8.50.20141228/gdb/procfs.c
  		       int after)
  {
  #ifndef AIX5
-Index: gdb-7.8.50.20141228/gdb/remote.c
+Index: gdb-7.10.50.20151022/gdb/remote.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/remote.c	2015-01-05 22:10:30.174726792 +0100
-+++ gdb-7.8.50.20141228/gdb/remote.c	2015-01-05 22:10:35.574751338 +0100
-@@ -8298,7 +8298,7 @@ remote_insert_watchpoint (struct target_
+--- gdb-7.10.50.20151022.orig/gdb/remote.c	2015-10-24 23:13:24.617686121 +0200
++++ gdb-7.10.50.20151022/gdb/remote.c	2015-10-24 23:13:32.054735521 +0200
+@@ -9085,7 +9085,7 @@ remote_insert_watchpoint (struct target_
    p = strchr (rs->buf, '\0');
    addr = remote_address_masked (addr);
    p += hexnumstr (p, (ULONGEST) addr);
@@ -199,7 +199,7 @@ Index: gdb-7.8.50.20141228/gdb/remote.c
  
    putpkt (rs->buf);
    getpkt (&rs->buf, &rs->buf_size, 0);
-@@ -8318,7 +8318,7 @@ remote_insert_watchpoint (struct target_
+@@ -9105,7 +9105,7 @@ remote_insert_watchpoint (struct target_
  
  static int
  remote_watchpoint_addr_within_range (struct target_ops *target, CORE_ADDR addr,
@@ -208,7 +208,7 @@ Index: gdb-7.8.50.20141228/gdb/remote.c
  {
    CORE_ADDR diff = remote_address_masked (addr - start);
  
-@@ -8348,7 +8348,7 @@ remote_remove_watchpoint (struct target_
+@@ -9134,7 +9134,7 @@ remote_remove_watchpoint (struct target_
    p = strchr (rs->buf, '\0');
    addr = remote_address_masked (addr);
    p += hexnumstr (p, (ULONGEST) addr);
@@ -217,10 +217,10 @@ Index: gdb-7.8.50.20141228/gdb/remote.c
    putpkt (rs->buf);
    getpkt (&rs->buf, &rs->buf_size, 0);
  
-Index: gdb-7.8.50.20141228/gdb/target.c
+Index: gdb-7.10.50.20151022/gdb/target.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/target.c	2015-01-05 22:10:30.175726797 +0100
-+++ gdb-7.8.50.20141228/gdb/target.c	2015-01-05 22:10:35.575751342 +0100
+--- gdb-7.10.50.20151022.orig/gdb/target.c	2015-10-24 23:13:24.617686121 +0200
++++ gdb-7.10.50.20151022/gdb/target.c	2015-10-24 23:13:32.054735521 +0200
 @@ -51,7 +51,7 @@ static void generic_tls_error (void) ATT
  static void default_terminal_info (struct target_ops *, const char *, int);
  
@@ -230,7 +230,7 @@ Index: gdb-7.8.50.20141228/gdb/target.c
  
  static int default_region_ok_for_hw_watchpoint (struct target_ops *,
  						CORE_ADDR, LONGEST);
-@@ -2983,7 +2983,7 @@ default_region_ok_for_hw_watchpoint (str
+@@ -3140,7 +3140,7 @@ default_region_ok_for_hw_watchpoint (str
  static int
  default_watchpoint_addr_within_range (struct target_ops *target,
  				      CORE_ADDR addr,
@@ -239,11 +239,11 @@ Index: gdb-7.8.50.20141228/gdb/target.c
  {
    return addr >= start && addr < start + length;
  }
-Index: gdb-7.8.50.20141228/gdb/target.h
+Index: gdb-7.10.50.20151022/gdb/target.h
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/target.h	2015-01-05 22:10:30.176726802 +0100
-+++ gdb-7.8.50.20141228/gdb/target.h	2015-01-05 22:10:35.575751342 +0100
-@@ -483,7 +483,7 @@ struct target_ops
+--- gdb-7.10.50.20151022.orig/gdb/target.h	2015-10-24 23:13:24.617686121 +0200
++++ gdb-7.10.50.20151022/gdb/target.h	2015-10-24 23:13:32.055735527 +0200
+@@ -543,7 +543,7 @@ struct target_ops
      int (*to_stopped_data_address) (struct target_ops *, CORE_ADDR *)
        TARGET_DEFAULT_RETURN (0);
      int (*to_watchpoint_addr_within_range) (struct target_ops *,
@@ -252,7 +252,7 @@ Index: gdb-7.8.50.20141228/gdb/target.h
        TARGET_DEFAULT_FUNC (default_watchpoint_addr_within_range);
  
      /* Documentation of this routine is provided with the corresponding
-@@ -493,7 +493,7 @@ struct target_ops
+@@ -553,7 +553,7 @@ struct target_ops
        TARGET_DEFAULT_FUNC (default_region_ok_for_hw_watchpoint);
  
      int (*to_can_accel_watchpoint_condition) (struct target_ops *,
@@ -261,80 +261,11 @@ Index: gdb-7.8.50.20141228/gdb/target.h
  					      struct expression *)
        TARGET_DEFAULT_RETURN (0);
      int (*to_masked_watch_num_registers) (struct target_ops *,
-Index: gdb-7.8.50.20141228/gdb/aarch64-linux-nat.c
+Index: gdb-7.10.50.20151022/gdb/aarch64-linux-nat.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/aarch64-linux-nat.c	2015-01-05 22:10:30.176726802 +0100
-+++ gdb-7.8.50.20141228/gdb/aarch64-linux-nat.c	2015-01-05 22:10:35.575751342 +0100
-@@ -424,14 +424,14 @@ aarch64_notify_debug_reg_change (const s
- static void
- aarch64_show_debug_reg_state (struct aarch64_debug_reg_state *state,
- 			      const char *func, CORE_ADDR addr,
--			      int len, int type)
-+			      LONGEST len, int type)
- {
-   int i;
- 
-   fprintf_unfiltered (gdb_stdlog, "%s", func);
-   if (addr || len)
--    fprintf_unfiltered (gdb_stdlog, " (addr=0x%08lx, len=%d, type=%s)",
--			(unsigned long) addr, len,
-+    fprintf_unfiltered (gdb_stdlog, " (addr=0x%08lx, len=%s, type=%s)",
-+			(unsigned long) addr, plongest (len),
- 			type == hw_write ? "hw-write-watchpoint"
- 			: (type == hw_read ? "hw-read-watchpoint"
- 			   : (type == hw_access ? "hw-access-watchpoint"
-@@ -851,9 +851,10 @@ aarch64_linux_read_description (struct t
-    gdbserver/linux-aarch64-low.c for more information.  */
- 
- static void
--aarch64_align_watchpoint (CORE_ADDR addr, int len, CORE_ADDR *aligned_addr_p,
-+aarch64_align_watchpoint (CORE_ADDR addr, LONGEST len,
-+			  CORE_ADDR *aligned_addr_p,
- 			  int *aligned_len_p, CORE_ADDR *next_addr_p,
--			  int *next_len_p)
-+			  LONGEST *next_len_p)
- {
-   int aligned_len;
-   unsigned int offset;
-@@ -1020,7 +1021,7 @@ aarch64_point_encode_ctrl_reg (int type,
-    Return 0 for any non-compliant ADDR and/or LEN; return 1 otherwise.  */
- 
- static int
--aarch64_point_is_aligned (int is_watchpoint, CORE_ADDR addr, int len)
-+aarch64_point_is_aligned (int is_watchpoint, CORE_ADDR addr, LONGEST len)
- {
-   unsigned int alignment = is_watchpoint ? AARCH64_HWP_ALIGNMENT
-     : AARCH64_HBP_ALIGNMENT;
-@@ -1272,7 +1273,7 @@ aarch64_handle_aligned_watchpoint (int t
-    Return 0 if succeed.  */
- 
- static int
--aarch64_handle_unaligned_watchpoint (int type, CORE_ADDR addr, int len,
-+aarch64_handle_unaligned_watchpoint (int type, CORE_ADDR addr, LONGEST len,
- 				     int is_insert)
- {
-   struct aarch64_debug_reg_state *state
-@@ -1297,8 +1298,8 @@ aarch64_handle_unaligned_watchpoint (int
- 	fprintf_unfiltered (gdb_stdlog,
- "handle_unaligned_watchpoint: is_insert: %d\n"
- "                             aligned_addr: 0x%08lx, aligned_len: %d\n"
--"                                next_addr: 0x%08lx,    next_len: %d\n",
--		 is_insert, aligned_addr, aligned_len, addr, len);
-+"                                next_addr: 0x%08lx,    next_len: %s\n",
-+		 is_insert, aligned_addr, aligned_len, addr, plongest (len));
- 
-       if (ret != 0)
- 	return ret;
-@@ -1310,7 +1311,7 @@ aarch64_handle_unaligned_watchpoint (int
- /* Implements insertion and removal of a single watchpoint.  */
- 
- static int
--aarch64_handle_watchpoint (int type, CORE_ADDR addr, int len, int is_insert)
-+aarch64_handle_watchpoint (int type, CORE_ADDR addr, LONGEST len, int is_insert)
- {
-   if (aarch64_point_is_aligned (1 /* is_watchpoint */ , addr, len))
-     return aarch64_handle_aligned_watchpoint (type, addr, len, is_insert);
-@@ -1479,7 +1480,7 @@ aarch64_linux_stopped_by_watchpoint (str
+--- gdb-7.10.50.20151022.orig/gdb/aarch64-linux-nat.c	2015-10-24 23:13:24.617686121 +0200
++++ gdb-7.10.50.20151022/gdb/aarch64-linux-nat.c	2015-10-24 23:13:32.055735527 +0200
+@@ -795,7 +795,7 @@ aarch64_linux_stopped_by_watchpoint (str
  static int
  aarch64_linux_watchpoint_addr_within_range (struct target_ops *target,
  					    CORE_ADDR addr,
@@ -343,11 +274,11 @@ Index: gdb-7.8.50.20141228/gdb/aarch64-linux-nat.c
  {
    return start <= addr && start + length - 1 >= addr;
  }
-Index: gdb-7.8.50.20141228/gdb/target-delegates.c
+Index: gdb-7.10.50.20151022/gdb/target-delegates.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/target-delegates.c	2015-01-05 22:10:30.177726806 +0100
-+++ gdb-7.8.50.20141228/gdb/target-delegates.c	2015-01-05 22:12:11.071185408 +0100
-@@ -607,14 +607,14 @@ debug_stopped_data_address (struct targe
+--- gdb-7.10.50.20151022.orig/gdb/target-delegates.c	2015-10-24 23:13:24.617686121 +0200
++++ gdb-7.10.50.20151022/gdb/target-delegates.c	2015-10-24 23:13:32.055735527 +0200
+@@ -709,14 +709,14 @@ debug_stopped_data_address (struct targe
  }
  
  static int
@@ -364,7 +295,7 @@ Index: gdb-7.8.50.20141228/gdb/target-delegates.c
  {
    int result;
    fprintf_unfiltered (gdb_stdlog, "-> %s->to_watchpoint_addr_within_range (...)\n", debug_target.to_shortname);
-@@ -626,7 +626,7 @@ debug_watchpoint_addr_within_range (stru
+@@ -728,7 +728,7 @@ debug_watchpoint_addr_within_range (stru
    fputs_unfiltered (", ", gdb_stdlog);
    target_debug_print_CORE_ADDR (arg2);
    fputs_unfiltered (", ", gdb_stdlog);
@@ -373,7 +304,7 @@ Index: gdb-7.8.50.20141228/gdb/target-delegates.c
    fputs_unfiltered (") = ", gdb_stdlog);
    target_debug_print_int (result);
    fputs_unfiltered ("\n", gdb_stdlog);
-@@ -659,20 +659,20 @@ debug_region_ok_for_hw_watchpoint (struc
+@@ -761,20 +761,20 @@ debug_region_ok_for_hw_watchpoint (struc
  }
  
  static int
@@ -397,7 +328,7 @@ Index: gdb-7.8.50.20141228/gdb/target-delegates.c
  {
    int result;
    fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_accel_watchpoint_condition (...)\n", debug_target.to_shortname);
-@@ -682,7 +682,7 @@ debug_can_accel_watchpoint_condition (st
+@@ -784,7 +784,7 @@ debug_can_accel_watchpoint_condition (st
    fputs_unfiltered (", ", gdb_stdlog);
    target_debug_print_CORE_ADDR (arg1);
    fputs_unfiltered (", ", gdb_stdlog);
@@ -406,3 +337,77 @@ Index: gdb-7.8.50.20141228/gdb/target-delegates.c
    fputs_unfiltered (", ", gdb_stdlog);
    target_debug_print_int (arg3);
    fputs_unfiltered (", ", gdb_stdlog);
+Index: gdb-7.10.50.20151022/gdb/nat/aarch64-linux-hw-point.c
+===================================================================
+--- gdb-7.10.50.20151022.orig/gdb/nat/aarch64-linux-hw-point.c	2015-10-22 03:48:33.000000000 +0200
++++ gdb-7.10.50.20151022/gdb/nat/aarch64-linux-hw-point.c	2015-10-24 23:12:29.927322845 +0200
+@@ -111,7 +111,7 @@ aarch64_point_encode_ctrl_reg (enum targ
+    Return 0 for any non-compliant ADDR and/or LEN; return 1 otherwise.  */
+ 
+ static int
+-aarch64_point_is_aligned (int is_watchpoint, CORE_ADDR addr, int len)
++aarch64_point_is_aligned (int is_watchpoint, CORE_ADDR addr, LONGEST len)
+ {
+   unsigned int alignment = 0;
+ 
+@@ -180,9 +180,10 @@ aarch64_point_is_aligned (int is_watchpo
+    limitations can be largely relaxed with some further work.  */
+ 
+ static void
+-aarch64_align_watchpoint (CORE_ADDR addr, int len, CORE_ADDR *aligned_addr_p,
++aarch64_align_watchpoint (CORE_ADDR addr, LONGEST len,
++			  CORE_ADDR *aligned_addr_p,
+ 			  int *aligned_len_p, CORE_ADDR *next_addr_p,
+-			  int *next_len_p)
++			  LONGEST *next_len_p)
+ {
+   int aligned_len;
+   unsigned int offset;
+@@ -494,7 +495,7 @@ aarch64_handle_aligned_watchpoint (enum
+ 
+ static int
+ aarch64_handle_unaligned_watchpoint (enum target_hw_bp_type type,
+-				     CORE_ADDR addr, int len, int is_insert,
++				     CORE_ADDR addr, LONGEST len, int is_insert,
+ 				     struct aarch64_debug_reg_state *state)
+ {
+   while (len > 0)
+@@ -517,9 +518,9 @@ aarch64_handle_unaligned_watchpoint (enu
+ 		      "                             "
+ 		      "aligned_addr: %s, aligned_len: %d\n"
+ 		      "                                "
+-		      "next_addr: %s,    next_len: %d\n",
++		      "next_addr: %s,    next_len: %s\n",
+ 		      is_insert, core_addr_to_string_nz (aligned_addr),
+-		      aligned_len, core_addr_to_string_nz (addr), len);
++		      aligned_len, core_addr_to_string_nz (addr), plongest (len));
+ 
+       if (ret != 0)
+ 	return ret;
+@@ -530,7 +531,7 @@ aarch64_handle_unaligned_watchpoint (enu
+ 
+ int
+ aarch64_handle_watchpoint (enum target_hw_bp_type type, CORE_ADDR addr,
+-			   int len, int is_insert,
++			   LONGEST len, int is_insert,
+ 			   struct aarch64_debug_reg_state *state)
+ {
+   if (aarch64_point_is_aligned (1 /* is_watchpoint */ , addr, len))
+@@ -581,14 +582,14 @@ aarch64_linux_set_debug_regs (const stru
+ void
+ aarch64_show_debug_reg_state (struct aarch64_debug_reg_state *state,
+ 			      const char *func, CORE_ADDR addr,
+-			      int len, enum target_hw_bp_type type)
++			      LONGEST len, enum target_hw_bp_type type)
+ {
+   int i;
+ 
+   debug_printf ("%s", func);
+   if (addr || len)
+-    debug_printf (" (addr=0x%08lx, len=%d, type=%s)",
+-		  (unsigned long) addr, len,
++    debug_printf (" (addr=0x%08lx, len=%s, type=%s)",
++		  (unsigned long) addr, plongest (len),
+ 		  type == hw_write ? "hw-write-watchpoint"
+ 		  : (type == hw_read ? "hw-read-watchpoint"
+ 		     : (type == hw_access ? "hw-access-watchpoint"

diff --git a/gdb-rhbz795424-bitpos-23of25.patch b/gdb-rhbz795424-bitpos-23of25.patch
index 862f3aa..c9d3ef8 100644
--- a/gdb-rhbz795424-bitpos-23of25.patch
+++ b/gdb-rhbz795424-bitpos-23of25.patch
@@ -137,11 +137,11 @@ Content-Type: text/x-patch
 Content-Transfer-Encoding: 7bit
 Content-Disposition: attachment; filename=bitpos-tdep.patch
 
-Index: gdb-7.9.50.20150520/gdb/alpha-tdep.c
+Index: gdb-7.10.50.20151022/gdb/alpha-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/alpha-tdep.c	2015-05-31 17:15:01.056868035 +0200
-+++ gdb-7.9.50.20150520/gdb/alpha-tdep.c	2015-05-31 17:15:03.419882846 +0200
-@@ -298,18 +298,18 @@ alpha_push_dummy_call (struct gdbarch *g
+--- gdb-7.10.50.20151022.orig/gdb/alpha-tdep.c	2015-10-24 23:14:17.792039327 +0200
++++ gdb-7.10.50.20151022/gdb/alpha-tdep.c	2015-10-24 23:15:07.615370274 +0200
+@@ -299,17 +299,17 @@ alpha_push_dummy_call (struct gdbarch *g
  {
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
    int i;
@@ -155,8 +155,7 @@ Index: gdb-7.9.50.20150520/gdb/alpha-tdep.c
 +      ssize_t len;
 +      ssize_t offset;
      };
-   struct alpha_arg *alpha_args
-     = (struct alpha_arg *) alloca (nargs * sizeof (struct alpha_arg));
+   struct alpha_arg *alpha_args = XALLOCAVEC (struct alpha_arg, nargs);
    struct alpha_arg *m_arg;
    gdb_byte arg_reg_buffer[ALPHA_REGISTER_SIZE * ALPHA_NUM_ARG_REGS];
 -  int required_arg_regs;
@@ -184,10 +183,10 @@ Index: gdb-7.9.50.20150520/gdb/alpha-tdep.c
  	      memcpy (arg_reg_buffer + offset, contents, tlen);
  	      offset += tlen;
  	      contents += tlen;
-Index: gdb-7.9.50.20150520/gdb/amd64-tdep.c
+Index: gdb-7.10.50.20151022/gdb/amd64-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/amd64-tdep.c	2015-05-31 17:15:01.058868047 +0200
-+++ gdb-7.9.50.20150520/gdb/amd64-tdep.c	2015-05-31 17:15:40.253113722 +0200
+--- gdb-7.10.50.20151022.orig/gdb/amd64-tdep.c	2015-10-24 23:14:17.793039333 +0200
++++ gdb-7.10.50.20151022/gdb/amd64-tdep.c	2015-10-24 23:14:20.935060204 +0200
 @@ -701,7 +701,7 @@ amd64_return_value (struct gdbarch *gdba
  		    gdb_byte *readbuf, const gdb_byte *writebuf)
  {
@@ -199,7 +198,7 @@ Index: gdb-7.9.50.20150520/gdb/amd64-tdep.c
    int integer_reg = 0;
 @@ -852,8 +852,8 @@ amd64_push_arguments (struct regcache *r
    };
-   struct value **stack_args = alloca (nargs * sizeof (struct value *));
+   struct value **stack_args = XALLOCAVEC (struct value *, nargs);
    int num_stack_args = 0;
 -  int num_elements = 0;
 -  int element = 0;
@@ -217,10 +216,10 @@ Index: gdb-7.9.50.20150520/gdb/amd64-tdep.c
        enum amd64_reg_class theclass[2];
        int needed_integer_regs = 0;
        int needed_sse_regs = 0;
-Index: gdb-7.9.50.20150520/gdb/amd64-windows-tdep.c
+Index: gdb-7.10.50.20151022/gdb/amd64-windows-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/amd64-windows-tdep.c	2015-05-31 17:15:01.059868054 +0200
-+++ gdb-7.9.50.20150520/gdb/amd64-windows-tdep.c	2015-05-31 17:15:03.421882859 +0200
+--- gdb-7.10.50.20151022.orig/gdb/amd64-windows-tdep.c	2015-10-24 23:14:17.794039340 +0200
++++ gdb-7.10.50.20151022/gdb/amd64-windows-tdep.c	2015-10-24 23:14:20.935060204 +0200
 @@ -288,7 +288,7 @@ amd64_windows_return_value (struct gdbar
  			    struct type *type, struct regcache *regcache,
  			    gdb_byte *readbuf, const gdb_byte *writebuf)
@@ -230,11 +229,11 @@ Index: gdb-7.9.50.20150520/gdb/amd64-windows-tdep.c
    int regnum = -1;
  
    /* See if our value is returned through a register.  If it is, then
-Index: gdb-7.9.50.20150520/gdb/arm-tdep.c
+Index: gdb-7.10.50.20151022/gdb/arm-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/arm-tdep.c	2015-05-31 17:15:01.069868116 +0200
-+++ gdb-7.9.50.20150520/gdb/arm-tdep.c	2015-05-31 17:15:03.425882884 +0200
-@@ -3537,7 +3537,7 @@ arm_vfp_cprc_reg_char (enum arm_vfp_cprc
+--- gdb-7.10.50.20151022.orig/gdb/arm-tdep.c	2015-10-24 23:14:17.800039380 +0200
++++ gdb-7.10.50.20151022/gdb/arm-tdep.c	2015-10-24 23:14:20.937060217 +0200
+@@ -3531,7 +3531,7 @@ arm_vfp_cprc_reg_char (enum arm_vfp_cprc
     array).  Vector types are not currently supported, matching the
     generic AAPCS support.  */
  
@@ -243,7 +242,7 @@ Index: gdb-7.9.50.20150520/gdb/arm-tdep.c
  arm_vfp_cprc_sub_candidate (struct type *t,
  			    enum arm_vfp_cprc_base_type *base_type)
  {
-@@ -3600,7 +3600,7 @@ arm_vfp_cprc_sub_candidate (struct type
+@@ -3594,7 +3594,7 @@ arm_vfp_cprc_sub_candidate (struct type
  
      case TYPE_CODE_ARRAY:
        {
@@ -252,7 +251,7 @@ Index: gdb-7.9.50.20150520/gdb/arm-tdep.c
  	unsigned unitlen;
  	count = arm_vfp_cprc_sub_candidate (TYPE_TARGET_TYPE (t), base_type);
  	if (count == -1)
-@@ -3620,13 +3620,15 @@ arm_vfp_cprc_sub_candidate (struct type
+@@ -3614,13 +3614,15 @@ arm_vfp_cprc_sub_candidate (struct type
  
      case TYPE_CODE_STRUCT:
        {
@@ -271,7 +270,7 @@ Index: gdb-7.9.50.20150520/gdb/arm-tdep.c
  	    if (sub_count == -1)
  	      return -1;
  	    count += sub_count;
-@@ -3646,13 +3648,15 @@ arm_vfp_cprc_sub_candidate (struct type
+@@ -3640,13 +3642,15 @@ arm_vfp_cprc_sub_candidate (struct type
  
      case TYPE_CODE_UNION:
        {
@@ -290,7 +289,7 @@ Index: gdb-7.9.50.20150520/gdb/arm-tdep.c
  	    if (sub_count == -1)
  	      return -1;
  	    count = (count > sub_count ? count : sub_count);
-@@ -3688,7 +3692,7 @@ arm_vfp_call_candidate (struct type *t,
+@@ -3682,7 +3686,7 @@ arm_vfp_call_candidate (struct type *t,
  			int *count)
  {
    enum arm_vfp_cprc_base_type b = VFP_CPRC_UNKNOWN;
@@ -299,7 +298,7 @@ Index: gdb-7.9.50.20150520/gdb/arm-tdep.c
    if (c <= 0 || c > 4)
      return 0;
    *base_type = b;
-@@ -3769,7 +3773,7 @@ arm_push_dummy_call (struct gdbarch *gdb
+@@ -3763,7 +3767,7 @@ arm_push_dummy_call (struct gdbarch *gdb
  
    for (argnum = 0; argnum < nargs; argnum++)
      {
@@ -308,28 +307,27 @@ Index: gdb-7.9.50.20150520/gdb/arm-tdep.c
        struct type *arg_type;
        struct type *target_type;
        enum type_code typecode;
-Index: gdb-7.9.50.20150520/gdb/avr-tdep.c
+Index: gdb-7.10.50.20151022/gdb/avr-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/avr-tdep.c	2015-05-31 17:15:01.071868129 +0200
-+++ gdb-7.9.50.20150520/gdb/avr-tdep.c	2015-05-31 17:15:03.425882884 +0200
-@@ -1196,13 +1196,14 @@ avr_dummy_id (struct gdbarch *gdbarch, s
+--- gdb-7.10.50.20151022.orig/gdb/avr-tdep.c	2015-10-24 23:14:17.801039386 +0200
++++ gdb-7.10.50.20151022/gdb/avr-tdep.c	2015-10-24 23:15:35.775557325 +0200
+@@ -1196,13 +1196,13 @@ avr_dummy_id (struct gdbarch *gdbarch, s
  
  struct stack_item
  {
 -  int len;
 +  ssize_t len;
    struct stack_item *prev;
-   void *data;
+   gdb_byte *data;
  };
  
  static struct stack_item *
 -push_stack_item (struct stack_item *prev, const bfd_byte *contents, int len)
-+push_stack_item (struct stack_item *prev, const bfd_byte *contents,
-+		 ssize_t len)
++push_stack_item (struct stack_item *prev, const bfd_byte *contents, ssize_t len)
  {
    struct stack_item *si;
-   si = xmalloc (sizeof (struct stack_item));
-@@ -1291,12 +1292,12 @@ avr_push_dummy_call (struct gdbarch *gdb
+   si = XNEW (struct stack_item);
+@@ -1291,12 +1291,12 @@ avr_push_dummy_call (struct gdbarch *gdb
  
    for (i = 0; i < nargs; i++)
      {
@@ -345,10 +343,10 @@ Index: gdb-7.9.50.20150520/gdb/avr-tdep.c
  
        /* Calculate the potential last register needed.  */
        last_regnum = regnum - (len + (len & 1));
-Index: gdb-7.9.50.20150520/gdb/bfin-tdep.c
+Index: gdb-7.10.50.20151022/gdb/bfin-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/bfin-tdep.c	2015-05-31 17:15:01.071868129 +0200
-+++ gdb-7.9.50.20150520/gdb/bfin-tdep.c	2015-05-31 17:15:03.426882890 +0200
+--- gdb-7.10.50.20151022.orig/gdb/bfin-tdep.c	2015-10-24 23:14:17.802039393 +0200
++++ gdb-7.10.50.20151022/gdb/bfin-tdep.c	2015-10-24 23:14:20.937060217 +0200
 @@ -504,7 +504,7 @@ bfin_push_dummy_call (struct gdbarch *gd
    gdb_byte buf[4];
    int i;
@@ -367,10 +365,10 @@ Index: gdb-7.9.50.20150520/gdb/bfin-tdep.c
  
        sp -= container_len;
        write_memory (sp, value_contents_writeable (args[i]), container_len);
-Index: gdb-7.9.50.20150520/gdb/cris-tdep.c
+Index: gdb-7.10.50.20151022/gdb/cris-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/cris-tdep.c	2015-05-31 17:15:01.073868142 +0200
-+++ gdb-7.9.50.20150520/gdb/cris-tdep.c	2015-05-31 17:15:03.427882897 +0200
+--- gdb-7.10.50.20151022.orig/gdb/cris-tdep.c	2015-10-24 23:14:17.802039393 +0200
++++ gdb-7.10.50.20151022/gdb/cris-tdep.c	2015-10-24 23:15:58.902710945 +0200
 @@ -663,13 +663,13 @@ static CORE_ADDR cris_unwind_sp (struct
  
  struct stack_item
@@ -378,16 +376,16 @@ Index: gdb-7.9.50.20150520/gdb/cris-tdep.c
 -  int len;
 +  ssize_t len;
    struct stack_item *prev;
-   void *data;
+   gdb_byte *data;
  };
  
  static struct stack_item *
 -push_stack_item (struct stack_item *prev, const gdb_byte *contents, int len)
 +push_stack_item (struct stack_item *prev, const gdb_byte *contents, ssize_t len)
  {
-   struct stack_item *si;
-   si = xmalloc (sizeof (struct stack_item));
-@@ -842,13 +842,13 @@ cris_push_dummy_call (struct gdbarch *gd
+   struct stack_item *si = XNEW (struct stack_item);
+   si->data = (gdb_byte *) xmalloc (len);
+@@ -841,13 +841,13 @@ cris_push_dummy_call (struct gdbarch *gd
  
    for (argnum = 0; argnum < nargs; argnum++)
      {
@@ -405,10 +403,10 @@ Index: gdb-7.9.50.20150520/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.9.50.20150520/gdb/h8300-tdep.c
+Index: gdb-7.10.50.20151022/gdb/h8300-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/h8300-tdep.c	2015-05-31 17:15:01.074868148 +0200
-+++ gdb-7.9.50.20150520/gdb/h8300-tdep.c	2015-05-31 17:15:03.427882897 +0200
+--- gdb-7.10.50.20151022.orig/gdb/h8300-tdep.c	2015-10-24 23:14:17.803039400 +0200
++++ gdb-7.10.50.20151022/gdb/h8300-tdep.c	2015-10-24 23:16:33.653941777 +0200
 @@ -639,7 +639,7 @@ h8300_push_dummy_call (struct gdbarch *g
  		       int struct_return, CORE_ADDR struct_addr)
  {
@@ -423,13 +421,13 @@ Index: gdb-7.9.50.20150520/gdb/h8300-tdep.c
        struct cleanup *back_to;
        struct type *type = value_type (args[argument]);
 -      int len = TYPE_LENGTH (type);
-       char *contents = (char *) value_contents (args[argument]);
 +      ssize_t len = TYPE_LENGTH (type);
+       char *contents = (char *) value_contents (args[argument]);
  
        /* Pad the argument appropriately.  */
 -      int padded_len = align_up (len, wordsize);
 +      ssize_t padded_len = align_up (len, wordsize);
-       gdb_byte *padded = xmalloc (padded_len);
+       gdb_byte *padded = (gdb_byte *) xmalloc (padded_len);
        back_to = make_cleanup (xfree, padded);
  
 @@ -699,7 +699,7 @@ h8300_push_dummy_call (struct gdbarch *g
@@ -441,11 +439,11 @@ Index: gdb-7.9.50.20150520/gdb/h8300-tdep.c
  
  	      for (offset = 0; offset < padded_len; offset += wordsize)
  		{
-Index: gdb-7.9.50.20150520/gdb/hppa-tdep.c
+Index: gdb-7.10.50.20151022/gdb/hppa-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/hppa-tdep.c	2015-05-31 17:15:01.076868160 +0200
-+++ gdb-7.9.50.20150520/gdb/hppa-tdep.c	2015-05-31 17:15:03.428882903 +0200
-@@ -991,7 +991,7 @@ hppa64_push_dummy_call (struct gdbarch *
+--- gdb-7.10.50.20151022.orig/gdb/hppa-tdep.c	2015-10-24 23:14:17.804039407 +0200
++++ gdb-7.10.50.20151022/gdb/hppa-tdep.c	2015-10-24 23:14:20.939060231 +0200
+@@ -996,7 +996,7 @@ hppa64_push_dummy_call (struct gdbarch *
      {
        struct value *arg = args[i];
        struct type *type = value_type (arg);
@@ -454,7 +452,7 @@ Index: gdb-7.9.50.20150520/gdb/hppa-tdep.c
        const bfd_byte *valbuf;
        bfd_byte fptrbuf[8];
        int regnum;
-@@ -1186,7 +1186,7 @@ hppa64_return_value (struct gdbarch *gdb
+@@ -1191,7 +1191,7 @@ hppa64_return_value (struct gdbarch *gdb
  		     struct type *type, struct regcache *regcache,
  		     gdb_byte *readbuf, const gdb_byte *writebuf)
  {
@@ -463,10 +461,10 @@ Index: gdb-7.9.50.20150520/gdb/hppa-tdep.c
    int regnum, offset;
  
    if (len > 16)
-Index: gdb-7.9.50.20150520/gdb/i386-darwin-tdep.c
+Index: gdb-7.10.50.20151022/gdb/i386-darwin-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/i386-darwin-tdep.c	2015-05-31 17:15:01.076868160 +0200
-+++ gdb-7.9.50.20150520/gdb/i386-darwin-tdep.c	2015-05-31 17:15:03.428882903 +0200
+--- gdb-7.10.50.20151022.orig/gdb/i386-darwin-tdep.c	2015-10-24 23:14:17.804039407 +0200
++++ gdb-7.10.50.20151022/gdb/i386-darwin-tdep.c	2015-10-24 23:14:20.939060231 +0200
 @@ -163,7 +163,7 @@ i386_darwin_push_dummy_call (struct gdba
  
    for (write_pass = 0; write_pass < 2; write_pass++)
@@ -476,10 +474,10 @@ Index: gdb-7.9.50.20150520/gdb/i386-darwin-tdep.c
        int num_m128 = 0;
  
        if (struct_return)
-Index: gdb-7.9.50.20150520/gdb/i386-tdep.c
+Index: gdb-7.10.50.20151022/gdb/i386-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/i386-tdep.c	2015-05-31 17:15:01.082868198 +0200
-+++ gdb-7.9.50.20150520/gdb/i386-tdep.c	2015-05-31 17:15:03.430882915 +0200
+--- gdb-7.10.50.20151022.orig/gdb/i386-tdep.c	2015-10-24 23:14:17.807039426 +0200
++++ gdb-7.10.50.20151022/gdb/i386-tdep.c	2015-10-24 23:14:20.940060237 +0200
 @@ -2651,7 +2651,7 @@ i386_push_dummy_call (struct gdbarch *gd
    gdb_byte buf[4];
    int i;
@@ -543,10 +541,10 @@ Index: gdb-7.9.50.20150520/gdb/i386-tdep.c
  
    if (i386_fp_regnum_p (get_frame_arch (frame), regnum))
      {
-Index: gdb-7.9.50.20150520/gdb/iq2000-tdep.c
+Index: gdb-7.10.50.20151022/gdb/iq2000-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/iq2000-tdep.c	2015-05-31 17:15:01.083868204 +0200
-+++ gdb-7.9.50.20150520/gdb/iq2000-tdep.c	2015-05-31 17:15:03.431882922 +0200
+--- gdb-7.10.50.20151022.orig/gdb/iq2000-tdep.c	2015-10-24 23:14:17.808039433 +0200
++++ gdb-7.10.50.20151022/gdb/iq2000-tdep.c	2015-10-24 23:14:20.941060244 +0200
 @@ -651,8 +651,9 @@ iq2000_push_dummy_call (struct gdbarch *
    const bfd_byte *val;
    bfd_byte buf[4];
@@ -559,10 +557,10 @@ Index: gdb-7.9.50.20150520/gdb/iq2000-tdep.c
    /* Used to copy struct arguments into the stack.  */
    CORE_ADDR struct_ptr;
  
-Index: gdb-7.9.50.20150520/gdb/m32r-tdep.c
+Index: gdb-7.10.50.20151022/gdb/m32r-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/m32r-tdep.c	2015-05-31 17:15:01.083868204 +0200
-+++ gdb-7.9.50.20150520/gdb/m32r-tdep.c	2015-05-31 17:15:03.431882922 +0200
+--- gdb-7.10.50.20151022.orig/gdb/m32r-tdep.c	2015-10-24 23:14:17.808039433 +0200
++++ gdb-7.10.50.20151022/gdb/m32r-tdep.c	2015-10-24 23:14:20.941060244 +0200
 @@ -687,7 +687,7 @@ m32r_push_dummy_call (struct gdbarch *gd
    CORE_ADDR regval;
    gdb_byte *val;
@@ -572,10 +570,10 @@ Index: gdb-7.9.50.20150520/gdb/m32r-tdep.c
  
    /* First force sp to a 4-byte alignment.  */
    sp = sp & ~3;
-Index: gdb-7.9.50.20150520/gdb/m68k-tdep.c
+Index: gdb-7.10.50.20151022/gdb/m68k-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/m68k-tdep.c	2015-05-31 17:15:01.084868210 +0200
-+++ gdb-7.9.50.20150520/gdb/m68k-tdep.c	2015-05-31 17:15:03.432882928 +0200
+--- gdb-7.10.50.20151022.orig/gdb/m68k-tdep.c	2015-10-24 23:14:17.808039433 +0200
++++ gdb-7.10.50.20151022/gdb/m68k-tdep.c	2015-10-24 23:14:20.941060244 +0200
 @@ -382,7 +382,7 @@ m68k_reg_struct_return_p (struct gdbarch
  {
    struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
@@ -598,10 +596,10 @@ Index: gdb-7.9.50.20150520/gdb/m68k-tdep.c
  
        /* Non-scalars bigger than 4 bytes are left aligned, others are
  	 right aligned.  */
-Index: gdb-7.9.50.20150520/gdb/m88k-tdep.c
+Index: gdb-7.10.50.20151022/gdb/m88k-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/m88k-tdep.c	2015-05-31 17:15:01.085868217 +0200
-+++ gdb-7.9.50.20150520/gdb/m88k-tdep.c	2015-05-31 17:15:03.432882928 +0200
+--- gdb-7.10.50.20151022.orig/gdb/m88k-tdep.c	2015-10-24 23:14:17.809039440 +0200
++++ gdb-7.10.50.20151022/gdb/m88k-tdep.c	2015-10-24 23:14:20.942060250 +0200
 @@ -257,13 +257,13 @@ m88k_store_arguments (struct regcache *r
  {
    struct gdbarch *gdbarch = get_regcache_arch (regcache);
@@ -629,11 +627,11 @@ Index: gdb-7.9.50.20150520/gdb/m88k-tdep.c
  
        if (m88k_in_register_p (type))
  	{
-Index: gdb-7.9.50.20150520/gdb/mep-tdep.c
+Index: gdb-7.10.50.20151022/gdb/mep-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/mep-tdep.c	2015-05-31 17:15:01.086868223 +0200
-+++ gdb-7.9.50.20150520/gdb/mep-tdep.c	2015-05-31 17:15:03.433882934 +0200
-@@ -2269,7 +2269,7 @@ push_large_arguments (CORE_ADDR sp, int
+--- gdb-7.10.50.20151022.orig/gdb/mep-tdep.c	2015-10-24 23:14:17.809039440 +0200
++++ gdb-7.10.50.20151022/gdb/mep-tdep.c	2015-10-24 23:14:20.942060250 +0200
+@@ -2270,7 +2270,7 @@ push_large_arguments (CORE_ADDR sp, int
  
    for (i = 0; i < argc; i++)
      {
@@ -642,10 +640,10 @@ Index: gdb-7.9.50.20150520/gdb/mep-tdep.c
  
        if (arg_len > MEP_GPR_SIZE)
          {
-Index: gdb-7.9.50.20150520/gdb/mips-tdep.c
+Index: gdb-7.10.50.20151022/gdb/mips-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/mips-tdep.c	2015-05-31 17:15:01.094868273 +0200
-+++ gdb-7.9.50.20150520/gdb/mips-tdep.c	2015-05-31 17:15:03.435882947 +0200
+--- gdb-7.10.50.20151022.orig/gdb/mips-tdep.c	2015-10-24 23:14:17.814039473 +0200
++++ gdb-7.10.50.20151022/gdb/mips-tdep.c	2015-10-24 23:14:20.943060257 +0200
 @@ -455,7 +455,7 @@ static void
  mips_xfer_register (struct gdbarch *gdbarch, struct regcache *regcache,
  		    int reg_num, int length,
@@ -666,7 +664,7 @@ Index: gdb-7.9.50.20150520/gdb/mips-tdep.c
    if (mips_debug && out != NULL)
      {
        int i;
-@@ -4551,13 +4551,13 @@ mips_eabi_push_dummy_call (struct gdbarc
+@@ -4554,13 +4554,13 @@ mips_eabi_push_dummy_call (struct gdbarc
        gdb_byte valbuf[MAX_REGISTER_SIZE];
        struct value *arg = args[argnum];
        struct type *arg_type = check_typedef (value_type (arg));
@@ -683,7 +681,7 @@ Index: gdb-7.9.50.20150520/gdb/mips-tdep.c
  
        /* The EABI passes structures that do not fit in a register by
           reference.  */
-@@ -4826,7 +4826,7 @@ mips_eabi_return_value (struct gdbarch *
+@@ -4829,7 +4829,7 @@ mips_eabi_return_value (struct gdbarch *
  
  static int
  mips_n32n64_fp_arg_chunk_p (struct gdbarch *gdbarch, struct type *arg_type,
@@ -692,7 +690,7 @@ Index: gdb-7.9.50.20150520/gdb/mips-tdep.c
  {
    int i;
  
-@@ -4841,7 +4841,7 @@ mips_n32n64_fp_arg_chunk_p (struct gdbar
+@@ -4844,7 +4844,7 @@ mips_n32n64_fp_arg_chunk_p (struct gdbar
  
    for (i = 0; i < TYPE_NFIELDS (arg_type); i++)
      {
@@ -701,7 +699,7 @@ Index: gdb-7.9.50.20150520/gdb/mips-tdep.c
        struct type *field_type;
  
        /* We're only looking at normal fields.  */
-@@ -4883,7 +4883,7 @@ mips_n32n64_push_dummy_call (struct gdba
+@@ -4886,7 +4886,7 @@ mips_n32n64_push_dummy_call (struct gdba
    int argreg;
    int float_argreg;
    int argnum;
@@ -710,7 +708,7 @@ Index: gdb-7.9.50.20150520/gdb/mips-tdep.c
    int stack_offset = 0;
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
    CORE_ADDR func_addr = find_function_addr (function, NULL);
-@@ -5234,11 +5234,11 @@ mips_n32n64_return_value (struct gdbarch
+@@ -5237,11 +5237,11 @@ mips_n32n64_return_value (struct gdbarch
  				: MIPS_V0_REGNUM);
  	   field < TYPE_NFIELDS (type); field++, regnum += 2)
  	{
@@ -726,7 +724,7 @@ Index: gdb-7.9.50.20150520/gdb/mips-tdep.c
  	  if (TYPE_LENGTH (TYPE_FIELD_TYPE (type, field)) == 16)
  	    {
  	      /* A 16-byte long double field goes in two consecutive
-@@ -5280,8 +5280,8 @@ mips_n32n64_return_value (struct gdbarch
+@@ -5283,8 +5283,8 @@ mips_n32n64_return_value (struct gdbarch
  	  if (offset + xfer > TYPE_LENGTH (type))
  	    xfer = TYPE_LENGTH (type) - offset;
  	  if (mips_debug)
@@ -737,7 +735,7 @@ Index: gdb-7.9.50.20150520/gdb/mips-tdep.c
  	  mips_xfer_register (gdbarch, regcache,
  			      gdbarch_num_regs (gdbarch) + regnum,
  			      xfer, BFD_ENDIAN_UNKNOWN, readbuf, writebuf,
-@@ -5339,7 +5339,7 @@ mips_o32_push_dummy_call (struct gdbarch
+@@ -5342,7 +5342,7 @@ mips_o32_push_dummy_call (struct gdbarch
    int argreg;
    int float_argreg;
    int argnum;
@@ -746,7 +744,7 @@ Index: gdb-7.9.50.20150520/gdb/mips-tdep.c
    int stack_offset = 0;
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
    CORE_ADDR func_addr = find_function_addr (function, NULL);
-@@ -5403,13 +5403,13 @@ mips_o32_push_dummy_call (struct gdbarch
+@@ -5406,13 +5406,13 @@ mips_o32_push_dummy_call (struct gdbarch
        const gdb_byte *val;
        struct value *arg = args[argnum];
        struct type *arg_type = check_typedef (value_type (arg));
@@ -763,7 +761,7 @@ Index: gdb-7.9.50.20150520/gdb/mips-tdep.c
  
        val = value_contents (arg);
  
-@@ -5867,8 +5867,8 @@ mips_o64_push_dummy_call (struct gdbarch
+@@ -5870,8 +5870,8 @@ mips_o64_push_dummy_call (struct gdbarch
    int argreg;
    int float_argreg;
    int argnum;
@@ -774,7 +772,7 @@ Index: gdb-7.9.50.20150520/gdb/mips-tdep.c
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
    CORE_ADDR func_addr = find_function_addr (function, NULL);
  
-@@ -5928,13 +5928,13 @@ mips_o64_push_dummy_call (struct gdbarch
+@@ -5931,13 +5931,13 @@ mips_o64_push_dummy_call (struct gdbarch
        const gdb_byte *val;
        struct value *arg = args[argnum];
        struct type *arg_type = check_typedef (value_type (arg));
@@ -791,11 +789,11 @@ Index: gdb-7.9.50.20150520/gdb/mips-tdep.c
  
        val = value_contents (arg);
  
-Index: gdb-7.9.50.20150520/gdb/mn10300-tdep.c
+Index: gdb-7.10.50.20151022/gdb/mn10300-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/mn10300-tdep.c	2015-05-31 17:15:01.095868279 +0200
-+++ gdb-7.9.50.20150520/gdb/mn10300-tdep.c	2015-05-31 17:15:03.435882947 +0200
-@@ -1225,7 +1225,7 @@ mn10300_push_dummy_call (struct gdbarch
+--- gdb-7.10.50.20151022.orig/gdb/mn10300-tdep.c	2015-10-24 23:14:17.815039480 +0200
++++ gdb-7.10.50.20151022/gdb/mn10300-tdep.c	2015-10-24 23:14:20.943060257 +0200
+@@ -1227,7 +1227,7 @@ mn10300_push_dummy_call (struct gdbarch
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
    const int push_size = register_size (gdbarch, E_PC_REGNUM);
    int regs_used;
@@ -804,10 +802,10 @@ Index: gdb-7.9.50.20150520/gdb/mn10300-tdep.c
    int stack_offset = 0;
    int argnum;
    const gdb_byte *val;
-Index: gdb-7.9.50.20150520/gdb/mt-tdep.c
+Index: gdb-7.10.50.20151022/gdb/mt-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/mt-tdep.c	2015-05-31 17:15:01.096868286 +0200
-+++ gdb-7.9.50.20150520/gdb/mt-tdep.c	2015-05-31 17:15:03.436882953 +0200
+--- gdb-7.10.50.20151022.orig/gdb/mt-tdep.c	2015-10-24 23:14:17.815039480 +0200
++++ gdb-7.10.50.20151022/gdb/mt-tdep.c	2015-10-24 23:14:20.944060264 +0200
 @@ -781,9 +781,9 @@ mt_push_dummy_call (struct gdbarch *gdba
    gdb_byte buf[MT_MAX_STRUCT_SIZE];
    int argreg = MT_1ST_ARGREG;
@@ -820,10 +818,10 @@ Index: gdb-7.9.50.20150520/gdb/mt-tdep.c
    int i, j;
  
    /* First handle however many args we can fit into MT_1ST_ARGREG thru
-Index: gdb-7.9.50.20150520/gdb/ppc-sysv-tdep.c
+Index: gdb-7.10.50.20151022/gdb/ppc-sysv-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/ppc-sysv-tdep.c	2015-05-31 17:15:01.097868292 +0200
-+++ gdb-7.9.50.20150520/gdb/ppc-sysv-tdep.c	2015-05-31 17:15:03.436882953 +0200
+--- gdb-7.10.50.20151022.orig/gdb/ppc-sysv-tdep.c	2015-10-24 23:14:17.816039486 +0200
++++ gdb-7.10.50.20151022/gdb/ppc-sysv-tdep.c	2015-10-24 23:14:20.944060264 +0200
 @@ -66,7 +66,7 @@ ppc_sysv_abi_push_dummy_call (struct gdb
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
    int opencl_abi = ppc_sysv_use_opencl_abi (value_type (function));
@@ -868,11 +866,11 @@ Index: gdb-7.9.50.20150520/gdb/ppc-sysv-tdep.c
  
    /* Enforce alignment of stack location, if requested.  */
    if (align > tdep->wordsize)
-Index: gdb-7.9.50.20150520/gdb/rl78-tdep.c
+Index: gdb-7.10.50.20151022/gdb/rl78-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/rl78-tdep.c	2015-05-31 17:15:01.097868292 +0200
-+++ gdb-7.9.50.20150520/gdb/rl78-tdep.c	2015-05-31 17:15:03.437882959 +0200
-@@ -1333,8 +1333,8 @@ rl78_push_dummy_call (struct gdbarch *gd
+--- gdb-7.10.50.20151022.orig/gdb/rl78-tdep.c	2015-10-24 23:14:17.816039486 +0200
++++ gdb-7.10.50.20151022/gdb/rl78-tdep.c	2015-10-24 23:14:20.944060264 +0200
+@@ -1338,8 +1338,8 @@ rl78_push_dummy_call (struct gdbarch *gd
    for (i = nargs - 1; i >= 0; i--)
      {
        struct type *value_type = value_enclosing_type (args[i]);
@@ -883,10 +881,10 @@ Index: gdb-7.9.50.20150520/gdb/rl78-tdep.c
  
        sp -= container_len;
        write_memory (rl78_make_data_address (sp),
-Index: gdb-7.9.50.20150520/gdb/rs6000-aix-tdep.c
+Index: gdb-7.10.50.20151022/gdb/rs6000-aix-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/rs6000-aix-tdep.c	2015-05-31 17:15:01.098868298 +0200
-+++ gdb-7.9.50.20150520/gdb/rs6000-aix-tdep.c	2015-05-31 17:15:03.437882959 +0200
+--- gdb-7.10.50.20151022.orig/gdb/rs6000-aix-tdep.c	2015-10-24 23:14:17.816039486 +0200
++++ gdb-7.10.50.20151022/gdb/rs6000-aix-tdep.c	2015-10-24 23:14:20.944060264 +0200
 @@ -186,9 +186,9 @@ rs6000_push_dummy_call (struct gdbarch *
    struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
@@ -908,11 +906,11 @@ Index: gdb-7.9.50.20150520/gdb/rs6000-aix-tdep.c
  
        if (argbytes)
  	{
-Index: gdb-7.9.50.20150520/gdb/s390-linux-tdep.c
+Index: gdb-7.10.50.20151022/gdb/s390-linux-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/s390-linux-tdep.c	2015-05-31 17:15:01.099868304 +0200
-+++ gdb-7.9.50.20150520/gdb/s390-linux-tdep.c	2015-05-31 17:16:13.285320769 +0200
-@@ -2463,7 +2463,7 @@ s390_function_arg_vector (struct type *t
+--- gdb-7.10.50.20151022.orig/gdb/s390-linux-tdep.c	2015-10-24 23:14:17.817039493 +0200
++++ gdb-7.10.50.20151022/gdb/s390-linux-tdep.c	2015-10-24 23:14:20.945060270 +0200
+@@ -2571,7 +2571,7 @@ s390_function_arg_vector (struct type *t
  /* Determine whether N is a power of two.  */
  
  static int
@@ -921,7 +919,7 @@ Index: gdb-7.9.50.20150520/gdb/s390-linux-tdep.c
  {
    return n && ((n & (n - 1)) == 0);
  }
-@@ -2520,7 +2520,7 @@ s390_handle_arg (struct s390_arg_state *
+@@ -2628,7 +2628,7 @@ s390_handle_arg (struct s390_arg_state *
  		 enum bfd_endian byte_order, int is_unnamed)
  {
    struct type *type = check_typedef (value_type (arg));
@@ -930,10 +928,10 @@ Index: gdb-7.9.50.20150520/gdb/s390-linux-tdep.c
    int write_mode = as->regcache != NULL;
  
    if (s390_function_arg_float (type))
-Index: gdb-7.9.50.20150520/gdb/score-tdep.c
+Index: gdb-7.10.50.20151022/gdb/score-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/score-tdep.c	2015-05-31 17:15:01.100868311 +0200
-+++ gdb-7.9.50.20150520/gdb/score-tdep.c	2015-05-31 17:15:03.439882972 +0200
+--- gdb-7.10.50.20151022.orig/gdb/score-tdep.c	2015-10-24 23:14:17.817039493 +0200
++++ gdb-7.10.50.20151022/gdb/score-tdep.c	2015-10-24 23:14:20.945060270 +0200
 @@ -514,7 +514,7 @@ score_push_dummy_call (struct gdbarch *g
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
    int argnum;
@@ -943,10 +941,10 @@ Index: gdb-7.9.50.20150520/gdb/score-tdep.c
    CORE_ADDR stack_offset = 0;
    CORE_ADDR addr = 0;
  
-Index: gdb-7.9.50.20150520/gdb/sh-tdep.c
+Index: gdb-7.10.50.20151022/gdb/sh-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/sh-tdep.c	2015-05-31 17:15:01.101868317 +0200
-+++ gdb-7.9.50.20150520/gdb/sh-tdep.c	2015-05-31 17:15:03.439882972 +0200
+--- gdb-7.10.50.20151022.orig/gdb/sh-tdep.c	2015-10-24 23:14:17.818039499 +0200
++++ gdb-7.10.50.20151022/gdb/sh-tdep.c	2015-10-24 23:14:20.946060277 +0200
 @@ -805,7 +805,7 @@ sh_skip_prologue (struct gdbarch *gdbarc
  static int
  sh_use_struct_convention (int renesas_abi, struct type *type)
@@ -985,10 +983,10 @@ Index: gdb-7.9.50.20150520/gdb/sh-tdep.c
    int pass_on_stack = 0;
    int last_reg_arg = INT_MAX;
  
-Index: gdb-7.9.50.20150520/gdb/sh64-tdep.c
+Index: gdb-7.10.50.20151022/gdb/sh64-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/sh64-tdep.c	2015-05-31 17:15:01.102868323 +0200
-+++ gdb-7.9.50.20150520/gdb/sh64-tdep.c	2015-05-31 17:15:03.440882978 +0200
+--- gdb-7.10.50.20151022.orig/gdb/sh64-tdep.c	2015-10-24 23:14:17.819039506 +0200
++++ gdb-7.10.50.20151022/gdb/sh64-tdep.c	2015-10-24 23:14:20.946060277 +0200
 @@ -1056,7 +1056,7 @@ sh64_push_dummy_call (struct gdbarch *gd
  		      CORE_ADDR struct_addr)
  {
@@ -1007,10 +1005,10 @@ Index: gdb-7.9.50.20150520/gdb/sh64-tdep.c
    int argreg_size;
    int fp_args[12];
  
-Index: gdb-7.9.50.20150520/gdb/sparc-tdep.c
+Index: gdb-7.10.50.20151022/gdb/sparc-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/sparc-tdep.c	2015-05-31 17:15:01.103868329 +0200
-+++ gdb-7.9.50.20150520/gdb/sparc-tdep.c	2015-05-31 17:15:03.441882984 +0200
+--- gdb-7.10.50.20151022.orig/gdb/sparc-tdep.c	2015-10-24 23:14:17.819039506 +0200
++++ gdb-7.10.50.20151022/gdb/sparc-tdep.c	2015-10-24 23:14:20.946060277 +0200
 @@ -525,7 +525,7 @@ sparc32_store_arguments (struct regcache
    for (i = 0; i < nargs; i++)
      {
@@ -1020,10 +1018,10 @@ Index: gdb-7.9.50.20150520/gdb/sparc-tdep.c
  
        if (sparc_structure_or_union_p (type)
  	  || (sparc_floating_p (type) && len == 16)
-Index: gdb-7.9.50.20150520/gdb/sparc64-tdep.c
+Index: gdb-7.10.50.20151022/gdb/sparc64-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/sparc64-tdep.c	2015-05-31 17:15:01.104868336 +0200
-+++ gdb-7.9.50.20150520/gdb/sparc64-tdep.c	2015-05-31 17:15:03.441882984 +0200
+--- gdb-7.10.50.20151022.orig/gdb/sparc64-tdep.c	2015-10-24 23:14:17.820039513 +0200
++++ gdb-7.10.50.20151022/gdb/sparc64-tdep.c	2015-10-24 23:14:20.947060284 +0200
 @@ -636,7 +636,8 @@ sparc64_16_byte_align_p (struct type *ty
  
  static void
@@ -1079,11 +1077,11 @@ Index: gdb-7.9.50.20150520/gdb/sparc64-tdep.c
        int regnum = -1;
        gdb_byte buf[16];
  
-Index: gdb-7.9.50.20150520/gdb/spu-tdep.c
+Index: gdb-7.10.50.20151022/gdb/spu-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/spu-tdep.c	2015-05-31 17:15:01.105868342 +0200
-+++ gdb-7.9.50.20150520/gdb/spu-tdep.c	2015-05-31 17:15:03.442882990 +0200
-@@ -1430,7 +1430,7 @@ spu_push_dummy_call (struct gdbarch *gdb
+--- gdb-7.10.50.20151022.orig/gdb/spu-tdep.c	2015-10-24 23:14:17.821039519 +0200
++++ gdb-7.10.50.20151022/gdb/spu-tdep.c	2015-10-24 23:14:20.947060284 +0200
+@@ -1429,7 +1429,7 @@ spu_push_dummy_call (struct gdbarch *gdb
        struct value *arg = args[i];
        struct type *type = check_typedef (value_type (arg));
        const gdb_byte *contents = value_contents (arg);
@@ -1092,7 +1090,7 @@ Index: gdb-7.9.50.20150520/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 @@ spu_push_dummy_call (struct gdbarch *gdb
+@@ -1461,7 +1461,7 @@ spu_push_dummy_call (struct gdbarch *gdb
  	{
  	  struct value *arg = args[i];
  	  struct type *type = check_typedef (value_type (arg));
@@ -1101,10 +1099,10 @@ Index: gdb-7.9.50.20150520/gdb/spu-tdep.c
  	  int preferred_slot;
  	  
  	  if (spu_scalar_value_p (type))
-Index: gdb-7.9.50.20150520/gdb/tic6x-tdep.c
+Index: gdb-7.10.50.20151022/gdb/tic6x-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/tic6x-tdep.c	2015-05-31 17:15:01.106868348 +0200
-+++ gdb-7.9.50.20150520/gdb/tic6x-tdep.c	2015-05-31 17:15:03.442882990 +0200
+--- gdb-7.10.50.20151022.orig/gdb/tic6x-tdep.c	2015-10-24 23:14:17.821039519 +0200
++++ gdb-7.10.50.20151022/gdb/tic6x-tdep.c	2015-10-24 23:14:20.947060284 +0200
 @@ -895,7 +895,7 @@ tic6x_push_dummy_call (struct gdbarch *g
    int argreg = 0;
    int argnum;
@@ -1142,10 +1140,10 @@ Index: gdb-7.9.50.20150520/gdb/tic6x-tdep.c
  
  	  addr = sp + stack_offset;
  	  write_memory (addr, val, len);
-Index: gdb-7.9.50.20150520/gdb/tilegx-tdep.c
+Index: gdb-7.10.50.20151022/gdb/tilegx-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/tilegx-tdep.c	2015-05-31 17:15:01.107868355 +0200
-+++ gdb-7.9.50.20150520/gdb/tilegx-tdep.c	2015-05-31 17:15:03.442882990 +0200
+--- gdb-7.10.50.20151022.orig/gdb/tilegx-tdep.c	2015-10-24 23:14:17.822039526 +0200
++++ gdb-7.10.50.20151022/gdb/tilegx-tdep.c	2015-10-24 23:14:20.947060284 +0200
 @@ -288,7 +288,7 @@ tilegx_push_dummy_call (struct gdbarch *
    CORE_ADDR stack_dest = sp;
    int argreg = TILEGX_R0_REGNUM;
@@ -1155,10 +1153,10 @@ Index: gdb-7.9.50.20150520/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.9.50.20150520/gdb/v850-tdep.c
+Index: gdb-7.10.50.20151022/gdb/v850-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/v850-tdep.c	2015-05-31 17:15:01.107868355 +0200
-+++ gdb-7.9.50.20150520/gdb/v850-tdep.c	2015-05-31 17:15:03.443882997 +0200
+--- gdb-7.10.50.20151022.orig/gdb/v850-tdep.c	2015-10-24 23:14:17.822039526 +0200
++++ gdb-7.10.50.20151022/gdb/v850-tdep.c	2015-10-24 23:14:20.948060290 +0200
 @@ -1019,7 +1019,7 @@ v850_push_dummy_call (struct gdbarch *gd
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
    int argreg;
@@ -1177,10 +1175,10 @@ Index: gdb-7.9.50.20150520/gdb/v850-tdep.c
        gdb_byte *val;
        gdb_byte valbuf[v850_reg_size];
  
-Index: gdb-7.9.50.20150520/gdb/vax-tdep.c
+Index: gdb-7.10.50.20151022/gdb/vax-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/vax-tdep.c	2015-05-31 17:15:01.108868361 +0200
-+++ gdb-7.9.50.20150520/gdb/vax-tdep.c	2015-05-31 17:15:03.443882997 +0200
+--- gdb-7.10.50.20151022.orig/gdb/vax-tdep.c	2015-10-24 23:14:17.822039526 +0200
++++ gdb-7.10.50.20151022/gdb/vax-tdep.c	2015-10-24 23:14:20.948060290 +0200
 @@ -111,7 +111,7 @@ vax_store_arguments (struct regcache *re
    struct gdbarch *gdbarch = get_regcache_arch (regcache);
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
@@ -1199,10 +1197,10 @@ Index: gdb-7.9.50.20150520/gdb/vax-tdep.c
  
        sp -= (len + 3) & ~3;
        count += (len + 3) / 4;
-Index: gdb-7.9.50.20150520/gdb/xstormy16-tdep.c
+Index: gdb-7.10.50.20151022/gdb/xstormy16-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/xstormy16-tdep.c	2015-05-31 17:15:01.108868361 +0200
-+++ gdb-7.9.50.20150520/gdb/xstormy16-tdep.c	2015-05-31 17:15:03.443882997 +0200
+--- gdb-7.10.50.20151022.orig/gdb/xstormy16-tdep.c	2015-10-24 23:14:17.822039526 +0200
++++ gdb-7.10.50.20151022/gdb/xstormy16-tdep.c	2015-10-24 23:14:20.948060290 +0200
 @@ -233,8 +233,9 @@ xstormy16_push_dummy_call (struct gdbarc
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
    CORE_ADDR stack_dest = sp;
@@ -1215,11 +1213,11 @@ Index: gdb-7.9.50.20150520/gdb/xstormy16-tdep.c
    const gdb_byte *val;
    gdb_byte buf[xstormy16_pc_size];
  
-Index: gdb-7.9.50.20150520/gdb/xtensa-tdep.c
+Index: gdb-7.10.50.20151022/gdb/xtensa-tdep.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/xtensa-tdep.c	2015-05-31 17:15:01.110868373 +0200
-+++ gdb-7.9.50.20150520/gdb/xtensa-tdep.c	2015-05-31 17:15:03.444883003 +0200
-@@ -1646,8 +1646,7 @@ xtensa_store_return_value (struct type *
+--- gdb-7.10.50.20151022.orig/gdb/xtensa-tdep.c	2015-10-24 23:14:17.824039539 +0200
++++ gdb-7.10.50.20151022/gdb/xtensa-tdep.c	2015-10-24 23:14:20.948060290 +0200
+@@ -1640,8 +1640,7 @@ xtensa_store_return_value (struct type *
  
        if (len > (callsize > 8 ? 8 : 16))
  	internal_error (__FILE__, __LINE__,
@@ -1229,7 +1227,7 @@ Index: gdb-7.9.50.20150520/gdb/xtensa-tdep.c
        areg = arreg_number (gdbarch,
  			   gdbarch_tdep (gdbarch)->a0_base + 2 + callsize, wb);
  
-@@ -1721,18 +1720,18 @@ xtensa_push_dummy_call (struct gdbarch *
+@@ -1715,18 +1714,18 @@ xtensa_push_dummy_call (struct gdbarch *
  {
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
    int i;
@@ -1251,7 +1249,7 @@ Index: gdb-7.9.50.20150520/gdb/xtensa-tdep.c
        int regno;		/* regno if in register.  */
      } u;
    };
-@@ -1756,9 +1755,10 @@ xtensa_push_dummy_call (struct gdbarch *
+@@ -1750,9 +1749,10 @@ xtensa_push_dummy_call (struct gdbarch *
          {
  	  struct value *arg = args[i];
  	  struct type *arg_type = check_typedef (value_type (arg));
@@ -1265,7 +1263,7 @@ Index: gdb-7.9.50.20150520/gdb/xtensa-tdep.c
  	  switch (TYPE_CODE (arg_type))
  	    {
  	    case TYPE_CODE_INT:
-@@ -1828,8 +1828,8 @@ xtensa_push_dummy_call (struct gdbarch *
+@@ -1822,8 +1822,8 @@ xtensa_push_dummy_call (struct gdbarch *
  	  info->align = TYPE_LENGTH (builtin_type (gdbarch)->builtin_long);
  	  break;
  	}
@@ -1275,7 +1273,7 @@ Index: gdb-7.9.50.20150520/gdb/xtensa-tdep.c
  
        /* Align size and onstack_size.  */
        size = (size + info->align - 1) & ~(info->align - 1);
-@@ -1874,7 +1874,7 @@ xtensa_push_dummy_call (struct gdbarch *
+@@ -1868,7 +1868,7 @@ xtensa_push_dummy_call (struct gdbarch *
  
        if (info->onstack)
  	{
@@ -1284,7 +1282,7 @@ Index: gdb-7.9.50.20150520/gdb/xtensa-tdep.c
  	  CORE_ADDR offset = sp + info->u.offset;
  
  	  /* Odd-sized structs are aligned to the lower side of a memory
-@@ -1890,7 +1890,7 @@ xtensa_push_dummy_call (struct gdbarch *
+@@ -1884,7 +1884,7 @@ xtensa_push_dummy_call (struct gdbarch *
  	}
        else
  	{

diff --git a/gdb-rhbz795424-bitpos-25of25.patch b/gdb-rhbz795424-bitpos-25of25.patch
index 6fe684e..20db915 100644
--- a/gdb-rhbz795424-bitpos-25of25.patch
+++ b/gdb-rhbz795424-bitpos-25of25.patch
@@ -47,10 +47,10 @@ Content-Type: text/x-patch
 Content-Transfer-Encoding: 7bit
 Content-Disposition: attachment; filename=f77-bounds.patch
 
-Index: gdb-7.8.50.20141228/gdb/f-lang.h
+Index: gdb-7.10.50.20151027/gdb/f-lang.h
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/f-lang.h	2015-01-06 22:46:31.620852996 +0100
-+++ gdb-7.8.50.20141228/gdb/f-lang.h	2015-01-06 22:46:34.190865466 +0100
+--- gdb-7.10.50.20151027.orig/gdb/f-lang.h	2015-11-02 21:25:14.233161097 +0100
++++ gdb-7.10.50.20151027/gdb/f-lang.h	2015-11-02 21:25:22.404214860 +0100
 @@ -62,9 +62,9 @@ struct common_block
    struct symbol *contents[1];
  };
@@ -63,11 +63,11 @@ Index: gdb-7.8.50.20141228/gdb/f-lang.h
  
  extern void f77_get_dynamic_array_length (struct type *);
  
-Index: gdb-7.8.50.20141228/gdb/f-typeprint.c
+Index: gdb-7.10.50.20151027/gdb/f-typeprint.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/f-typeprint.c	2015-01-06 22:46:31.621853001 +0100
-+++ gdb-7.8.50.20141228/gdb/f-typeprint.c	2015-01-06 22:47:03.731008798 +0100
-@@ -158,7 +158,7 @@ f_type_print_varspec_suffix (struct type
+--- gdb-7.10.50.20151027.orig/gdb/f-typeprint.c	2015-11-02 21:25:14.234161104 +0100
++++ gdb-7.10.50.20151027/gdb/f-typeprint.c	2015-11-02 21:25:22.404214860 +0100
+@@ -171,7 +171,7 @@ f_type_print_varspec_suffix (struct type
  			     int show, int passed_a_ptr, int demangled_args,
  			     int arrayprint_recurse_level)
  {
@@ -76,7 +76,7 @@ Index: gdb-7.8.50.20141228/gdb/f-typeprint.c
  
    /* No static variables are permitted as an error call may occur during
       execution of this function.  */
-@@ -192,7 +192,7 @@ f_type_print_varspec_suffix (struct type
+@@ -204,7 +204,7 @@ f_type_print_varspec_suffix (struct type
  
            lower_bound = f77_get_lowerbound (type);
            if (lower_bound != 1)	/* Not the default.  */
@@ -85,7 +85,7 @@ Index: gdb-7.8.50.20141228/gdb/f-typeprint.c
  
            /* Make sure that, if we have an assumed size array, we
               print out a warning and print the upperbound as '*'.  */
-@@ -202,7 +202,7 @@ f_type_print_varspec_suffix (struct type
+@@ -214,7 +214,7 @@ f_type_print_varspec_suffix (struct type
            else
              {
                upper_bound = f77_get_upperbound (type);
@@ -94,7 +94,7 @@ Index: gdb-7.8.50.20141228/gdb/f-typeprint.c
              }
  
            if (TYPE_CODE (TYPE_TARGET_TYPE (type)) != TYPE_CODE_ARRAY)
-@@ -271,7 +271,7 @@ void
+@@ -283,7 +283,7 @@ void
  f_type_print_base (struct type *type, struct ui_file *stream, int show,
  		   int level)
  {
@@ -103,7 +103,7 @@ Index: gdb-7.8.50.20141228/gdb/f-typeprint.c
    int index;
  
    QUIT;
-@@ -353,7 +353,7 @@ f_type_print_base (struct type *type, st
+@@ -365,7 +365,7 @@ f_type_print_base (struct type *type, st
        else
  	{
  	  upper_bound = f77_get_upperbound (type);
@@ -112,10 +112,10 @@ Index: gdb-7.8.50.20141228/gdb/f-typeprint.c
  	}
        break;
  
-Index: gdb-7.8.50.20141228/gdb/f-valprint.c
+Index: gdb-7.10.50.20151027/gdb/f-valprint.c
 ===================================================================
---- gdb-7.8.50.20141228.orig/gdb/f-valprint.c	2015-01-06 22:46:31.621853001 +0100
-+++ gdb-7.8.50.20141228/gdb/f-valprint.c	2015-01-06 22:46:34.191865471 +0100
+--- gdb-7.10.50.20151027.orig/gdb/f-valprint.c	2015-11-02 21:25:14.234161104 +0100
++++ gdb-7.10.50.20151027/gdb/f-valprint.c	2015-11-02 21:25:22.405214867 +0100
 @@ -43,7 +43,7 @@ LONGEST f77_array_offset_tbl[MAX_FORTRAN
  /* Array which holds offsets to be applied to get a row's elements
     for a given array.  Array also holds the size of each subarray.  */

diff --git a/gdb-rhbz795424-bitpos-lazyvalue.patch b/gdb-rhbz795424-bitpos-lazyvalue.patch
index 64e1565..31978ec 100644
--- a/gdb-rhbz795424-bitpos-lazyvalue.patch
+++ b/gdb-rhbz795424-bitpos-lazyvalue.patch
@@ -1,15 +1,19 @@
---- gdb-7.5.0.20120926-m64/gdb/value.c-orig	2012-11-09 17:08:52.137406118 +0100
-+++ gdb-7.5.0.20120926-m64/gdb/value.c	2012-11-09 17:32:38.324199230 +0100
-@@ -663,7 +663,6 @@ allocate_value_lazy (struct type *type)
+Index: gdb-7.10.50.20151022/gdb/value.c
+===================================================================
+--- gdb-7.10.50.20151022.orig/gdb/value.c	2015-10-24 23:17:04.042143628 +0200
++++ gdb-7.10.50.20151022/gdb/value.c	2015-10-24 23:17:27.687300689 +0200
+@@ -934,7 +934,6 @@ allocate_value_lazy (struct type *type)
       description correctly.  */
    check_typedef (type);
  
 -  ulongest_fits_host_or_error (TYPE_LENGTH (type));
-   val = (struct value *) xzalloc (sizeof (struct value));
+   val = XCNEW (struct value);
    val->contents = NULL;
    val->next = all_values;
---- /dev/null	2012-10-18 11:08:13.202328239 +0200
-+++ gdb-7.5.0.20120926-m64-test/gdb/testsuite/gdb.base/longest-types-64bit.exp	2012-11-09 18:13:56.286587994 +0100
+Index: gdb-7.10.50.20151022/gdb/testsuite/gdb.base/longest-types-64bit.exp
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ gdb-7.10.50.20151022/gdb/testsuite/gdb.base/longest-types-64bit.exp	2015-10-24 23:17:04.042143628 +0200
 @@ -0,0 +1,59 @@
 +# This testcase is part of GDB, the GNU debugger.
 +
@@ -70,8 +74,10 @@
 +}
 +
 +test "native"
---- /dev/null	2012-10-18 11:08:13.202328239 +0200
-+++ ./gdb/testsuite/gdb.base/longest-types-64bit.c	2012-11-09 17:08:51.374406344 +0100
+Index: gdb-7.10.50.20151022/gdb/testsuite/gdb.base/longest-types-64bit.c
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ gdb-7.10.50.20151022/gdb/testsuite/gdb.base/longest-types-64bit.c	2015-10-24 23:17:04.042143628 +0200
 @@ -0,0 +1,28 @@
 +/* This testcase is part of GDB, the GNU debugger.
 +
@@ -101,8 +107,10 @@
 +{
 +  return 0;
 +}
---- /dev/null	2012-10-18 11:08:13.202328239 +0200
-+++ ./gdb/testsuite/gdb.base/longest-types-64bit.S	2012-11-09 17:51:37.597846130 +0100
+Index: gdb-7.10.50.20151022/gdb/testsuite/gdb.base/longest-types-64bit.S
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ gdb-7.10.50.20151022/gdb/testsuite/gdb.base/longest-types-64bit.S	2015-10-24 23:17:04.042143628 +0200
 @@ -0,0 +1,249 @@
 +/* This testcase is part of GDB, the GNU debugger.
 +
@@ -353,8 +361,10 @@
 +	.string	"char"
 +	.ident	"GCC: (GNU) 4.7.3 20121109 (prerelease)"
 +	.section	.note.GNU-stack,"",@progbits
---- /dev/null	2012-10-18 11:08:13.202328239 +0200
-+++ gdb-7.5.0.20120926-m64-test/gdb/testsuite/gdb.base/longest-types-64bit.bz2.uu	2012-11-09 18:04:52.995692771 +0100
+Index: gdb-7.10.50.20151022/gdb/testsuite/gdb.base/longest-types-64bit.bz2.uu
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ gdb-7.10.50.20151022/gdb/testsuite/gdb.base/longest-types-64bit.bz2.uu	2015-10-24 23:17:04.042143628 +0200
 @@ -0,0 +1,67 @@
 +begin 755 gdb.base/longest-types-64bit.bz2
 +M0EIH.3%!62936<'N#OH`"G/________^______?_Y______//]7SQD5'^/_%

diff --git a/gdb-upstream.patch b/gdb-upstream.patch
new file mode 100644
index 0000000..3e53d46
--- /dev/null
+++ b/gdb-upstream.patch
@@ -0,0 +1,69 @@
+http://sourceware.org/ml/gdb-patches/2015-10/msg00510.html
+Subject: [patch] Fix access_to_packed_array.exp typos/errors  [Re: [PATCH] [Ada] Fix the evaluation of access to packed array subscript]
+
+
+--r5Pyd7+fXNt84Ff3
+Content-Type: text/plain; charset=us-ascii
+Content-Disposition: inline
+
+On Mon, 14 Sep 2015 16:18:00 +0200, Joel Brobecker wrote:
+> > 	* gdb.ada/access_to_packed_array.exp: New testcase.
+> 
+> Looks good to me. Please go ahead and push.
+
+Running ./gdb.ada/access_to_packed_array.exp ...
+ERROR: tcl error sourcing ./gdb.ada/access_to_packed_array.exp.
+ERROR: extra characters after close-quote
+    while executing
+"gdb_test "print pack.a" "\\(0 => 1, 2, 3, 4, 5, 6, 7, 8, 9, 10\\)")"
+    (file "./gdb.ada/access_to_packed_array.exp" line 29)
+    invoked from within
+"source ./gdb.ada/access_to_packed_array.exp"
+    ("uplevel" body line 1)
+    invoked from within
+"uplevel #0 source ./gdb.ada/access_to_packed_array.exp"
+    invoked from within
+"catch "uplevel #0 source $test_file_name""
+
+Attaching a fix of the typos.
+
+Unrelated to the typos I have changed the print expectations s/"x"/" = x"/
+as for example expectation "3" should not match " = 43".
+
+On Fedora 21 x86_64 it then:
+# of expected passes	5
+
+OK for check-in?
+
+
+Jan
+
+--r5Pyd7+fXNt84Ff3
+Content-Type: text/plain; charset=us-ascii
+Content-Disposition: inline; filename=1
+
+gdb/testsuite/ChangeLog
+2015-10-25  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+	* gdb.ada/access_to_packed_array.exp: Fix typos erroring the testfile.
+
+diff --git a/gdb/testsuite/gdb.ada/access_to_packed_array.exp b/gdb/testsuite/gdb.ada/access_to_packed_array.exp
+index 0dca780..1bf3e22 100644
+--- a/gdb/testsuite/gdb.ada/access_to_packed_array.exp
++++ b/gdb/testsuite/gdb.ada/access_to_packed_array.exp
+@@ -26,8 +26,8 @@ clean_restart ${testfile}
+ set bp_location [gdb_get_line_number "BREAK" ${testdir}/foo.adb]
+ runto "foo.adb:$bp_location"
+ 
+-gdb_test "print pack.a" "\\(0 => 1, 2, 3, 4, 5, 6, 7, 8, 9, 10\\)")
+-gdb_test "pack.aa"      "\\(access pack\\.array_type\\) 0x.* <pack\\.a>")
++gdb_test "print pack.a" " = \\(0 => 1, 2, 3, 4, 5, 6, 7, 8, 9, 10\\)"
++gdb_test "print pack.aa" " = \\(access pack\\.array_type\\) 0x.* <pack\\.a>"
+ 
+-gdb_test "pack.a(2)"   "3"
+-gdb_test "pack.aa(2)"  "3"
++gdb_test "print pack.a(2)" " = 3"
++gdb_test "print pack.aa(2)" " = 3"
+
+--r5Pyd7+fXNt84Ff3--
+

diff --git a/gdb-vla-intel-04of23-fix.patch b/gdb-vla-intel-04of23-fix.patch
index ad239b5..3b8d77a 100644
--- a/gdb-vla-intel-04of23-fix.patch
+++ b/gdb-vla-intel-04of23-fix.patch
@@ -1,38 +1,38 @@
 Re: [PATCH 04/23] vla: make dynamic fortran arrays functional.
 https://sourceware.org/ml/gdb-patches/2014-06/msg00570.html
 
-Index: gdb-7.7.90.20140627/gdb/valarith.c
+Index: gdb-7.10.50.20151027/gdb/valarith.c
 ===================================================================
---- gdb-7.7.90.20140627.orig/gdb/valarith.c	2014-07-07 20:44:03.136394525 +0200
-+++ gdb-7.7.90.20140627/gdb/valarith.c	2014-07-07 20:45:41.588536459 +0200
-@@ -195,10 +195,17 @@ value_subscripted_rvalue (struct value *
+--- gdb-7.10.50.20151027.orig/gdb/valarith.c	2015-11-03 20:41:48.543504999 +0100
++++ gdb-7.10.50.20151027/gdb/valarith.c	2015-11-03 20:46:36.995238888 +0100
+@@ -193,10 +193,17 @@ value_subscripted_rvalue (struct value *
    struct type *array_type = check_typedef (value_type (array));
    struct type *elt_type = check_typedef (TYPE_TARGET_TYPE (array_type));
-   unsigned int elt_size = TYPE_LENGTH (elt_type);
+   unsigned int elt_size = type_length_units (elt_type);
 -  unsigned int elt_offs = longest_to_int (index - lowerbound);
 +  unsigned int elt_offs;
    LONGEST elt_stride = TYPE_BYTE_STRIDE (TYPE_INDEX_TYPE (array_type));
    struct value *v;
  
 +  if (TYPE_NOT_ASSOCIATED (array_type))
-+    error (_("no such vector element because not associated"));
++    error (_("no such vector element (vector not associated)"));
 +  if (TYPE_NOT_ALLOCATED (array_type))
-+    error (_("no such vector element because not allocated"));
++    error (_("no such vector element (vector not allocated)"));
 +
 +  elt_offs = longest_to_int (index - lowerbound);
 +
    if (elt_stride > 0)
      elt_offs *= elt_stride;
    else if (elt_stride < 0)
-@@ -212,14 +219,7 @@ value_subscripted_rvalue (struct value *
+@@ -210,14 +217,7 @@ value_subscripted_rvalue (struct value *
  
    if (index < lowerbound || (!TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED (array_type)
- 			     && elt_offs >= TYPE_LENGTH (array_type)))
+ 			     && elt_offs >= type_length_units (array_type)))
 -    {
--      if (TYPE_NOT_ASSOCIATED (array_type))
--        error (_("no such vector element because not associated"));
--      else if (TYPE_NOT_ALLOCATED (array_type))
--        error (_("no such vector element because not allocated"));
+-      if (type_not_associated (array_type))
+-        error (_("no such vector element (vector not associated)"));
+-      else if (type_not_allocated (array_type))
+-        error (_("no such vector element (vector not allocated)"));
 -      else
 -        error (_("no such vector element"));
 -    }

diff --git a/gdb-vla-intel-stringbt-fix.patch b/gdb-vla-intel-stringbt-fix.patch
index 56ceff2..f6197f2 100644
--- a/gdb-vla-intel-stringbt-fix.patch
+++ b/gdb-vla-intel-stringbt-fix.patch
@@ -165,17 +165,3 @@ Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/dynamic-other-frame.f90
 +  end interface
 +  call foo ('hello')
 +end
-Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-strings.exp
-===================================================================
---- gdb-7.9.50.20150520.orig/gdb/testsuite/gdb.fortran/vla-strings.exp	2015-05-31 16:14:04.167533854 +0200
-+++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-strings.exp	2015-05-31 16:14:31.073718201 +0200
-@@ -33,9 +33,6 @@ gdb_continue_to_breakpoint "var_char-all
- gdb_test "print var_char" \
-   " = \\(PTR TO -> \\( character\\*10 \\)\\) ${hex}" \
-   "print var_char after allocated first time"
--gdb_test "print *var_char" \
--  " = '\\\\000\\\\000\\\\000\\\\000\\\\000\\\\000\\\\000\\\\000\\\\000\\\\000'" \
--  "print *var_char after allocated first time"
- gdb_test "whatis var_char" "type = PTR TO -> \\( character\\*10 \\)" \
-   "whatis var_char first time"
- gdb_test "ptype var_char" "type = PTR TO -> \\( character\\*10 \\)" \

diff --git a/gdb-vla-intel.patch b/gdb-vla-intel.patch
index 85c0364..3361585 100644
--- a/gdb-vla-intel.patch
+++ b/gdb-vla-intel.patch
@@ -6,11 +6,11 @@ GIT snapshot:
 commit 511bff520372ffc10fa2ff569c176bdf1e6e475d
 
 
-Index: gdb-7.9.50.20150520/gdb/c-valprint.c
+Index: gdb-7.10.50.20151027/gdb/c-valprint.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/c-valprint.c	2015-05-29 08:27:02.657717326 +0200
-+++ gdb-7.9.50.20150520/gdb/c-valprint.c	2015-05-29 08:27:06.253740209 +0200
-@@ -537,7 +537,16 @@ c_value_print (struct value *val, struct
+--- gdb-7.10.50.20151027.orig/gdb/c-valprint.c	2015-10-27 02:48:31.000000000 +0100
++++ gdb-7.10.50.20151027/gdb/c-valprint.c	2015-11-03 21:13:35.959339113 +0100
+@@ -642,7 +642,16 @@ c_value_print (struct value *val, struct
  	{
  	  /* normal case */
  	  fprintf_filtered (stream, "(");
@@ -28,11 +28,11 @@ Index: gdb-7.9.50.20150520/gdb/c-valprint.c
  	  fprintf_filtered (stream, ") ");
  	}
      }
-Index: gdb-7.9.50.20150520/gdb/dwarf2loc.h
+Index: gdb-7.10.50.20151027/gdb/dwarf2loc.h
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/dwarf2loc.h	2015-05-29 08:27:02.658717333 +0200
-+++ gdb-7.9.50.20150520/gdb/dwarf2loc.h	2015-05-29 08:27:06.253740209 +0200
-@@ -131,6 +131,11 @@ int dwarf2_evaluate_property (const stru
+--- gdb-7.10.50.20151027.orig/gdb/dwarf2loc.h	2015-10-27 02:48:31.000000000 +0100
++++ gdb-7.10.50.20151027/gdb/dwarf2loc.h	2015-11-03 20:41:48.533504941 +0100
+@@ -138,6 +138,11 @@ int dwarf2_evaluate_property (const stru
  			      struct property_addr_info *addr_stack,
  			      CORE_ADDR *value);
  
@@ -44,24 +44,31 @@ Index: gdb-7.9.50.20150520/gdb/dwarf2loc.h
  /* A helper for the compiler interface that compiles a single dynamic
     property to C code.
  
-Index: gdb-7.9.50.20150520/gdb/dwarf2read.c
+Index: gdb-7.10.50.20151027/gdb/dwarf2read.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/dwarf2read.c	2015-05-29 08:27:02.676717447 +0200
-+++ gdb-7.9.50.20150520/gdb/dwarf2read.c	2015-05-29 10:04:52.272600212 +0200
-@@ -1868,6 +1868,12 @@ static void process_cu_includes (void);
- static void check_producer (struct dwarf2_cu *cu);
+--- gdb-7.10.50.20151027.orig/gdb/dwarf2read.c	2015-10-27 02:48:31.000000000 +0100
++++ gdb-7.10.50.20151027/gdb/dwarf2read.c	2015-11-03 21:13:38.216349800 +0100
+@@ -1745,7 +1745,9 @@ static void read_signatured_type (struct
  
- static void free_line_header_voidp (void *arg);
-+
-+static int
-+attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die,
-+		      struct dwarf2_cu *cu, struct dynamic_prop *prop,
-+		      const gdb_byte *additional_data, int additional_data_size);
-+
- \f
- /* Various complaints about symbol reading that don't abort the process.  */
+ static int attr_to_dynamic_prop (const struct attribute *attr,
+ 				 struct die_info *die, struct dwarf2_cu *cu,
+-				 struct dynamic_prop *prop);
++				 struct dynamic_prop *prop,
++				 const gdb_byte *additional_data,
++				 int additional_data_size);
+ 
+ /* memory allocation interface */
+ 
+@@ -11420,7 +11422,7 @@ read_func_scope (struct die_info *die, s
+     {
+       newobj->static_link
+ 	= XOBNEW (&objfile->objfile_obstack, struct dynamic_prop);
+-      attr_to_dynamic_prop (attr, die, cu, newobj->static_link);
++      attr_to_dynamic_prop (attr, die, cu, newobj->static_link, NULL, 0);
+     }
  
-@@ -14431,29 +14437,92 @@ read_tag_string_type (struct die_info *d
+   cu->list_in_scope = &local_symbols;
+@@ -14471,29 +14473,92 @@ read_tag_string_type (struct die_info *d
    struct gdbarch *gdbarch = get_objfile_arch (objfile);
    struct type *type, *range_type, *index_type, *char_type;
    struct attribute *attr;
@@ -161,7 +168,7 @@ Index: gdb-7.9.50.20150520/gdb/dwarf2read.c
    char_type = language_string_char_type (cu->language_defn, gdbarch);
    type = create_string_type (NULL, char_type, range_type);
  
-@@ -14776,13 +14845,15 @@ read_base_type (struct die_info *die, st
+@@ -14816,13 +14881,15 @@ read_base_type (struct die_info *die, st
    return set_die_type (die, type, cu);
  }
  
@@ -178,8 +185,8 @@ Index: gdb-7.9.50.20150520/gdb/dwarf2read.c
  {
    struct dwarf2_property_baton *baton;
    struct obstack *obstack = &cu->objfile->objfile_obstack;
-@@ -14795,8 +14866,25 @@ attr_to_dynamic_prop (const struct attri
-       baton = obstack_alloc (obstack, sizeof (*baton));
+@@ -14835,8 +14902,25 @@ attr_to_dynamic_prop (const struct attri
+       baton = XOBNEW (obstack, struct dwarf2_property_baton);
        baton->referenced_type = NULL;
        baton->locexpr.per_cu = cu->per_cu;
 -      baton->locexpr.size = DW_BLOCK (attr)->size;
@@ -206,8 +213,8 @@ Index: gdb-7.9.50.20150520/gdb/dwarf2read.c
        prop->data.baton = baton;
        prop->kind = PROP_LOCEXPR;
        gdb_assert (prop->data.baton != NULL);
-@@ -14832,8 +14920,28 @@ attr_to_dynamic_prop (const struct attri
- 		baton = obstack_alloc (obstack, sizeof (*baton));
+@@ -14872,8 +14956,28 @@ attr_to_dynamic_prop (const struct attri
+ 		baton = XOBNEW (obstack, struct dwarf2_property_baton);
  		baton->referenced_type = die_type (target_die, target_cu);
  		baton->locexpr.per_cu = cu->per_cu;
 -		baton->locexpr.size = DW_BLOCK (target_attr)->size;
@@ -237,7 +244,7 @@ Index: gdb-7.9.50.20150520/gdb/dwarf2read.c
  		prop->data.baton = baton;
  		prop->kind = PROP_LOCEXPR;
  		gdb_assert (prop->data.baton != NULL);
-@@ -14887,7 +14995,7 @@ read_subrange_type (struct die_info *die
+@@ -14927,7 +15031,7 @@ read_subrange_type (struct die_info *die
    struct type *base_type, *orig_base_type;
    struct type *range_type;
    struct attribute *attr;
@@ -246,7 +253,7 @@ Index: gdb-7.9.50.20150520/gdb/dwarf2read.c
    int low_default_is_valid;
    int high_bound_is_count = 0;
    const char *name;
-@@ -14907,7 +15015,9 @@ read_subrange_type (struct die_info *die
+@@ -14947,7 +15051,9 @@ read_subrange_type (struct die_info *die
  
    low.kind = PROP_CONST;
    high.kind = PROP_CONST;
@@ -256,7 +263,7 @@ Index: gdb-7.9.50.20150520/gdb/dwarf2read.c
  
    /* Set LOW_DEFAULT_IS_VALID if current language and DWARF version allow
       omitting DW_AT_lower_bound.  */
-@@ -14940,19 +15050,26 @@ read_subrange_type (struct die_info *die
+@@ -14980,19 +15086,26 @@ read_subrange_type (struct die_info *die
        break;
      }
  
@@ -286,7 +293,7 @@ Index: gdb-7.9.50.20150520/gdb/dwarf2read.c
  	{
  	  /* If bounds are constant do the final calculation here.  */
  	  if (low.kind == PROP_CONST && high.kind == PROP_CONST)
-@@ -15016,7 +15133,7 @@ read_subrange_type (struct die_info *die
+@@ -15056,7 +15169,7 @@ read_subrange_type (struct die_info *die
        && !TYPE_UNSIGNED (base_type) && (high.data.const_val & negative_mask))
      high.data.const_val |= negative_mask;
  
@@ -295,38 +302,26 @@ Index: gdb-7.9.50.20150520/gdb/dwarf2read.c
  
    if (high_bound_is_count)
      TYPE_RANGE_DATA (range_type)->flag_upper_bound_is_count = 1;
-@@ -22128,9 +22245,37 @@ set_die_type (struct die_info *die, stru
-       && !HAVE_GNAT_AUX_INFO (type))
-     INIT_GNAT_SPECIFIC (type);
- 
-+  /* Read DW_AT_allocated and set in type.  */
-+  attr = dwarf2_attr (die, DW_AT_allocated, cu);
-+  if (attr_form_is_block (attr))
-+    {
-+      struct dynamic_prop prop;
-+
+@@ -22360,7 +22473,7 @@ set_die_type (struct die_info *die, stru
+   attr = dwarf2_attr (die, DW_AT_allocated, cu);
+   if (attr_form_is_block (attr))
+     {
+-      if (attr_to_dynamic_prop (attr, die, cu, &prop))
 +      if (attr_to_dynamic_prop (attr, die, cu, &prop, NULL, 0))
-+        {
-+          TYPE_ALLOCATED_PROP (type)
-+            = obstack_alloc (&objfile->objfile_obstack, sizeof (prop));
-+          *TYPE_ALLOCATED_PROP (type) = prop;
-+        }
-+    }
-+
-+  /* Read DW_AT_associated and set in type.  */
-+  attr = dwarf2_attr (die, DW_AT_associated, cu);
-+  if (attr_form_is_block (attr))
-+    {
-+      struct dynamic_prop prop;
-+
+         add_dyn_prop (DYN_PROP_ALLOCATED, prop, type, objfile);
+     }
+   else if (attr != NULL)
+@@ -22375,7 +22488,7 @@ set_die_type (struct die_info *die, stru
+   attr = dwarf2_attr (die, DW_AT_associated, cu);
+   if (attr_form_is_block (attr))
+     {
+-      if (attr_to_dynamic_prop (attr, die, cu, &prop))
 +      if (attr_to_dynamic_prop (attr, die, cu, &prop, NULL, 0))
-+        {
-+          TYPE_ASSOCIATED_PROP (type)
-+            = obstack_alloc (&objfile->objfile_obstack, sizeof (prop));
-+          *TYPE_ASSOCIATED_PROP (type) = prop;
-+        }
-+    }
-+
+         add_dyn_prop (DYN_PROP_ASSOCIATED, prop, type, objfile);
+     }
+   else if (attr != NULL)
+@@ -22388,7 +22501,7 @@ set_die_type (struct die_info *die, stru
+ 
    /* Read DW_AT_data_location and set in type.  */
    attr = dwarf2_attr (die, DW_AT_data_location, cu);
 -  if (attr_to_dynamic_prop (attr, die, cu, &prop))
@@ -334,22 +329,24 @@ Index: gdb-7.9.50.20150520/gdb/dwarf2read.c
      add_dyn_prop (DYN_PROP_DATA_LOCATION, prop, type, objfile);
  
    if (dwarf2_per_objfile->die_type_hash == NULL)
-Index: gdb-7.9.50.20150520/gdb/f-typeprint.c
+Index: gdb-7.10.50.20151027/gdb/f-typeprint.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/f-typeprint.c	2015-05-29 08:27:02.678717460 +0200
-+++ gdb-7.9.50.20150520/gdb/f-typeprint.c	2015-05-29 08:27:06.261740260 +0200
-@@ -30,6 +30,7 @@
- #include "gdbcore.h"
+--- gdb-7.10.50.20151027.orig/gdb/f-typeprint.c	2015-10-27 02:48:31.000000000 +0100
++++ gdb-7.10.50.20151027/gdb/f-typeprint.c	2015-11-03 21:13:35.707337920 +0100
+@@ -31,6 +31,7 @@
  #include "target.h"
  #include "f-lang.h"
+ #include "typeprint.h"
 +#include "valprint.h"
  
  #if 0				/* Currently unused.  */
  static void f_type_print_args (struct type *, struct ui_file *);
-@@ -53,6 +54,17 @@ f_print_type (struct type *type, const c
-   enum type_code code;
-   int demangled_args;
- 
+@@ -64,6 +65,17 @@ f_print_type (struct type *type, const c
+     {
+       val_print_not_allocated (stream);
+       return;
++    }
++
 +  if (TYPE_NOT_ASSOCIATED (type))
 +    {
 +      val_print_not_associated (stream);
@@ -359,73 +356,13 @@ Index: gdb-7.9.50.20150520/gdb/f-typeprint.c
 +    {
 +      val_print_not_allocated (stream);
 +      return;
-+    }
-+
+     }
+ 
    f_type_print_base (type, stream, show, level);
-   code = TYPE_CODE (type);
-   if ((varstring != NULL && *varstring != '\0')
-@@ -167,28 +179,36 @@ f_type_print_varspec_suffix (struct type
-       if (arrayprint_recurse_level == 1)
- 	fprintf_filtered (stream, "(");
- 
--      if (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_ARRAY)
--	f_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream, 0, 0, 0,
--				     arrayprint_recurse_level);
--
--      lower_bound = f77_get_lowerbound (type);
--      if (lower_bound != 1)	/* Not the default.  */
--	fprintf_filtered (stream, "%d:", lower_bound);
--
--      /* Make sure that, if we have an assumed size array, we
--         print out a warning and print the upperbound as '*'.  */
--
--      if (TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED (type))
--	fprintf_filtered (stream, "*");
-+      if (TYPE_NOT_ASSOCIATED (type))
-+        val_print_not_associated (stream);
-+      else if (TYPE_NOT_ALLOCATED (type))
-+        val_print_not_allocated (stream);
-       else
--	{
--	  upper_bound = f77_get_upperbound (type);
--	  fprintf_filtered (stream, "%d", upper_bound);
--	}
--
--      if (TYPE_CODE (TYPE_TARGET_TYPE (type)) != TYPE_CODE_ARRAY)
--	f_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream, 0, 0, 0,
--				     arrayprint_recurse_level);
-+        {
-+
-+          if (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_ARRAY)
-+            f_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream, 0, 0, 0,
-+                 arrayprint_recurse_level);
-+
-+          lower_bound = f77_get_lowerbound (type);
-+          if (lower_bound != 1)	/* Not the default.  */
-+            fprintf_filtered (stream, "%d:", lower_bound);
-+
-+          /* Make sure that, if we have an assumed size array, we
-+             print out a warning and print the upperbound as '*'.  */
-+
-+          if (TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED (type))
-+            fprintf_filtered (stream, "*");
-+          else
-+            {
-+              upper_bound = f77_get_upperbound (type);
-+              fprintf_filtered (stream, "%d", upper_bound);
-+            }
-+
-+          if (TYPE_CODE (TYPE_TARGET_TYPE (type)) != TYPE_CODE_ARRAY)
-+            f_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream, 0, 0, 0,
-+                 arrayprint_recurse_level);
-+      }
-       if (arrayprint_recurse_level == 1)
- 	fprintf_filtered (stream, ")");
-       else
-Index: gdb-7.9.50.20150520/gdb/f-valprint.c
+Index: gdb-7.10.50.20151027/gdb/f-valprint.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/f-valprint.c	2015-05-29 08:26:49.567634019 +0200
-+++ gdb-7.9.50.20150520/gdb/f-valprint.c	2015-05-29 08:27:06.262740266 +0200
+--- gdb-7.10.50.20151027.orig/gdb/f-valprint.c	2015-10-27 02:48:31.000000000 +0100
++++ gdb-7.10.50.20151027/gdb/f-valprint.c	2015-11-03 21:13:35.959339113 +0100
 @@ -36,8 +36,6 @@
  
  extern void _initialize_f_valprint (void);
@@ -612,11 +549,11 @@ Index: gdb-7.9.50.20150520/gdb/f-valprint.c
            if (index != TYPE_NFIELDS (type) - 1)
              fputs_filtered (", ", stream);
          }
-Index: gdb-7.9.50.20150520/gdb/gdbtypes.c
+Index: gdb-7.10.50.20151027/gdb/gdbtypes.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/gdbtypes.c	2015-05-29 08:27:02.683717492 +0200
-+++ gdb-7.9.50.20150520/gdb/gdbtypes.c	2015-05-29 10:54:36.236498749 +0200
-@@ -824,7 +824,8 @@ allocate_stub_method (struct type *type)
+--- gdb-7.10.50.20151027.orig/gdb/gdbtypes.c	2015-10-27 02:48:31.000000000 +0100
++++ gdb-7.10.50.20151027/gdb/gdbtypes.c	2015-11-03 21:13:38.683352011 +0100
+@@ -836,7 +836,8 @@ allocate_stub_method (struct type *type)
  struct type *
  create_range_type (struct type *result_type, struct type *index_type,
  		   const struct dynamic_prop *low_bound,
@@ -626,7 +563,7 @@ Index: gdb-7.9.50.20150520/gdb/gdbtypes.c
  {
    if (result_type == NULL)
      result_type = alloc_type_copy (index_type);
-@@ -839,6 +840,7 @@ create_range_type (struct type *result_t
+@@ -851,6 +852,7 @@ create_range_type (struct type *result_t
      TYPE_ZALLOC (result_type, sizeof (struct range_bounds));
    TYPE_RANGE_DATA (result_type)->low = *low_bound;
    TYPE_RANGE_DATA (result_type)->high = *high_bound;
@@ -634,7 +571,7 @@ Index: gdb-7.9.50.20150520/gdb/gdbtypes.c
  
    if (low_bound->kind == PROP_CONST && low_bound->data.const_val >= 0)
      TYPE_UNSIGNED (result_type) = 1;
-@@ -867,7 +869,7 @@ struct type *
+@@ -879,7 +881,7 @@ struct type *
  create_static_range_type (struct type *result_type, struct type *index_type,
  			  LONGEST low_bound, LONGEST high_bound)
  {
@@ -643,7 +580,7 @@ Index: gdb-7.9.50.20150520/gdb/gdbtypes.c
  
    low.kind = PROP_CONST;
    low.data.const_val = low_bound;
-@@ -875,7 +877,11 @@ create_static_range_type (struct type *r
+@@ -887,7 +889,11 @@ create_static_range_type (struct type *r
    high.kind = PROP_CONST;
    high.data.const_val = high_bound;
  
@@ -656,20 +593,16 @@ Index: gdb-7.9.50.20150520/gdb/gdbtypes.c
  
    return result_type;
  }
-@@ -1068,18 +1074,24 @@ create_array_type_with_stride (struct ty
- 
-   TYPE_CODE (result_type) = TYPE_CODE_ARRAY;
-   TYPE_TARGET_TYPE (result_type) = element_type;
--  if (has_static_range (TYPE_RANGE_DATA (range_type)))
-+  if (has_static_range (TYPE_RANGE_DATA (range_type))
-+      && dwarf2_address_data_valid (result_type))
+@@ -1084,16 +1090,21 @@ create_array_type_with_stride (struct ty
+      && (!type_not_associated (result_type)
+         && !type_not_allocated (result_type)))
      {
 -      LONGEST low_bound, high_bound;
 +      LONGEST low_bound, high_bound, byte_stride;
  
        if (get_discrete_bounds (range_type, &low_bound, &high_bound) < 0)
  	low_bound = high_bound = 0;
-       CHECK_TYPEDEF (element_type);
+       element_type = check_typedef (element_type);
 +
 +      byte_stride = abs (TYPE_BYTE_STRIDE (range_type));
 +
@@ -683,7 +616,7 @@ Index: gdb-7.9.50.20150520/gdb/gdbtypes.c
        else if (bit_stride > 0)
  	TYPE_LENGTH (result_type) =
  	  (bit_stride * (high_bound - low_bound + 1) + 7) / 8;
-@@ -1789,12 +1801,31 @@ stub_noname_complaint (void)
+@@ -1804,12 +1815,31 @@ stub_noname_complaint (void)
  static int
  is_dynamic_type_internal (struct type *type, int top_level)
  {
@@ -715,7 +648,7 @@ Index: gdb-7.9.50.20150520/gdb/gdbtypes.c
    /* Types that have a dynamic TYPE_DATA_LOCATION are considered
       dynamic, even if the type itself is statically defined.
       From a user's point of view, this may appear counter-intuitive;
-@@ -1823,11 +1854,19 @@ is_dynamic_type_internal (struct type *t
+@@ -1844,11 +1874,19 @@ is_dynamic_type_internal (struct type *t
        {
  	gdb_assert (TYPE_NFIELDS (type) == 1);
  
@@ -738,7 +671,7 @@ Index: gdb-7.9.50.20150520/gdb/gdbtypes.c
        }
  
      case TYPE_CODE_STRUCT:
-@@ -1840,6 +1879,18 @@ is_dynamic_type_internal (struct type *t
+@@ -1861,6 +1899,18 @@ is_dynamic_type_internal (struct type *t
  	      && is_dynamic_type_internal (TYPE_FIELD_TYPE (type, i), 0))
  	    return 1;
        }
@@ -757,7 +690,7 @@ Index: gdb-7.9.50.20150520/gdb/gdbtypes.c
        break;
      }
  
-@@ -1869,7 +1920,8 @@ resolve_dynamic_range (struct type *dyn_
+@@ -1890,7 +1940,8 @@ resolve_dynamic_range (struct type *dyn_
    struct type *static_range_type, *static_target_type;
    const struct dynamic_prop *prop;
    const struct dwarf2_locexpr_baton *baton;
@@ -767,12 +700,12 @@ Index: gdb-7.9.50.20150520/gdb/gdbtypes.c
  
    gdb_assert (TYPE_CODE (dyn_range_type) == TYPE_CODE_RANGE);
  
-@@ -1901,12 +1953,19 @@ resolve_dynamic_range (struct type *dyn_
+@@ -1922,12 +1973,19 @@ resolve_dynamic_range (struct type *dyn_
        high_bound.data.const_val = 0;
      }
  
 +  prop = &TYPE_RANGE_DATA (dyn_range_type)->stride;
-+  if (dwarf2_evaluate_property (prop, addr_stack, &value))
++  if (dwarf2_evaluate_property (prop, NULL, addr_stack, &value))
 +    {
 +      stride.kind = PROP_CONST;
 +      stride.data.const_val = value;
@@ -790,103 +723,42 @@ Index: gdb-7.9.50.20150520/gdb/gdbtypes.c
    TYPE_RANGE_DATA (static_range_type)->flag_bound_evaluated = 1;
    return static_range_type;
  }
-@@ -1923,23 +1982,47 @@ resolve_dynamic_array (struct type *type
-   struct type *elt_type;
-   struct type *range_type;
+@@ -1946,7 +2004,8 @@ resolve_dynamic_array (struct type *type
    struct type *ary_dim;
-+  struct dynamic_prop *prop;
-+  struct type *copy = copy_type (type);
+   struct dynamic_prop *prop;
  
 -  gdb_assert (TYPE_CODE (type) == TYPE_CODE_ARRAY);
 +  gdb_assert (TYPE_CODE (type) == TYPE_CODE_ARRAY
 +	      || TYPE_CODE (type) == TYPE_CODE_STRING);
  
-   elt_type = type;
-   range_type = check_typedef (TYPE_INDEX_TYPE (elt_type));
-   range_type = resolve_dynamic_range (range_type, addr_stack);
+   type = copy_type (type);
+ 
+@@ -1971,13 +2030,18 @@ resolve_dynamic_array (struct type *type
  
-+  prop = TYPE_ALLOCATED_PROP (type);
-+  if (dwarf2_evaluate_property (prop, addr_stack, &value))
-+    {
-+      TYPE_ALLOCATED_PROP (copy)->kind = PROP_CONST;
-+      TYPE_ALLOCATED_PROP (copy)->data.const_val = value;
-+    }
-+
-+  prop = TYPE_ASSOCIATED_PROP (type);
-+  if (dwarf2_evaluate_property (prop, addr_stack, &value))
-+    {
-+      TYPE_ASSOCIATED_PROP (copy)->kind = PROP_CONST;
-+      TYPE_ASSOCIATED_PROP (copy)->data.const_val = value;
-+    }
-+
    ary_dim = check_typedef (TYPE_TARGET_TYPE (elt_type));
  
 -  if (ary_dim != NULL && TYPE_CODE (ary_dim) == TYPE_CODE_ARRAY)
--    elt_type = resolve_dynamic_array (TYPE_TARGET_TYPE (type), addr_stack);
 +  if (ary_dim != NULL && (TYPE_CODE (ary_dim) == TYPE_CODE_ARRAY
-+          || TYPE_CODE (ary_dim) == TYPE_CODE_STRING))
-+    elt_type = resolve_dynamic_array (TYPE_TARGET_TYPE (copy), addr_stack);
++			  || TYPE_CODE (ary_dim) == TYPE_CODE_STRING))
+     elt_type = resolve_dynamic_array (ary_dim, addr_stack);
    else
      elt_type = TYPE_TARGET_TYPE (type);
  
--  return create_array_type_with_stride (copy_type (type),
--					elt_type, range_type,
--					TYPE_FIELD_BITSIZE (type, 0));
+-  return create_array_type_with_stride (type, elt_type, range_type,
+-                                        TYPE_FIELD_BITSIZE (type, 0));
 +  if (TYPE_CODE (type) == TYPE_CODE_STRING
 +      && TYPE_FIELD_BITSIZE (type, 0) == 0)
-+    return create_string_type (copy,
-+	    elt_type,
-+	    range_type);
++    return create_string_type (type, elt_type, range_type);
 +  else
-+    return create_array_type_with_stride (copy,
-+	    elt_type,
-+	    range_type, TYPE_FIELD_BITSIZE (type, 0));
++    return create_array_type_with_stride (type, elt_type, range_type,
++					  TYPE_FIELD_BITSIZE (type, 0));
  }
  
  /* Resolve dynamic bounds of members of the union TYPE to static
-@@ -4453,6 +4536,20 @@ copy_type_recursive (struct objfile *obj
- 				TYPE_DYN_PROP_LIST (type));
- 
- 
-+  /* Copy allocated information.  */
-+  if (TYPE_ALLOCATED_PROP (type) != NULL)
-+    {
-+      TYPE_ALLOCATED_PROP (new_type) = xmalloc (sizeof (struct dynamic_prop));
-+      *TYPE_ALLOCATED_PROP (new_type) = *TYPE_ALLOCATED_PROP (type);
-+    }
-+
-+  /* Copy associated information.  */
-+  if (TYPE_ASSOCIATED_PROP (type) != NULL)
-+    {
-+      TYPE_ASSOCIATED_PROP (new_type) = xmalloc (sizeof (struct dynamic_prop));
-+      *TYPE_ASSOCIATED_PROP (new_type) = *TYPE_ASSOCIATED_PROP (type);
-+    }
-+
-   /* Copy pointers to other types.  */
-   if (TYPE_TARGET_TYPE (type))
-     TYPE_TARGET_TYPE (new_type) = 
-@@ -4494,6 +4591,35 @@ copy_type_recursive (struct objfile *obj
+@@ -4558,6 +4622,17 @@ copy_type_recursive (struct objfile *obj
        gdb_assert_not_reached ("bad type_specific_kind");
      }
  
-+  if (TYPE_ALLOCATED_PROP (type))
-+    {
-+      TYPE_ALLOCATED_PROP (new_type)
-+              = OBSTACK_ZALLOC (&TYPE_OWNER (type).objfile->objfile_obstack,
-+                                struct dynamic_prop);
-+      memcpy (TYPE_ALLOCATED_PROP (new_type), TYPE_ALLOCATED_PROP (type),
-+        sizeof (struct dynamic_prop));
-+    }
-+
-+  if (TYPE_ASSOCIATED_PROP (type))
-+    {
-+      TYPE_ASSOCIATED_PROP (new_type)
-+              = OBSTACK_ZALLOC (&TYPE_OWNER (type).objfile->objfile_obstack,
-+                                struct dynamic_prop);
-+      memcpy (TYPE_ASSOCIATED_PROP (new_type), TYPE_ASSOCIATED_PROP (type),
-+        sizeof (struct dynamic_prop));
-+    }
-+
 +  if (TYPE_NFIELDS (type))
 +    {
 +      int nfields = TYPE_NFIELDS (type);
@@ -901,26 +773,11 @@ Index: gdb-7.9.50.20150520/gdb/gdbtypes.c
    return new_type;
  }
  
-@@ -4519,6 +4645,14 @@ copy_type (const struct type *type)
-     TYPE_DYN_PROP_LIST (new_type)
-       = copy_dynamic_prop_list (&TYPE_OBJFILE (type) -> objfile_obstack,
- 				TYPE_DYN_PROP_LIST (type));
-+  if (TYPE_ALLOCATED_PROP (type) != NULL)
-+    TYPE_ALLOCATED_PROP (new_type) = obstack_copy
-+      (&TYPE_OBJFILE (type)->objfile_obstack, TYPE_ALLOCATED_PROP (type),
-+       sizeof (*TYPE_ALLOCATED_PROP (type)));
-+  if (TYPE_ASSOCIATED_PROP (type) != NULL)
-+    TYPE_ASSOCIATED_PROP (new_type) = obstack_copy
-+      (&TYPE_OBJFILE (type)->objfile_obstack, TYPE_ASSOCIATED_PROP (type),
-+       sizeof (*TYPE_ASSOCIATED_PROP (type)));
- 
-   return new_type;
- }
-Index: gdb-7.9.50.20150520/gdb/gdbtypes.h
+Index: gdb-7.10.50.20151027/gdb/gdbtypes.h
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/gdbtypes.h	2015-05-29 08:27:02.685717504 +0200
-+++ gdb-7.9.50.20150520/gdb/gdbtypes.h	2015-05-29 08:46:08.862924052 +0200
-@@ -569,6 +569,10 @@ struct range_bounds
+--- gdb-7.10.50.20151027.orig/gdb/gdbtypes.h	2015-10-27 02:48:31.000000000 +0100
++++ gdb-7.10.50.20151027/gdb/gdbtypes.h	2015-11-03 21:13:36.760342906 +0100
+@@ -577,6 +577,10 @@ struct range_bounds
  
    struct dynamic_prop high;
  
@@ -931,7 +788,7 @@ Index: gdb-7.9.50.20150520/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.  */
  
-@@ -741,6 +745,18 @@ struct main_type
+@@ -749,6 +753,18 @@ struct main_type
  
    /* * Contains all dynamic type properties.  */
    struct dynamic_prop_list *dyn_prop_list;
@@ -966,13 +823,10 @@ Index: gdb-7.9.50.20150520/gdb/gdbtypes.h
  
  /* Property accessors for the type data location.  */
  #define TYPE_DATA_LOCATION(thistype) \
-@@ -1265,6 +1290,20 @@ extern void allocate_gnat_aux_type (stru
-   TYPE_DATA_LOCATION (thistype)->data.const_val
+@@ -1266,6 +1291,18 @@ extern void allocate_gnat_aux_type (stru
  #define TYPE_DATA_LOCATION_KIND(thistype) \
    TYPE_DATA_LOCATION (thistype)->kind
-+#define TYPE_ALLOCATED_PROP(thistype) TYPE_MAIN_TYPE(thistype)->allocated
-+#define TYPE_ASSOCIATED_PROP(thistype) TYPE_MAIN_TYPE(thistype)->associated
-+
+ 
 +/* Allocated status of type object.  If set to non-zero it means the object
 +   is allocated. A zero value means it is not allocated.  */
 +#define TYPE_NOT_ALLOCATED(t)  (TYPE_ALLOCATED_PROP (t) \
@@ -984,10 +838,11 @@ Index: gdb-7.9.50.20150520/gdb/gdbtypes.h
 +#define TYPE_NOT_ASSOCIATED(t)  (TYPE_ASSOCIATED_PROP (t) \
 +  && TYPE_ASSOCIATED_PROP (t)->kind == PROP_CONST \
 +  && !TYPE_ASSOCIATED_PROP (t)->data.const_val)
- 
- /* Attribute accessors for dynamic properties.  */
- #define TYPE_DYN_PROP_LIST(thistype) \
-@@ -1283,6 +1322,9 @@ extern void allocate_gnat_aux_type (stru
++
+ /* Property accessors for the type allocated/associated.  */
+ #define TYPE_ALLOCATED_PROP(thistype) \
+   get_dyn_prop (DYN_PROP_ALLOCATED, thistype)
+@@ -1289,6 +1326,9 @@ extern void allocate_gnat_aux_type (stru
     TYPE_HIGH_BOUND_UNDEFINED(TYPE_INDEX_TYPE(arraytype))
  #define TYPE_ARRAY_LOWER_BOUND_IS_UNDEFINED(arraytype) \
     TYPE_LOW_BOUND_UNDEFINED(TYPE_INDEX_TYPE(arraytype))
@@ -997,7 +852,7 @@ Index: gdb-7.9.50.20150520/gdb/gdbtypes.h
  
  #define TYPE_ARRAY_UPPER_BOUND_VALUE(arraytype) \
     (TYPE_HIGH_BOUND(TYPE_INDEX_TYPE((arraytype))))
-@@ -1764,6 +1806,7 @@ extern struct type *create_array_type_wi
+@@ -1775,6 +1815,7 @@ extern struct type *create_array_type_wi
  
  extern struct type *create_range_type (struct type *, struct type *,
  				       const struct dynamic_prop *,
@@ -1005,223 +860,10 @@ Index: gdb-7.9.50.20150520/gdb/gdbtypes.h
  				       const struct dynamic_prop *);
  
  extern struct type *create_array_type (struct type *, struct type *,
-Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-alloc-assoc.exp
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-alloc-assoc.exp	2015-05-29 08:27:06.266740292 +0200
-@@ -0,0 +1,65 @@
-+# Copyright 2014 Free Software Foundation, Inc.
-+
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; either version 3 of the License, or
-+# (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+# GNU General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-+
-+standard_testfile "vla.f90"
-+
-+if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \
-+    {debug f90 quiet}] } {
-+    return -1
-+}
-+
-+if ![runto MAIN__] then {
-+    perror "couldn't run to breakpoint MAIN__"
-+    continue
-+}
-+
-+# Check the association status of various types of VLA's
-+# and pointer to VLA's.
-+gdb_breakpoint [gdb_get_line_number "vla1-allocated"]
-+gdb_continue_to_breakpoint "vla1-allocated"
-+gdb_test "print l" " = \\.TRUE\\." \
-+  "print vla1 allocation status (allocated)"
-+
-+gdb_breakpoint [gdb_get_line_number "vla2-allocated"]
-+gdb_continue_to_breakpoint "vla2-allocated"
-+gdb_test "print l" " = \\.TRUE\\." \
-+  "print vla2 allocation status (allocated)"
-+
-+gdb_breakpoint [gdb_get_line_number "pvla-associated"]
-+gdb_continue_to_breakpoint "pvla-associated"
-+gdb_test "print l" " = \\.TRUE\\." \
-+  "print pvla associated status (associated)"
-+
-+gdb_breakpoint [gdb_get_line_number "pvla-re-associated"]
-+gdb_continue_to_breakpoint "pvla-re-associated"
-+gdb_test "print l" " = \\.TRUE\\." \
-+  "print pvla associated status (re-associated)"
-+
-+gdb_breakpoint [gdb_get_line_number "pvla-deassociated"]
-+gdb_continue_to_breakpoint "pvla-deassociated"
-+gdb_test "print l" " = \\.FALSE\\." \
-+  "print pvla allocation status (deassociated)"
-+
-+gdb_breakpoint [gdb_get_line_number "vla1-deallocated"]
-+gdb_continue_to_breakpoint "vla1-deallocated"
-+gdb_test "print l" " = \\.FALSE\\." \
-+  "print vla1 allocation status (deallocated)"
-+gdb_test "print vla1" " = <not allocated>" \
-+  "print deallocated vla1"
-+
-+gdb_breakpoint [gdb_get_line_number "vla2-deallocated"]
-+gdb_continue_to_breakpoint "vla2-deallocated"
-+gdb_test "print l" " = \\.FALSE\\." "print vla2 deallocated"
-+gdb_test "print vla2" " = <not allocated>" "print deallocated vla2"
-Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-datatypes.exp
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-datatypes.exp	2015-05-29 08:27:06.266740292 +0200
-@@ -0,0 +1,82 @@
-+# Copyright 2014 Free Software Foundation, Inc.
-+
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; either version 3 of the License, or
-+# (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+# GNU General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-+
-+standard_testfile ".f90"
-+
-+if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \
-+    {debug f90 quiet}] } {
-+    return -1
-+}
-+
-+# check that all fortran standard datatypes will be
-+# handled correctly when using as VLA's
-+
-+if ![runto MAIN__] then {
-+    perror "couldn't run to breakpoint MAIN__"
-+    continue
-+}
-+
-+gdb_breakpoint [gdb_get_line_number "vlas-allocated"]
-+gdb_continue_to_breakpoint "vlas-allocated"
-+gdb_test "next" " = allocated\\\(realvla\\\)" \
-+  "next to allocation status of intvla"
-+gdb_test "print l" " = \\.TRUE\\." "intvla allocated"
-+gdb_test "next" " = allocated\\\(complexvla\\\)" \
-+  "next to allocation status of realvla"
-+gdb_test "print l" " = \\.TRUE\\." "realvla allocated"
-+gdb_test "next" " = allocated\\\(logicalvla\\\)" \
-+  "next to allocation status of complexvla"
-+gdb_test "print l" " = \\.TRUE\\." "complexvla allocated"
-+gdb_test "next" " = allocated\\\(charactervla\\\)" \
-+  "next to allocation status of logicalvla"
-+gdb_test "print l" " = \\.TRUE\\." "logicalvla allocated"
-+gdb_test "next" "intvla\\\(:,:,:\\\) = 1" \
-+  "next to allocation status of charactervla"
-+gdb_test "print l" " = \\.TRUE\\." "charactervla allocated"
-+
-+gdb_breakpoint [gdb_get_line_number "vlas-initialized"]
-+gdb_continue_to_breakpoint "vlas-initialized"
-+gdb_test "ptype intvla" "type = integer\\\(kind=4\\\) \\\(11,22,33\\\)" \
-+  "ptype intvla"
-+gdb_test "ptype realvla" "type = real\\\(kind=4\\\) \\\(11,22,33\\\)" \
-+  "ptype realvla"
-+gdb_test "ptype complexvla" "type = complex\\\(kind=4\\\) \\\(11,22,33\\\)" \
-+  "ptype complexvla"
-+gdb_test "ptype logicalvla" "type = logical\\\(kind=4\\\) \\\(11,22,33\\\)" \
-+  "ptype logicalvla"
-+gdb_test "ptype charactervla" "type = character\\\*1 \\\(11,22,33\\\)" \
-+  "ptype charactervla"
-+
-+gdb_test "print intvla(5,5,5)" " = 1" "print intvla(5,5,5) (1st)"
-+gdb_test "print realvla(5,5,5)" " = 3.14\\d+" \
-+  "print realvla(5,5,5) (1st)"
-+gdb_test "print complexvla(5,5,5)" " = \\\(2,-3\\\)" \
-+  "print complexvla(5,5,5) (1st)"
-+gdb_test "print logicalvla(5,5,5)" " = \\.TRUE\\." \
-+  "print logicalvla(5,5,5) (1st)"
-+gdb_test "print charactervla(5,5,5)" " = 'K'" \
-+  "print charactervla(5,5,5) (1st)"
-+
-+gdb_breakpoint [gdb_get_line_number "vlas-modified"]
-+gdb_continue_to_breakpoint "vlas-modified"
-+gdb_test "print intvla(5,5,5)" " = 42" "print intvla(5,5,5) (2nd)"
-+gdb_test "print realvla(5,5,5)" " = 4.13\\d+" \
-+  "print realvla(5,5,5) (2nd)"
-+gdb_test "print complexvla(5,5,5)" " = \\\(-3,2\\\)" \
-+  "print complexvla(5,5,5) (2nd)"
-+gdb_test "print logicalvla(5,5,5)" " = \\.FALSE\\." \
-+  "print logicalvla(5,5,5) (2nd)"
-+gdb_test "print charactervla(5,5,5)" " = 'X'" \
-+  "print charactervla(5,5,5) (2nd)"
-Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-datatypes.f90
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-datatypes.f90	2015-05-29 08:27:06.266740292 +0200
-@@ -0,0 +1,51 @@
-+! Copyright 2014 Free Software Foundation, Inc.
-+!
-+! This program is free software; you can redistribute it and/or modify
-+! it under the terms of the GNU General Public License as published by
-+! the Free Software Foundation; either version 2 of the License, or
-+! (at your option) any later version.
-+!
-+! This program is distributed in the hope that it will be useful,
-+! but WITHOUT ANY WARRANTY; without even the implied warranty of
-+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+! GNU General Public License for more details.
-+!
-+! You should have received a copy of the GNU General Public License
-+! along with this program; if not, write to the Free Software
-+! Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-+
-+program vla_primitives
-+  integer, allocatable    :: intvla(:, :, :)
-+  real, allocatable       :: realvla(:, :, :)
-+  complex, allocatable    :: complexvla(:, :, :)
-+  logical, allocatable    :: logicalvla(:, :, :)
-+  character, allocatable  :: charactervla(:, :, :)
-+  logical                 :: l
-+
-+  allocate (intvla (11,22,33))
-+  allocate (realvla (11,22,33))
-+  allocate (complexvla (11,22,33))
-+  allocate (logicalvla (11,22,33))
-+  allocate (charactervla (11,22,33))
-+
-+  l = allocated(intvla)                   ! vlas-allocated
-+  l = allocated(realvla)
-+  l = allocated(complexvla)
-+  l = allocated(logicalvla)
-+  l = allocated(charactervla)
-+
-+  intvla(:,:,:) = 1
-+  realvla(:,:,:) = 3.14
-+  complexvla(:,:,:) = cmplx(2.0,-3.0)
-+  logicalvla(:,:,:) = .TRUE.
-+  charactervla(:,:,:) = char(75)
-+
-+  intvla(5,5,5) = 42                      ! vlas-initialized
-+  realvla(5,5,5) = 4.13
-+  complexvla(5,5,5) = cmplx(-3.0,2.0)
-+  logicalvla(5,5,5) = .FALSE.
-+  charactervla(5,5,5) = 'X'
-+
-+  ! dummy statement for bp
-+  l = .FALSE.                             ! vlas-modified
-+end program vla_primitives
-Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-func.exp
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/vla-func.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-func.exp	2015-05-29 08:27:06.266740292 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/vla-func.exp	2015-11-03 20:41:48.542504993 +0100
 @@ -0,0 +1,61 @@
 +# Copyright 2014 Free Software Foundation, Inc.
 +
@@ -1284,10 +926,10 @@ Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-func.exp
 +  "print vla3 (after func2)"
 +gdb_test "ptype vla3" "type = integer\\\(kind=4\\\) \\\(10\\\)" \
 +  "ptype vla3 (after func2)"
-Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-func.f90
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/vla-func.f90
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-func.f90	2015-05-29 08:27:06.267740298 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/vla-func.f90	2015-11-03 20:41:48.542504993 +0100
 @@ -0,0 +1,71 @@
 +! Copyright 2014 Free Software Foundation, Inc.
 +!
@@ -1360,11 +1002,11 @@ Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-func.f90
 +
 +  ret = .TRUE.                ! func2-returned
 +end program vla_func
-Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-history.exp
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/vla-stride.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-history.exp	2015-05-29 08:27:06.267740298 +0200
-@@ -0,0 +1,62 @@
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/vla-stride.exp	2015-11-03 20:41:48.542504993 +0100
+@@ -0,0 +1,44 @@
 +# Copyright 2014 Free Software Foundation, Inc.
 +
 +# This program is free software; you can redistribute it and/or modify
@@ -1380,7 +1022,7 @@ Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-history.exp
 +# You should have received a copy of the GNU General Public License
 +# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 +
-+standard_testfile "vla.f90"
++standard_testfile ".f90"
 +
 +if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \
 +    {debug f90 quiet}] } {
@@ -1392,239 +1034,63 @@ Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-history.exp
 +    continue
 +}
 +
-+# Set some breakpoints and print complete vla.
-+gdb_breakpoint [gdb_get_line_number "vla1-init"]
-+gdb_continue_to_breakpoint "vla1-init"
-+gdb_test "print vla1" " = <not allocated>" "print non-allocated vla1"
-+
-+gdb_breakpoint [gdb_get_line_number "vla2-allocated"]
-+gdb_continue_to_breakpoint "vla2-allocated"
-+gdb_test "print vla1" " = \\( *\\( *\\( *0, *0, *0,\[()0, .\]*\\)" \
-+  "print vla1 allocated"
-+gdb_test "print vla2" " = \\( *\\( *\\( *0, *0, *0,\[()0, .\]*\\)" \
-+  "print vla2 allocated"
-+
-+gdb_breakpoint [gdb_get_line_number "vla1-filled"]
-+gdb_continue_to_breakpoint "vla1-filled"
-+gdb_test "print vla1" \
-+  " = \\( *\\( *\\( *1311, *1311, *1311,\[()1311, .\]*\\)" \
-+  "print vla1 filled"
-+
-+# Try to access history values for full vla prints.
-+gdb_test "print \$1" " = <not allocated>" "print \$1"
-+gdb_test "print \$2" " = \\( *\\( *\\( *0, *0, *0,\[()0, .\]*\\)" \
-+  "print \$2"
-+gdb_test "print \$3" " = \\( *\\( *\\( *0, *0, *0,\[()0, .\]*\\)" \
-+  "print \$3"
-+gdb_test "print \$4" \
-+  " = \\( *\\( *\\( *1311, *1311, *1311,\[()1311, .\]*\\)" "print \$4"
-+
-+gdb_breakpoint [gdb_get_line_number "vla2-filled"]
-+gdb_continue_to_breakpoint "vla2-filled"
-+gdb_test "print vla2(1,43,20)" " = 1311" "print vla2(1,43,20)"
-+gdb_test "print vla1(1,3,8)" " = 1001" "print vla2(1,3,8)"
-+
-+# Try to access history values for vla values.
-+gdb_test "print \$9" " = 1311" "print \$9"
-+gdb_test "print \$10" " = 1001" "print \$10"
-Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-ptype-sub.exp
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-ptype-sub.exp	2015-05-29 08:27:06.267740298 +0200
-@@ -0,0 +1,87 @@
-+# Copyright 2014 Free Software Foundation, Inc.
-+
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; either version 3 of the License, or
-+# (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+# GNU General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-+
-+standard_testfile "vla-sub.f90"
-+
-+if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \
-+    {debug f90 quiet}] } {
-+    return -1
-+}
++gdb_breakpoint [gdb_get_line_number "re-reverse-elements"]
++gdb_continue_to_breakpoint "re-reverse-elements"
++gdb_test "print pvla" " = \\\(1, 2, 3, 4, 5, 6, 7, 8, 9, 10\\\)" \
++  "print re-reverse-elements"
++gdb_test "print pvla(1)" " = 1" "print first re-reverse-element"
++gdb_test "print pvla(10)" " = 10" "print last re-reverse-element"
 +
-+if ![runto MAIN__] then {
-+    perror "couldn't run to breakpoint MAIN__"
-+    continue
-+}
++gdb_breakpoint [gdb_get_line_number "odd-elements"]
++gdb_continue_to_breakpoint "odd-elements"
++gdb_test "print pvla" " = \\\(1, 3, 5, 7, 9\\\)" "print odd-elements"
++gdb_test "print pvla(1)" " = 1" "print first odd-element"
++gdb_test "print pvla(5)" " = 9" "print last odd-element"
 +
-+# Pass fixed array to function and handle them as vla in function.
-+gdb_breakpoint [gdb_get_line_number "not-filled"]
-+gdb_continue_to_breakpoint "not-filled (1st)"
-+gdb_test "ptype array1" "type = integer\\\(kind=4\\\) \\\(42,42\\\)" \
-+  "ptype array1 (passed fixed)"
-+gdb_test "ptype array2" "type = real\\\(kind=4\\\) \\\(42,42,42\\\)" \
-+  "ptype array2 (passed fixed)"
-+gdb_test "ptype array1(40, 10)" "type = integer\\\(kind=4\\\)" \
-+  "ptype array1(40, 10) (passed fixed)"
-+gdb_test "ptype array2(13, 11, 5)" "type = real\\\(kind=4\\\)" \
-+  "ptype array2(13, 11, 5) (passed fixed)"
-+
-+# Pass sub arrays to function and handle them as vla in function.
-+gdb_continue_to_breakpoint "not-filled (2nd)"
-+gdb_test "ptype array1" "type = integer\\\(kind=4\\\) \\\(6,6\\\)" \
-+  "ptype array1 (passed sub-array)"
-+gdb_test "ptype array2" "type = real\\\(kind=4\\\) \\\(6,6,6\\\)" \
-+  "ptype array2 (passed sub-array)"
-+gdb_test "ptype array1(3, 3)" "type = integer\\\(kind=4\\\)" \
-+  "ptype array1(3, 3) (passed sub-array)"
-+gdb_test "ptype array2(4, 4, 4)" "type = real\\\(kind=4\\\)" \
-+  "ptype array2(4, 4, 4) (passed sub-array)"
-+
-+# Check ptype outside of bounds. This should not crash GDB.
-+gdb_test "ptype array1(100, 100)" "no such vector element" \
-+  "ptype array1(100, 100) subarray do not crash (passed sub-array)"
-+gdb_test "ptype array2(100, 100, 100)" "no such vector element" \
-+  "ptype array2(100, 100, 100) subarray do not crash (passed sub-array)"
-+
-+# Pass vla to function.
-+gdb_continue_to_breakpoint "not-filled (3rd)"
-+gdb_test "ptype array1" "type = integer\\\(kind=4\\\) \\\(20,20\\\)" \
-+  "ptype array1 (passed vla)"
-+gdb_test "ptype array2" "type = real\\\(kind=4\\\) \\\(10,10,10\\\)" \
-+  "ptype array2 (passed vla)"
-+gdb_test "ptype array1(3, 3)" "type = integer\\\(kind=4\\\)" \
-+  "ptype array1(3, 3) (passed vla)"
-+gdb_test "ptype array2(4, 4, 4)" "type = real\\\(kind=4\\\)" \
-+  "ptype array2(4, 4, 4) (passed vla)"
-+
-+# Check ptype outside of bounds. This should not crash GDB.
-+gdb_test "ptype array1(100, 100)" "no such vector element" \
-+  "ptype array1(100, 100) VLA do not crash (passed vla)"
-+gdb_test "ptype array2(100, 100, 100)" "no such vector element" \
-+  "ptype array2(100, 100, 100) VLA do not crash (passed vla)"
-+
-+# Pass fixed array to function and handle it as VLA of arbitrary length in
-+# function.
-+gdb_breakpoint [gdb_get_line_number "end-of-bar"]
-+gdb_continue_to_breakpoint "end-of-bar"
-+gdb_test "ptype array1" \
-+  "type = (PTR TO -> \\( )?integer(\\(kind=4\\)|\\*4) \\(\\*\\)\\)?" \
-+  "ptype array1 (arbitrary length)"
-+gdb_test "ptype array2" \
-+  "type = (PTR TO -> \\( )?integer(\\(kind=4\\)|\\*4) \\(4:9,10:\\*\\)\\)?" \
-+  "ptype array2 (arbitrary length)"
-+gdb_test "ptype array1(100)" "type = integer\\\(kind=4\\\)" \
-+  "ptype array1(100) (arbitrary length)"
-+gdb_test "ptype array2(4,100)" "type = integer\\\(kind=4\\\)" \
-+  "ptype array2(4,100) (arbitrary length)"
-Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-ptype.exp
++gdb_breakpoint [gdb_get_line_number "single-element"]
++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.10.50.20151027/gdb/testsuite/gdb.fortran/vla-stride.f90
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-ptype.exp	2015-05-29 08:27:06.267740298 +0200
-@@ -0,0 +1,96 @@
-+# Copyright 2014 Free Software Foundation, Inc.
-+
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; either version 3 of the License, or
-+# (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+# GNU General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/vla-stride.f90	2015-11-03 20:41:48.543504999 +0100
+@@ -0,0 +1,30 @@
++! Copyright 2014 Free Software Foundation, Inc.
++!
++! This program is free software; you can redistribute it and/or modify
++! it under the terms of the GNU General Public License as published by
++! the Free Software Foundation; either version 2 of the License, or
++! (at your option) any later version.
++!
++! This program is distributed in the hope that it will be useful,
++! but WITHOUT ANY WARRANTY; without even the implied warranty of
++! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++! GNU General Public License for more details.
++!
++! You should have received a copy of the GNU General Public License
++! along with this program; if not, write to the Free Software
++! Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 +
-+standard_testfile "vla.f90"
++program vla_stride
++  integer, target, allocatable :: vla (:)
++  integer, pointer :: pvla (:)
 +
-+if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \
-+    {debug f90 quiet}] } {
-+    return -1
-+}
++  allocate(vla(10))
++  vla = (/ (I, I = 1,10) /)
 +
-+if ![runto MAIN__] then {
-+    perror "couldn't run to breakpoint MAIN__"
-+    continue
-+}
++  pvla => vla(10:1:-1)
++  pvla => pvla(10:1:-1)
++  pvla => vla(1:10:2)   ! re-reverse-elements
++  pvla => vla(5:4:-2)   ! odd-elements
 +
-+# Check the ptype of various VLA states and pointer to VLA's.
-+gdb_breakpoint [gdb_get_line_number "vla1-init"]
-+gdb_continue_to_breakpoint "vla1-init"
-+gdb_test "ptype vla1" "type = <not allocated>" "ptype vla1 not initialized"
-+gdb_test "ptype vla2" "type = <not allocated>" "ptype vla2 not initialized"
-+gdb_test "ptype pvla" "type = <not associated>" "ptype pvla not initialized"
-+gdb_test "ptype vla1(3, 6, 9)" "no such vector element because not allocated" \
-+  "ptype vla1(3, 6, 9) not initialized"
-+gdb_test "ptype vla2(5, 45, 20)" \
-+  "no such vector element because not allocated" \
-+  "ptype vla1(5, 45, 20) not initialized"
-+
-+gdb_breakpoint [gdb_get_line_number "vla1-allocated"]
-+gdb_continue_to_breakpoint "vla1-allocated"
-+gdb_test "ptype vla1" "type = real\\\(kind=4\\\) \\\(10,10,10\\\)" \
-+  "ptype vla1 allocated"
-+
-+gdb_breakpoint [gdb_get_line_number "vla2-allocated"]
-+gdb_continue_to_breakpoint "vla2-allocated"
-+gdb_test "ptype vla2" "type = real\\\(kind=4\\\) \\\(7,42:50,13:35\\\)" \
-+  "ptype vla2 allocated"
-+
-+gdb_breakpoint [gdb_get_line_number "vla1-filled"]
-+gdb_continue_to_breakpoint "vla1-filled"
-+gdb_test "ptype vla1" "type = real\\\(kind=4\\\) \\\(10,10,10\\\)" \
-+  "ptype vla1 filled"
-+gdb_test "ptype vla1(3, 6, 9)" "type = real\\\(kind=4\\\)" \
-+  "ptype vla1(3, 6, 9)"
-+
-+gdb_breakpoint [gdb_get_line_number "vla2-filled"]
-+gdb_continue_to_breakpoint "vla2-filled"
-+gdb_test "ptype vla2" "type = real\\\(kind=4\\\) \\\(7,42:50,13:35\\\)" \
-+  "ptype vla2 filled"
-+gdb_test "ptype vla2(5, 45, 20)" "type = real\\\(kind=4\\\)" \
-+  "ptype vla1(5, 45, 20) filled"
-+
-+gdb_breakpoint [gdb_get_line_number "pvla-associated"]
-+gdb_continue_to_breakpoint "pvla-associated"
-+gdb_test "ptype pvla" "type = real\\\(kind=4\\\) \\\(10,10,10\\\)" \
-+  "ptype pvla associated"
-+gdb_test "ptype pvla(3, 6, 9)" "type = real\\\(kind=4\\\)" \
-+  "ptype pvla(3, 6, 9)"
-+
-+gdb_breakpoint [gdb_get_line_number "pvla-re-associated"]
-+gdb_continue_to_breakpoint "pvla-re-associated"
-+gdb_test "ptype pvla" "type = real\\\(kind=4\\\) \\\(7,42:50,13:35\\\)" \
-+  "ptype pvla re-associated"
-+gdb_test "ptype vla2(5, 45, 20)" "type = real\\\(kind=4\\\)" \
-+  "ptype vla1(5, 45, 20) re-associated"
-+
-+gdb_breakpoint [gdb_get_line_number "pvla-deassociated"]
-+gdb_continue_to_breakpoint "pvla-deassociated"
-+gdb_test "ptype pvla" "type = <not associated>" "ptype pvla deassociated"
-+gdb_test "ptype pvla(5, 45, 20)" \
-+  "no such vector element because not associated" \
-+  "ptype pvla(5, 45, 20) not associated"
-+
-+gdb_breakpoint [gdb_get_line_number "vla1-deallocated"]
-+gdb_continue_to_breakpoint "vla1-deallocated"
-+gdb_test "ptype vla1" "type = <not allocated>" "ptype vla1 not allocated"
-+gdb_test "ptype vla1(3, 6, 9)" "no such vector element because not allocated" \
-+  "ptype vla1(3, 6, 9) not allocated"
-+
-+gdb_breakpoint [gdb_get_line_number "vla2-deallocated"]
-+gdb_continue_to_breakpoint "vla2-deallocated"
-+gdb_test "ptype vla2" "type = <not allocated>" "ptype vla2 not allocated"
-+gdb_test "ptype vla2(5, 45, 20)" \
-+  "no such vector element because not allocated" \
-+  "ptype vla2(5, 45, 20) not allocated"
-Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-sizeof.exp
++  pvla => null()        ! single-element
++end program vla_stride
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/vla-strings.exp
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-sizeof.exp	2015-05-29 08:27:06.267740298 +0200
-@@ -0,0 +1,46 @@
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/vla-strings.exp	2015-11-03 21:13:45.863386007 +0100
+@@ -0,0 +1,101 @@
 +# Copyright 2014 Free Software Foundation, Inc.
 +
 +# This program is free software; you can redistribute it and/or modify
@@ -1640,150 +1106,15 @@ Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-sizeof.exp
 +# You should have received a copy of the GNU General Public License
 +# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 +
-+standard_testfile "vla.f90"
++standard_testfile ".f90"
 +
 +if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \
 +    {debug f90 quiet}] } {
 +    return -1
 +}
-+
-+if ![runto MAIN__] then {
-+    perror "couldn't run to breakpoint MAIN__"
-+    continue
-+}
-+
-+# Try to access values in non allocated VLA
-+gdb_breakpoint [gdb_get_line_number "vla1-init"]
-+gdb_continue_to_breakpoint "vla1-init"
-+gdb_test "print sizeof(vla1)" " = 0" "print sizeof non-allocated vla1"
-+
-+# Try to access value in allocated VLA
-+gdb_breakpoint [gdb_get_line_number "vla2-allocated"]
-+gdb_continue_to_breakpoint "vla2-allocated"
-+gdb_test "print sizeof(vla1)" " = 4000" "print sizeof allocated vla1"
-+
-+# Try to access values in undefined pointer to VLA (dangling)
-+gdb_breakpoint [gdb_get_line_number "vla1-filled"]
-+gdb_continue_to_breakpoint "vla1-filled"
-+gdb_test "print sizeof(pvla)" " = 0" "print sizeof non-associated pvla"
-+
-+# Try to access values in pointer to VLA and compare them
-+gdb_breakpoint [gdb_get_line_number "pvla-associated"]
-+gdb_continue_to_breakpoint "pvla-associated"
-+gdb_test "print sizeof(pvla)" " = 4000" "print sizeof associated pvla"
-Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-stride.exp
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-stride.exp	2015-05-29 08:27:06.267740298 +0200
-@@ -0,0 +1,44 @@
-+# Copyright 2014 Free Software Foundation, Inc.
-+
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; either version 3 of the License, or
-+# (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+# GNU General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-+
-+standard_testfile ".f90"
-+
-+if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \
-+    {debug f90 quiet}] } {
-+    return -1
-+}
-+
-+if ![runto MAIN__] then {
-+    perror "couldn't run to breakpoint MAIN__"
-+    continue
-+}
-+
-+gdb_breakpoint [gdb_get_line_number "re-reverse-elements"]
-+gdb_continue_to_breakpoint "re-reverse-elements"
-+gdb_test "print pvla" " = \\\(1, 2, 3, 4, 5, 6, 7, 8, 9, 10\\\)" \
-+  "print re-reverse-elements"
-+gdb_test "print pvla(1)" " = 1" "print first re-reverse-element"
-+gdb_test "print pvla(10)" " = 10" "print last re-reverse-element"
-+
-+gdb_breakpoint [gdb_get_line_number "odd-elements"]
-+gdb_continue_to_breakpoint "odd-elements"
-+gdb_test "print pvla" " = \\\(1, 3, 5, 7, 9\\\)" "print odd-elements"
-+gdb_test "print pvla(1)" " = 1" "print first odd-element"
-+gdb_test "print pvla(5)" " = 9" "print last odd-element"
-+
-+gdb_breakpoint [gdb_get_line_number "single-element"]
-+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.9.50.20150520/gdb/testsuite/gdb.fortran/vla-stride.f90
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-stride.f90	2015-05-29 08:27:06.268740305 +0200
-@@ -0,0 +1,30 @@
-+! Copyright 2014 Free Software Foundation, Inc.
-+!
-+! This program is free software; you can redistribute it and/or modify
-+! it under the terms of the GNU General Public License as published by
-+! the Free Software Foundation; either version 2 of the License, or
-+! (at your option) any later version.
-+!
-+! This program is distributed in the hope that it will be useful,
-+! but WITHOUT ANY WARRANTY; without even the implied warranty of
-+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+! GNU General Public License for more details.
-+!
-+! You should have received a copy of the GNU General Public License
-+! along with this program; if not, write to the Free Software
-+! Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-+
-+program vla_stride
-+  integer, target, allocatable :: vla (:)
-+  integer, pointer :: pvla (:)
-+
-+  allocate(vla(10))
-+  vla = (/ (I, I = 1,10) /)
-+
-+  pvla => vla(10:1:-1)
-+  pvla => pvla(10:1:-1)
-+  pvla => vla(1:10:2)   ! re-reverse-elements
-+  pvla => vla(5:4:-2)   ! odd-elements
-+
-+  pvla => null()        ! single-element
-+end program vla_stride
-Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-strings.exp
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-strings.exp	2015-05-29 08:27:06.268740305 +0200
-@@ -0,0 +1,104 @@
-+# Copyright 2014 Free Software Foundation, Inc.
-+
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; either version 3 of the License, or
-+# (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+# GNU General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-+
-+standard_testfile ".f90"
-+
-+if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \
-+    {debug f90 quiet}] } {
-+    return -1
-+}
-+
-+# check that all fortran standard datatypes will be
-+# handled correctly when using as VLA's
++
++# check that all fortran standard datatypes will be
++# handled correctly when using as VLA's
 +
 +if ![runto MAIN__] then {
 +    perror "couldn't run to breakpoint MAIN__"
@@ -1795,9 +1126,6 @@ Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-strings.exp
 +gdb_test "print var_char" \
 +  " = \\(PTR TO -> \\( character\\*10 \\)\\) ${hex}" \
 +  "print var_char after allocated first time"
-+gdb_test "print *var_char" \
-+  " = '\\\\000\\\\000\\\\000\\\\000\\\\000\\\\000\\\\000\\\\000\\\\000\\\\000'" \
-+  "print *var_char after allocated first time"
 +gdb_test "whatis var_char" "type = PTR TO -> \\( character\\*10 \\)" \
 +  "whatis var_char first time"
 +gdb_test "ptype var_char" "type = PTR TO -> \\( character\\*10 \\)" \
@@ -1864,10 +1192,10 @@ Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-strings.exp
 +  "whatis var_char_p after associated"
 +gdb_test "ptype var_char_p" "type = PTR TO -> \\( character\\*7 \\)" \
 +  "ptype var_char_p after associated"
-Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-strings.f90
+Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/vla-strings.f90
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-strings.f90	2015-05-31 15:25:01.305615755 +0200
++++ gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/vla-strings.f90	2015-11-03 20:41:48.543504999 +0100
 @@ -0,0 +1,40 @@
 +! Copyright 2014 Free Software Foundation, Inc.
 +!
@@ -1909,734 +1237,11 @@ Index: gdb-7.9.50.20150520/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.9.50.20150520/gdb/testsuite/gdb.fortran/vla-sub.f90
+Index: gdb-7.10.50.20151027/gdb/typeprint.c
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-sub.f90	2015-05-29 08:27:06.268740305 +0200
-@@ -0,0 +1,82 @@
-+! Copyright 2014 Free Software Foundation, Inc.
-+!
-+! This program is free software; you can redistribute it and/or modify
-+! it under the terms of the GNU General Public License as published by
-+! the Free Software Foundation; either version 2 of the License, or
-+! (at your option) any later version.
-+!
-+! This program is distributed in the hope that it will be useful,
-+! but WITHOUT ANY WARRANTY; without even the implied warranty of
-+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+! GNU General Public License for more details.
-+!
-+! You should have received a copy of the GNU General Public License
-+! along with this program; if not, write to the Free Software
-+! Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-+!
-+! Original file written by Jakub Jelinek <jakub@redhat.com> and
-+! Jan Kratochvil <jan.kratochvil@redhat.com>.
-+! Modified for the GDB testcases by Keven Boell <keven.boell@intel.com>.
-+
-+subroutine foo (array1, array2)
-+  integer :: array1 (:, :)
-+  real    :: array2 (:, :, :)
-+
-+  array1(:,:) = 5                       ! not-filled
-+  array1(1, 1) = 30
-+
-+  array2(:,:,:) = 6                     ! array1-filled
-+  array2(:,:,:) = 3
-+  array2(1,1,1) = 30
-+  array2(3,3,3) = 90                    ! array2-almost-filled
-+end subroutine
-+
-+subroutine bar (array1, array2)
-+  integer :: array1 (*)
-+  integer :: array2 (4:9, 10:*)
-+
-+  array1(5:10) = 1311
-+  array1(7) = 1
-+  array1(100) = 100
-+  array2(4,10) = array1(7)
-+  array2(4,100) = array1(7)
-+  return                                ! end-of-bar
-+end subroutine
-+
-+program vla_sub
-+  interface
-+    subroutine foo (array1, array2)
-+      integer :: array1 (:, :)
-+      real :: array2 (:, :, :)
-+    end subroutine
-+  end interface
-+  interface
-+    subroutine bar (array1, array2)
-+      integer :: array1 (*)
-+      integer :: array2 (4:9, 10:*)
-+    end subroutine
-+  end interface
-+
-+  real, allocatable :: vla1 (:, :, :)
-+  integer, allocatable :: vla2 (:, :)
-+
-+  ! used for subroutine
-+  integer :: sub_arr1(42, 42)
-+  real    :: sub_arr2(42, 42, 42)
-+  integer :: sub_arr3(42)
-+
-+  sub_arr1(:,:) = 1                   ! vla2-deallocated
-+  sub_arr2(:,:,:) = 2
-+  sub_arr3(:) = 3
-+
-+  call foo(sub_arr1, sub_arr2)
-+  call foo(sub_arr1(5:10, 5:10), sub_arr2(10:15,10:15,10:15))
-+
-+  allocate (vla1 (10,10,10))
-+  allocate (vla2 (20,20))
-+  vla1(:,:,:) = 1311
-+  vla2(:,:) = 42
-+  call foo(vla2, vla1)
-+
-+  call bar(sub_arr3, sub_arr1)
-+end program vla_sub
-Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-value-sub-arbitrary.exp
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-value-sub-arbitrary.exp	2015-05-29 08:27:06.268740305 +0200
-@@ -0,0 +1,35 @@
-+# Copyright 2014 Free Software Foundation, Inc.
-+
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; either version 3 of the License, or
-+# (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+# GNU General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-+
-+standard_testfile "vla-sub.f90"
-+
-+if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \
-+    {debug f90 quiet}] } {
-+    return -1
-+}
-+
-+if ![runto MAIN__] then {
-+    perror "couldn't run to breakpoint MAIN__"
-+    continue
-+}
-+
-+# Check VLA with arbitary length and check that elements outside of
-+# bounds of the passed VLA can be accessed correctly.
-+gdb_breakpoint [gdb_get_line_number "end-of-bar"]
-+gdb_continue_to_breakpoint "end-of-bar"
-+gdb_test "p array1(42)" " = 3" "print arbitary array1(42)"
-+gdb_test "p array1(100)" " = 100" "print arbitary array1(100)"
-+gdb_test "p array2(4,10)" " = 1" "print arbitary array2(4,10)"
-+gdb_test "p array2(4,100)" " = 1" "print arbitary array2(4,100)"
-Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-value-sub-finish.exp
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-value-sub-finish.exp	2015-05-29 08:27:06.268740305 +0200
-@@ -0,0 +1,49 @@
-+# Copyright 2014 Free Software Foundation, Inc.
-+
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; either version 3 of the License, or
-+# (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+# GNU General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-+
-+standard_testfile "vla-sub.f90"
-+
-+if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \
-+    {debug f90 quiet}] } {
-+    return -1
-+}
-+
-+if ![runto MAIN__] then {
-+    perror "couldn't run to breakpoint MAIN__"
-+    continue
-+}
-+
-+# "up" works with GCC but other Fortran compilers may copy the values into the
-+# outer function only on the exit of the inner function.
-+# We need both variants as depending on the arch we optionally may still be
-+# executing the caller line or not after `finish'.
-+
-+gdb_breakpoint [gdb_get_line_number "array2-almost-filled"]
-+gdb_continue_to_breakpoint "array2-almost-filled"
-+gdb_test "print array2" " = \\( *\\( *\\( *30, *3, *3,\[()3, .\]*\\)" \
-+  "print array2 in foo after it was filled"
-+gdb_test "print array2(2,1,1)=20" " = 20" \
-+  "set array(2,2,2) to 20 in subroutine"
-+gdb_test "print array2" " = \\( *\\( *\\( *30, *20, *3,\[()3, .\]*\\)" \
-+  "print array2 in foo after it was mofified in debugger"
-+
-+gdb_test "finish" \
-+  ".*foo\\\(sub_arr1\\\(5:10, 5:10\\\), sub_arr2\\\(10:15,10:15,10:15\\\)\\\)" \
-+  "finish function"
-+gdb_test "p sub_arr1(5, 7)" " = 5" "sub_arr1(5, 7) after finish"
-+gdb_test "p sub_arr1(1, 1)" " = 30" "sub_arr1(1, 1) after finish"
-+gdb_test "p sub_arr2(1, 1, 1)" " = 30" "sub_arr2(1, 1, 1) after finish"
-+gdb_test "p sub_arr2(2, 1, 1)" " = 20" "sub_arr2(2, 1, 1) after finish"
-+
-Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-value-sub.exp
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-value-sub.exp	2015-05-29 08:27:06.269740311 +0200
-@@ -0,0 +1,90 @@
-+# Copyright 2014 Free Software Foundation, Inc.
-+
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; either version 3 of the License, or
-+# (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+# GNU General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-+
-+standard_testfile "vla-sub.f90"
-+
-+if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \
-+    {debug f90 quiet}] } {
-+    return -1
-+}
-+
-+if ![runto MAIN__] then {
-+    perror "couldn't run to breakpoint MAIN__"
-+    continue
-+}
-+
-+# Check the values of VLA's in subroutine can be evaluated correctly
-+
-+# Try to access values from a fixed array handled as VLA in subroutine.
-+gdb_breakpoint [gdb_get_line_number "not-filled"]
-+gdb_continue_to_breakpoint "not-filled (1st)"
-+gdb_test "print array1" " = \\(\[()1, .\]*\\)" \
-+  "print passed array1 in foo (passed fixed array)"
-+
-+gdb_breakpoint [gdb_get_line_number "array1-filled"]
-+gdb_continue_to_breakpoint "array1-filled (1st)"
-+gdb_test "print array1(5, 7)" " = 5" \
-+  "print array1(5, 7) after filled in foo (passed fixed array)"
-+gdb_test "print array1(1, 1)" " = 30" \
-+  "print array1(1, 1) after filled in foo (passed fixed array)"
-+
-+gdb_breakpoint [gdb_get_line_number "array2-almost-filled"]
-+gdb_continue_to_breakpoint "array2-almost-filled (1st)"
-+gdb_test "print array2" " = \\( *\\( *\\( *30, *3, *3,\[()3, .\]*\\)" \
-+  "print array2 in foo after it was filled (passed fixed array)"
-+gdb_test "print array2(2,1,1)=20" " = 20" \
-+  "set array(2,2,2) to 20 in subroutine (passed fixed array)"
-+gdb_test "print array2" " = \\( *\\( *\\( *30, *20, *3,\[()3, .\]*\\)" \
-+  "print array2 in foo after it was mofified in debugger (passed fixed array)"
-+
-+
-+# Try to access values from a fixed sub-array handled as VLA in subroutine.
-+gdb_continue_to_breakpoint "not-filled (2nd)"
-+gdb_test "print array1" " = \\(\[()5, .\]*\\)" \
-+  "print passed array1 in foo (passed sub-array)"
-+
-+gdb_continue_to_breakpoint "array1-filled (2nd)"
-+gdb_test "print array1(5, 5)" " = 5" \
-+  "print array1(5, 5) after filled in foo (passed sub-array)"
-+gdb_test "print array1(1, 1)" " = 30" \
-+  "print array1(1, 1) after filled in foo (passed sub-array)"
-+
-+gdb_continue_to_breakpoint "array2-almost-filled (2nd)"
-+gdb_test "print array2" " = \\( *\\( *\\( *30, *3, *3,\[()3, .\]*\\)" \
-+  "print array2 in foo after it was filled (passed sub-array)"
-+gdb_test "print array2(2,1,1)=20" " = 20" \
-+  "set array(2,2,2) to 20 in subroutine (passed sub-array)"
-+gdb_test "print array2" " = \\( *\\( *\\( *30, *20, *3,\[()3, .\]*\\)" \
-+  "print array2 in foo after it was mofified in debugger (passed sub-array)"
-+
-+
-+# Try to access values from a VLA passed to subroutine.
-+gdb_continue_to_breakpoint "not-filled (3rd)"
-+gdb_test "print array1" " = \\(\[()42, .\]*\\)" \
-+  "print passed array1 in foo (passed vla)"
-+
-+gdb_continue_to_breakpoint "array1-filled (3rd)"
-+gdb_test "print array1(5, 5)" " = 5" \
-+  "print array1(5, 5) after filled in foo (passed vla)"
-+gdb_test "print array1(1, 1)" " = 30" \
-+  "print array1(1, 1) after filled in foo (passed vla)"
-+
-+gdb_continue_to_breakpoint "array2-almost-filled (3rd)"
-+gdb_test "print array2" " = \\( *\\( *\\( *30, *3, *3,\[()3, .\]*\\)" \
-+  "print array2 in foo after it was filled (passed vla)"
-+gdb_test "print array2(2,1,1)=20" " = 20" \
-+  "set array(2,2,2) to 20 in subroutine (passed vla)"
-+gdb_test "print array2" " = \\( *\\( *\\( *30, *20, *3,\[()3, .\]*\\)" \
-+  "print array2 in foo after it was mofified in debugger (passed vla)"
-Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-value.exp
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-value.exp	2015-05-29 08:27:06.269740311 +0200
-@@ -0,0 +1,148 @@
-+# Copyright 2014 Free Software Foundation, Inc.
-+
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; either version 3 of the License, or
-+# (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+# GNU General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-+
-+standard_testfile "vla.f90"
-+
-+if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \
-+     {debug f90 quiet}] } {
-+    return -1
-+}
-+
-+if ![runto MAIN__] then {
-+    perror "couldn't run to breakpoint MAIN__"
-+    continue
-+}
-+
-+# Try to access values in non allocated VLA
-+gdb_breakpoint [gdb_get_line_number "vla1-init"]
-+gdb_continue_to_breakpoint "vla1-init"
-+gdb_test "print vla1" " = <not allocated>" "print non-allocated vla1"
-+gdb_test "print &vla1" \
-+  " = \\\(PTR TO -> \\\( real\\\(kind=4\\\) \\\(<not allocated>\\\)\\\)\\\) $hex" \
-+  "print non-allocated &vla1"
-+gdb_test "print vla1(1,1,1)" "no such vector element because not allocated" \
-+  "print member in non-allocated vla1 (1)"
-+gdb_test "print vla1(101,202,303)" \
-+  "no such vector element because not allocated" \
-+  "print member in non-allocated vla1 (2)"
-+gdb_test "print vla1(5,2,18)=1" "no such vector element because not allocated" \
-+  "set member in non-allocated vla1"
-+
-+# Try to access value in allocated VLA
-+gdb_breakpoint [gdb_get_line_number "vla2-allocated"]
-+gdb_continue_to_breakpoint "vla2-allocated"
-+gdb_test "next" "\\d+(\\t|\\s)+vla1\\\(3, 6, 9\\\) = 42" \
-+  "step over value assignment of vla1"
-+gdb_test "print &vla1" \
-+  " = \\\(PTR TO -> \\\( real\\\(kind=4\\\) \\\(10,10,10\\\)\\\)\\\) $hex" \
-+  "print allocated &vla1"
-+gdb_test "print vla1(3, 6, 9)" " = 1311" "print allocated vla1(3,6,9)"
-+gdb_test "print vla1(1, 3, 8)" " = 1311" "print allocated vla1(1,3,8)"
-+gdb_test "print vla1(9, 9, 9) = 999" " = 999" \
-+  "print allocated vla1(9,9,9)=1"
-+
-+# Try to access values in allocated VLA after specific assignment
-+gdb_breakpoint [gdb_get_line_number "vla1-filled"]
-+gdb_continue_to_breakpoint "vla1-filled"
-+gdb_test "print vla1(3, 6, 9)" " = 42" \
-+  "print allocated vla1(3,6,9) after specific assignment (filled)"
-+gdb_test "print vla1(1, 3, 8)" " = 1001" \
-+  "print allocated vla1(1,3,8) after specific assignment (filled)"
-+gdb_test "print vla1(9, 9, 9)" " = 999" \
-+  "print allocated vla1(9,9,9) after assignment in debugger (filled)"
-+
-+# Try to access values in undefined pointer to VLA (dangling)
-+gdb_test "print pvla" " = <not associated>" "print undefined pvla"
-+gdb_test "print &pvla" \
-+  " = \\\(PTR TO -> \\\( real\\\(kind=4\\\) \\\(<not associated>\\\)\\\)\\\) $hex" \
-+  "print non-associated &pvla"
-+gdb_test "print pvla(1, 3, 8)" "no such vector element because not associated" \
-+  "print undefined pvla(1,3,8)"
-+
-+# Try to access values in pointer to VLA and compare them
-+gdb_breakpoint [gdb_get_line_number "pvla-associated"]
-+gdb_continue_to_breakpoint "pvla-associated"
-+gdb_test "print &pvla" \
-+  " = \\\(PTR TO -> \\\( real\\\(kind=4\\\) \\\(10,10,10\\\)\\\)\\\) $hex" \
-+  "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)"
-+gdb_test "print pvla(9, 9, 9)" " = 999" "print associated pvla(9,9,9)"
-+
-+# Fill values to VLA using pointer and check
-+gdb_breakpoint [gdb_get_line_number "pvla-re-associated"]
-+gdb_continue_to_breakpoint "pvla-re-associated"
-+gdb_test "print pvla(5, 45, 20)" \
-+  " = 1" "print pvla(5, 45, 20) after filled using pointer"
-+gdb_test "print vla2(5, 45, 20)" \
-+  " = 1" "print vla2(5, 45, 20) after filled using pointer"
-+gdb_test "print pvla(7, 45, 14)" " = 2" \
-+  "print pvla(7, 45, 14) after filled using pointer"
-+gdb_test "print vla2(7, 45, 14)" " = 2" \
-+  "print vla2(7, 45, 14) after filled using pointer"
-+
-+# Try to access values of deassociated VLA pointer
-+gdb_breakpoint [gdb_get_line_number "pvla-deassociated"]
-+gdb_continue_to_breakpoint "pvla-deassociated"
-+gdb_test "print pvla(5, 45, 20)" \
-+  "no such vector element because not associated" \
-+  "print pvla(5, 45, 20) after deassociated"
-+gdb_test "print pvla(7, 45, 14)" \
-+  "no such vector element because not associated" \
-+  "print pvla(7, 45, 14) after dissasociated"
-+gdb_test "print pvla" " = <not associated>" \
-+  "print vla1 after deassociated"
-+
-+# Try to access values of deallocated VLA
-+gdb_breakpoint [gdb_get_line_number "vla1-deallocated"]
-+gdb_continue_to_breakpoint "vla1-deallocated"
-+gdb_test "print vla1(3, 6, 9)" "no such vector element because not allocated" \
-+  "print allocated vla1(3,6,9) after specific assignment (deallocated)"
-+gdb_test "print vla1(1, 3, 8)" "no such vector element because not allocated" \
-+  "print allocated vla1(1,3,8) after specific assignment (deallocated)"
-+gdb_test "print vla1(9, 9, 9)" "no such vector element because not allocated" \
-+  "print allocated vla1(9,9,9) after assignment in debugger (deallocated)"
-+
-+
-+# Try to assign VLA to user variable
-+clean_restart ${testfile}
-+
-+if ![runto MAIN__] then {
-+    perror "couldn't run to breakpoint MAIN__"
-+    continue
-+}
-+gdb_breakpoint [gdb_get_line_number "vla2-allocated"]
-+gdb_continue_to_breakpoint "vla2-allocated"
-+gdb_test "next" "\\d+.*vla1\\(3, 6, 9\\) = 42" "next (1)"
-+
-+gdb_test_no_output "set \$myvar = vla1" "set \$myvar = vla1"
-+gdb_test "print \$myvar" \
-+  " = \\( *\\( *\\( *1311, *1311, *1311,\[()1311, .\]*\\)" \
-+  "print \$myvar set to vla1"
-+
-+gdb_test "next" "\\d+.*vla1\\(1, 3, 8\\) = 1001" "next (2)"
-+gdb_test "print \$myvar(3,6,9)" " = 1311" "print \$myvar(3,6,9)"
-+
-+gdb_breakpoint [gdb_get_line_number "pvla-associated"]
-+gdb_continue_to_breakpoint "pvla-associated"
-+gdb_test_no_output "set \$mypvar = pvla" "set \$mypvar = pvla"
-+gdb_test "print \$mypvar(1,3,8)" " = 1001" "print \$mypvar(1,3,8)"
-+
-+# deallocate pointer and make sure user defined variable still has the
-+# right value.
-+gdb_breakpoint [gdb_get_line_number "pvla-deassociated"]
-+gdb_continue_to_breakpoint "pvla-deassociated"
-+gdb_test "print \$mypvar(1,3,8)" " = 1001" \
-+  "print \$mypvar(1,3,8) after deallocated"
-Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla.f90
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla.f90	2015-05-29 08:27:06.269740311 +0200
-@@ -0,0 +1,56 @@
-+! Copyright 2014 Free Software Foundation, Inc.
-+!
-+! This program is free software; you can redistribute it and/or modify
-+! it under the terms of the GNU General Public License as published by
-+! the Free Software Foundation; either version 3 of the License, or
-+! (at your option) any later version.
-+!
-+! This program is distributed in the hope that it will be useful,
-+! but WITHOUT ANY WARRANTY; without even the implied warranty of
-+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+! GNU General Public License for more details.
-+!
-+! You should have received a copy of the GNU General Public License
-+! along with this program.  If not, see <http://www.gnu.org/licenses/>.
-+
-+program vla
-+  real, target, allocatable :: vla1 (:, :, :)
-+  real, target, allocatable :: vla2 (:, :, :)
-+  real, target, allocatable :: vla3 (:, :)
-+  real, pointer :: pvla (:, :, :)
-+  logical :: l
-+
-+  allocate (vla1 (10,10,10))          ! vla1-init
-+  l = allocated(vla1)
-+
-+  allocate (vla2 (1:7,42:50,13:35))   ! vla1-allocated
-+  l = allocated(vla2)
-+
-+  vla1(:, :, :) = 1311                ! vla2-allocated
-+  vla1(3, 6, 9) = 42
-+  vla1(1, 3, 8) = 1001
-+  vla1(6, 2, 7) = 13
-+
-+  vla2(:, :, :) = 1311                ! vla1-filled
-+  vla2(5, 45, 20) = 42
-+
-+  pvla => vla1                        ! vla2-filled
-+  l = associated(pvla)
-+
-+  pvla => vla2                        ! pvla-associated
-+  l = associated(pvla)
-+  pvla(5, 45, 20) = 1
-+  pvla(7, 45, 14) = 2
-+
-+  pvla => null()                      ! pvla-re-associated
-+  l = associated(pvla)
-+
-+  deallocate (vla1)                   ! pvla-deassociated
-+  l = allocated(vla1)
-+
-+  deallocate (vla2)                   ! vla1-deallocated
-+  l = allocated(vla2)
-+
-+  allocate (vla3 (2,2))               ! vla2-deallocated
-+  vla3(:,:) = 13
-+end program vla
-Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.mi/mi-vla-fortran.exp
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.9.50.20150520/gdb/testsuite/gdb.mi/mi-vla-fortran.exp	2015-05-29 11:13:53.951656591 +0200
-@@ -0,0 +1,181 @@
-+# Copyright 2014 Free Software Foundation, Inc.
-+
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; either version 3 of the License, or
-+# (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+# GNU General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-+
-+# Verify that, using the MI, we can evaluate a simple C Variable Length
-+# Array (VLA).
-+
-+load_lib mi-support.exp
-+set MIFLAGS "-i=mi"
-+
-+gdb_exit
-+if [mi_gdb_start] {
-+    continue
-+}
-+
-+standard_testfile vla.f90
-+
-+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable \
-+     {debug f90}] != "" } {
-+     untested mi-vla-fortran.exp
-+     return -1
-+}
-+
-+mi_delete_breakpoints
-+mi_gdb_reinitialize_dir $srcdir/$subdir
-+mi_gdb_load ${binfile}
-+
-+set bp_lineno [gdb_get_line_number "vla1-not-allocated"]
-+mi_create_breakpoint "-t vla.f90:$bp_lineno" 1 "del" "vla" \
-+  ".*vla.f90" $bp_lineno $hex \
-+  "insert breakpoint at line $bp_lineno (vla not allocated)"
-+mi_run_cmd
-+mi_expect_stop "breakpoint-hit" "vla" "" ".*vla.f90" "$bp_lineno" \
-+  { "" "disp=\"del\"" } "run to breakpoint at line $bp_lineno"
-+mi_gdb_test "500-data-evaluate-expression vla1" \
-+  "500\\^done,value=\"<not allocated>\"" "evaluate not allocated vla"
-+
-+mi_create_varobj_checked vla1_not_allocated vla1 "<not allocated>" \
-+  "create local variable vla1_not_allocated"
-+mi_gdb_test "501-var-info-type vla1_not_allocated" \
-+  "501\\^done,type=\"<not allocated>\"" \
-+  "info type variable vla1_not_allocated"
-+mi_gdb_test "502-var-show-format vla1_not_allocated" \
-+  "502\\^done,format=\"natural\"" \
-+  "show format variable vla1_not_allocated"
-+mi_gdb_test "503-var-evaluate-expression vla1_not_allocated" \
-+  "503\\^done,value=\"\\\[0\\\]\"" \
-+  "eval variable vla1_not_allocated"
-+mi_list_array_varobj_children_with_index "vla1_not_allocated" "0" "1" \
-+    "real\\\(kind=4\\\)" "get children of vla1_not_allocated"
-+
-+
-+
-+set bp_lineno [gdb_get_line_number "vla1-allocated"]
-+mi_create_breakpoint "-t vla.f90:$bp_lineno" 2 "del" "vla" ".*vla.f90" \
-+  $bp_lineno $hex "insert breakpoint at line $bp_lineno (vla allocated)"
-+mi_run_cmd
-+mi_expect_stop "breakpoint-hit" "vla" "" ".*vla.f90" "$bp_lineno" \
-+  { "" "disp=\"del\"" } "run to breakpoint at line $bp_lineno"
-+# Content of 'vla1' is uninitialized here.
-+
-+mi_create_varobj_checked vla1_allocated vla1 "real\\\(kind=4\\\) \\\(5\\\)" \
-+  "create local variable vla1_allocated"
-+mi_gdb_test "511-var-info-type vla1_allocated" \
-+  "511\\^done,type=\"real\\\(kind=4\\\) \\\(5\\\)\"" \
-+  "info type variable vla1_allocated"
-+mi_gdb_test "512-var-show-format vla1_allocated" \
-+  "512\\^done,format=\"natural\"" \
-+  "show format variable vla1_allocated"
-+mi_gdb_test "513-var-evaluate-expression vla1_allocated" \
-+  "513\\^done,value=\"\\\[5\\\]\"" \
-+  "eval variable vla1_allocated"
-+mi_list_array_varobj_children_with_index "vla1_allocated" "5" "1" \
-+    "real\\\(kind=4\\\)" "get children of vla1_allocated"
-+
-+
-+set bp_lineno [gdb_get_line_number "vla1-filled"]
-+mi_create_breakpoint "-t vla.f90:$bp_lineno" 3 "del" "vla" ".*vla.f90" \
-+  $bp_lineno $hex "insert breakpoint at line $bp_lineno"
-+mi_run_cmd
-+mi_expect_stop "breakpoint-hit" "vla" "" ".*vla.f90" "$bp_lineno" \
-+  { "" "disp=\"del\"" } "run to breakpoint at line $bp_lineno"
-+mi_gdb_test "520-data-evaluate-expression vla1" \
-+  "520\\^done,value=\"\\(1, 1, 1, 1, 1\\)\"" "evaluate filled vla"
-+
-+
-+set bp_lineno [gdb_get_line_number "vla1-modified"]
-+mi_create_breakpoint "-t vla.f90:$bp_lineno" 4 "del" "vla" ".*vla.f90" \
-+  $bp_lineno $hex "insert breakpoint at line $bp_lineno"
-+mi_run_cmd
-+mi_expect_stop "breakpoint-hit" "vla" "" ".*vla.f90" "$bp_lineno" \
-+  { "" "disp=\"del\"" } "run to breakpoint at line $bp_lineno"
-+mi_gdb_test "530-data-evaluate-expression vla1" \
-+  "530\\^done,value=\"\\(1, 42, 1, 24, 1\\)\"" "evaluate filled vla"
-+mi_gdb_test "540-data-evaluate-expression vla1(1)" \
-+  "540\\^done,value=\"1\"" "evaluate filled vla"
-+mi_gdb_test "550-data-evaluate-expression vla1(2)" \
-+  "550\\^done,value=\"42\"" "evaluate filled vla"
-+mi_gdb_test "560-data-evaluate-expression vla1(4)" \
-+  "560\\^done,value=\"24\"" "evaluate filled vla"
-+
-+
-+set bp_lineno [gdb_get_line_number "vla1-deallocated"]
-+mi_create_breakpoint "-t vla.f90:$bp_lineno" 5 "del" "vla" ".*vla.f90" \
-+  $bp_lineno $hex "insert breakpoint at line $bp_lineno"
-+mi_run_cmd
-+mi_expect_stop "breakpoint-hit" "vla" "" ".*vla.f90" "$bp_lineno" \
-+  { "" "disp=\"del\"" } "run to breakpoint at line $bp_lineno"
-+mi_gdb_test "570-data-evaluate-expression vla1" \
-+  "570\\^done,value=\"<not allocated>\"" "evaluate not allocated vla"
-+
-+
-+set bp_lineno [gdb_get_line_number "pvla2-not-associated"]
-+mi_create_breakpoint "-t vla.f90:$bp_lineno" 6 "del" "vla" ".*vla.f90" \
-+  $bp_lineno $hex "insert breakpoint at line $bp_lineno"
-+mi_run_cmd
-+mi_expect_stop "breakpoint-hit" "vla" "" ".*vla.f90" "$bp_lineno" \
-+  { "" "disp=\"del\"" } "run to breakpoint at line $bp_lineno"
-+mi_gdb_test "580-data-evaluate-expression pvla2" \
-+  "580\\^done,value=\"<not associated>\"" "evaluate not associated vla"
-+
-+mi_create_varobj_checked pvla2_not_associated pvla2 "<not associated>" \
-+  "create local variable pvla2_not_associated"
-+mi_gdb_test "581-var-info-type pvla2_not_associated" \
-+  "581\\^done,type=\"<not associated>\"" \
-+  "info type variable pvla2_not_associated"
-+mi_gdb_test "582-var-show-format pvla2_not_associated" \
-+  "582\\^done,format=\"natural\"" \
-+  "show format variable pvla2_not_associated"
-+mi_gdb_test "583-var-evaluate-expression pvla2_not_associated" \
-+  "583\\^done,value=\"\\\[0\\\]\"" \
-+  "eval variable pvla2_not_associated"
-+mi_list_array_varobj_children_with_index "pvla2_not_associated" "0" "1" \
-+    "real\\\(kind=4\\\)" "get children of pvla2_not_associated"
-+
-+
-+set bp_lineno [gdb_get_line_number "pvla2-associated"]
-+mi_create_breakpoint "-t vla.f90:$bp_lineno" 7 "del" "vla" ".*vla.f90" \
-+  $bp_lineno $hex "insert breakpoint at line $bp_lineno"
-+mi_run_cmd
-+mi_expect_stop "breakpoint-hit" "vla" "" ".*vla.f90" "$bp_lineno" \
-+  { "" "disp=\"del\"" } "run to breakpoint at line $bp_lineno"
-+mi_gdb_test "590-data-evaluate-expression pvla2" \
-+  "590\\^done,value=\"\\(\\( 2, 2, 2, 2, 2\\) \\( 2, 2, 2, 2, 2\\) \\)\"" \
-+  "evaluate associated vla"
-+
-+mi_create_varobj_checked pvla2_associated pvla2 \
-+  "real\\\(kind=4\\\) \\\(5,2\\\)" "create local variable pvla2_associated"
-+mi_gdb_test "591-var-info-type pvla2_associated" \
-+  "591\\^done,type=\"real\\\(kind=4\\\) \\\(5,2\\\)\"" \
-+  "info type variable pvla2_associated"
-+mi_gdb_test "592-var-show-format pvla2_associated" \
-+  "592\\^done,format=\"natural\"" \
-+  "show format variable pvla2_associated"
-+mi_gdb_test "593-var-evaluate-expression pvla2_associated" \
-+  "593\\^done,value=\"\\\[2\\\]\"" \
-+  "eval variable pvla2_associated"
-+
-+
-+set bp_lineno [gdb_get_line_number "pvla2-set-to-null"]
-+mi_create_breakpoint "-t vla.f90:$bp_lineno" 8 "del" "vla" ".*vla.f90" \
-+  $bp_lineno $hex "insert breakpoint at line $bp_lineno"
-+mi_run_cmd
-+mi_expect_stop "breakpoint-hit" "vla" "" ".*vla.f90" "$bp_lineno" \
-+  { "" "disp=\"del\"" } "run to breakpoint at line $bp_lineno"
-+mi_gdb_test "600-data-evaluate-expression pvla2" \
-+  "600\\^done,value=\"<not associated>\"" "evaluate vla pointer set to null"
-+
-+mi_gdb_exit
-+return 0
-Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.mi/vla.f90
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.9.50.20150520/gdb/testsuite/gdb.mi/vla.f90	2015-05-29 08:27:06.270740317 +0200
-@@ -0,0 +1,42 @@
-+! Copyright 2014 Free Software Foundation, Inc.
-+!
-+! This program is free software; you can redistribute it and/or modify
-+! it under the terms of the GNU General Public License as published by
-+! the Free Software Foundation; either version 3 of the License, or
-+! (at your option) any later version.
-+!
-+! This program is distributed in the hope that it will be useful,
-+! but WITHOUT ANY WARRANTY; without even the implied warranty of
-+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+! GNU General Public License for more details.
-+!
-+! You should have received a copy of the GNU General Public License
-+! along with this program.  If not, see <http://www.gnu.org/licenses/>.
-+
-+program vla
-+  real, allocatable :: vla1 (:)
-+  real, target, allocatable :: vla2(:, :)
-+  real, pointer :: pvla2 (:, :)
-+  logical :: l
-+
-+  allocate (vla1 (5))         ! vla1-not-allocated
-+  l = allocated(vla1)         ! vla1-allocated
-+
-+  vla1(:) = 1
-+  vla1(2) = 42                ! vla1-filled
-+  vla1(4) = 24
-+
-+  deallocate (vla1)           ! vla1-modified
-+  l = allocated(vla1)         ! vla1-deallocated
-+
-+  allocate (vla2 (5, 2))
-+  vla2(:, :) = 2
-+
-+  pvla2 => vla2               ! pvla2-not-associated
-+  l = associated(pvla2)       ! pvla2-associated
-+
-+  pvla2(2, 1) = 42
-+
-+  pvla2 => null()
-+  l = associated(pvla2)       ! pvla2-set-to-null
-+end program vla
-Index: gdb-7.9.50.20150520/gdb/typeprint.c
-===================================================================
---- gdb-7.9.50.20150520.orig/gdb/typeprint.c	2015-05-29 08:27:02.688717523 +0200
-+++ gdb-7.9.50.20150520/gdb/typeprint.c	2015-05-29 08:27:06.270740317 +0200
-@@ -458,6 +458,13 @@ whatis_exp (char *exp, int show)
+--- gdb-7.10.50.20151027.orig/gdb/typeprint.c	2015-10-27 02:48:32.000000000 +0100
++++ gdb-7.10.50.20151027/gdb/typeprint.c	2015-11-03 21:13:35.959339113 +0100
+@@ -460,6 +460,13 @@ whatis_exp (char *exp, int show)
  
    type = value_type (val);
  
@@ -2650,14 +1255,14 @@ Index: gdb-7.9.50.20150520/gdb/typeprint.c
    get_user_print_options (&opts);
    if (opts.objectprint)
      {
-Index: gdb-7.9.50.20150520/gdb/valarith.c
+Index: gdb-7.10.50.20151027/gdb/valarith.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/valarith.c	2015-05-29 08:27:02.689717530 +0200
-+++ gdb-7.9.50.20150520/gdb/valarith.c	2015-05-29 08:27:06.271740324 +0200
-@@ -193,12 +193,31 @@ value_subscripted_rvalue (struct value *
+--- gdb-7.10.50.20151027.orig/gdb/valarith.c	2015-10-27 02:48:32.000000000 +0100
++++ gdb-7.10.50.20151027/gdb/valarith.c	2015-11-03 21:13:38.625351736 +0100
+@@ -193,9 +193,21 @@ value_subscripted_rvalue (struct value *
    struct type *array_type = check_typedef (value_type (array));
    struct type *elt_type = check_typedef (TYPE_TARGET_TYPE (array_type));
-   unsigned int elt_size = TYPE_LENGTH (elt_type);
+   unsigned int elt_size = type_length_units (elt_type);
 -  unsigned int elt_offs = elt_size * longest_to_int (index - lowerbound);
 +  unsigned int elt_offs = longest_to_int (index - lowerbound);
 +  LONGEST elt_stride = TYPE_BYTE_STRIDE (TYPE_INDEX_TYPE (array_type));
@@ -2675,26 +1280,15 @@ Index: gdb-7.9.50.20150520/gdb/valarith.c
 +    elt_offs *= elt_size;
 +
    if (index < lowerbound || (!TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED (array_type)
- 			     && elt_offs >= TYPE_LENGTH (array_type)))
--    error (_("no such vector element"));
-+    {
-+      if (TYPE_NOT_ASSOCIATED (array_type))
-+        error (_("no such vector element because not associated"));
-+      else if (TYPE_NOT_ALLOCATED (array_type))
-+        error (_("no such vector element because not allocated"));
-+      else
-+        error (_("no such vector element"));
-+    }
- 
-   if (VALUE_LVAL (array) == lval_memory && value_lazy (array))
-     v = allocate_value_lazy (elt_type);
-Index: gdb-7.9.50.20150520/gdb/valprint.c
+ 			     && elt_offs >= type_length_units (array_type)))
+     {
+Index: gdb-7.10.50.20151027/gdb/valprint.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/valprint.c	2015-05-29 08:27:02.690717536 +0200
-+++ gdb-7.9.50.20150520/gdb/valprint.c	2015-05-29 08:27:06.271740324 +0200
-@@ -303,6 +303,18 @@ valprint_check_validity (struct ui_file
- {
-   CHECK_TYPEDEF (type);
+--- gdb-7.10.50.20151027.orig/gdb/valprint.c	2015-10-27 02:48:32.000000000 +0100
++++ gdb-7.10.50.20151027/gdb/valprint.c	2015-11-03 21:13:35.959339113 +0100
+@@ -316,6 +316,18 @@ valprint_check_validity (struct ui_file
+       return 0;
+     }
  
 +  if (TYPE_NOT_ASSOCIATED (type))
 +    {
@@ -2711,26 +1305,7 @@ Index: gdb-7.9.50.20150520/gdb/valprint.c
    if (TYPE_CODE (type) != TYPE_CODE_UNION
        && TYPE_CODE (type) != TYPE_CODE_STRUCT
        && TYPE_CODE (type) != TYPE_CODE_ARRAY)
-@@ -359,6 +371,18 @@ val_print_invalid_address (struct ui_fil
-   fprintf_filtered (stream, _("<invalid address>"));
- }
- 
-+void
-+val_print_not_allocated (struct ui_file *stream)
-+{
-+  fprintf_filtered (stream, _("<not allocated>"));
-+}
-+
-+void
-+val_print_not_associated (struct ui_file *stream)
-+{
-+  fprintf_filtered (stream, _("<not associated>"));
-+}
-+
- /* A generic val_print that is suitable for use by language
-    implementations of the la_val_print method.  This function can
-    handle most type codes, though not all, notably exception
-@@ -802,12 +826,16 @@ static int
+@@ -1025,12 +1037,16 @@ static int
  value_check_printable (struct value *val, struct ui_file *stream,
  		       const struct value_print_options *options)
  {
@@ -2747,10 +1322,12 @@ Index: gdb-7.9.50.20150520/gdb/valprint.c
    if (value_entirely_optimized_out (val))
      {
        if (options->summary && !val_print_scalar_type_p (value_type (val)))
-@@ -833,6 +861,18 @@ value_check_printable (struct value *val
+@@ -1066,6 +1082,18 @@ value_check_printable (struct value *val
+     {
+       val_print_not_allocated (stream);
        return 0;
-     }
- 
++    }
++
 +  if (TYPE_NOT_ASSOCIATED (type))
 +    {
 +      val_print_not_associated (stream);
@@ -2761,15 +1338,13 @@ Index: gdb-7.9.50.20150520/gdb/valprint.c
 +    {
 +      val_print_not_allocated (stream);
 +      return 0;
-+    }
-+
-   return 1;
- }
+     }
  
-Index: gdb-7.9.50.20150520/gdb/valprint.h
+   return 1;
+Index: gdb-7.10.50.20151027/gdb/valprint.h
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/valprint.h	2015-05-29 08:27:02.691717543 +0200
-+++ gdb-7.9.50.20150520/gdb/valprint.h	2015-05-29 08:27:06.272740330 +0200
+--- gdb-7.10.50.20151027.orig/gdb/valprint.h	2015-10-27 02:48:32.000000000 +0100
++++ gdb-7.10.50.20151027/gdb/valprint.h	2015-11-03 21:13:35.959339113 +0100
 @@ -232,4 +232,8 @@ extern void print_command_parse_format (
  					struct format_data *fmtp);
  extern void print_value (struct value *val, const struct format_data *fmtp);
@@ -2779,10 +1354,10 @@ Index: gdb-7.9.50.20150520/gdb/valprint.h
 +extern void val_print_not_associated (struct ui_file *stream);
 +
  #endif
-Index: gdb-7.9.50.20150520/gdb/value.c
+Index: gdb-7.10.50.20151027/gdb/value.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/value.c	2015-05-29 08:27:02.693717555 +0200
-+++ gdb-7.9.50.20150520/gdb/value.c	2015-05-29 08:27:06.273740337 +0200
+--- gdb-7.10.50.20151027.orig/gdb/value.c	2015-10-27 02:48:32.000000000 +0100
++++ gdb-7.10.50.20151027/gdb/value.c	2015-11-03 21:13:38.731352238 +0100
 @@ -40,6 +40,7 @@
  #include "tracepoint.h"
  #include "cp-abi.h"
@@ -2791,7 +1366,7 @@ Index: gdb-7.9.50.20150520/gdb/value.c
  
  /* Prototypes for exported functions.  */
  
-@@ -1776,6 +1777,25 @@ set_value_component_location (struct val
+@@ -1788,6 +1789,25 @@ set_value_component_location (struct val
        if (funcs->copy_closure)
          component->location.computed.closure = funcs->copy_closure (whole);
      }
@@ -2817,14 +1392,14 @@ Index: gdb-7.9.50.20150520/gdb/value.c
  }
  
  \f
-@@ -3080,13 +3100,22 @@ value_primitive_field (struct value *arg
+@@ -3095,13 +3115,22 @@ value_primitive_field (struct value *arg
  	v = allocate_value_lazy (type);
        else
  	{
 -	  v = allocate_value (type);
 -	  value_contents_copy_raw (v, value_embedded_offset (v),
 -				   arg1, value_embedded_offset (arg1) + offset,
--				   TYPE_LENGTH (type));
+-				   type_length_units (type));
 +	  if (TYPE_DATA_LOCATION (type)
 +	      && TYPE_DATA_LOCATION_KIND (type) == PROP_CONST)
 +	    v = value_at_lazy (type, value_address (arg1) + offset);
@@ -2833,7 +1408,7 @@ Index: gdb-7.9.50.20150520/gdb/value.c
 +	      v = allocate_value (type);
 +	      value_contents_copy_raw (v, value_embedded_offset (v),
 +				       arg1, value_embedded_offset (arg1) + offset,
-+				       TYPE_LENGTH (type));
++				       type_length_units (type));
 +	    }
  	}
 -      v->offset = (value_offset (arg1) + offset
@@ -2846,7 +1421,7 @@ Index: gdb-7.9.50.20150520/gdb/value.c
      }
    set_value_component_location (v, arg1);
    VALUE_REGNUM (v) = VALUE_REGNUM (arg1);
-@@ -3674,7 +3703,8 @@ readjust_indirect_value_type (struct val
+@@ -3689,7 +3718,8 @@ readjust_indirect_value_type (struct val
  			      struct value *original_value)
  {
    /* Re-adjust type.  */
@@ -2856,7 +1431,7 @@ Index: gdb-7.9.50.20150520/gdb/value.c
  
    /* Add embedding info.  */
    set_value_enclosing_type (value, enc_type);
-@@ -3691,6 +3721,12 @@ coerce_ref (struct value *arg)
+@@ -3706,6 +3736,12 @@ coerce_ref (struct value *arg)
    struct value *retval;
    struct type *enc_type;
  
@@ -2869,7 +1444,7 @@ Index: gdb-7.9.50.20150520/gdb/value.c
    retval = coerce_ref_if_computed (arg);
    if (retval)
      return retval;
-@@ -3825,8 +3861,14 @@ value_fetch_lazy (struct value *val)
+@@ -3834,8 +3870,14 @@ value_fetch_lazy (struct value *val)
      }
    else if (VALUE_LVAL (val) == lval_memory)
      {
@@ -2885,11 +1460,11 @@ Index: gdb-7.9.50.20150520/gdb/value.c
  
        if (TYPE_LENGTH (type))
  	read_value_memory (val, 0, value_stack (val),
-Index: gdb-7.9.50.20150520/gdb/dwarf2loc.c
+Index: gdb-7.10.50.20151027/gdb/dwarf2loc.c
 ===================================================================
---- gdb-7.9.50.20150520.orig/gdb/dwarf2loc.c	2015-05-29 08:27:02.694717562 +0200
-+++ gdb-7.9.50.20150520/gdb/dwarf2loc.c	2015-05-29 08:27:06.274740343 +0200
-@@ -2294,6 +2294,11 @@ dwarf2_evaluate_loc_desc_full (struct ty
+--- gdb-7.10.50.20151027.orig/gdb/dwarf2loc.c	2015-10-27 02:48:31.000000000 +0100
++++ gdb-7.10.50.20151027/gdb/dwarf2loc.c	2015-11-03 21:13:35.959339113 +0100
+@@ -2347,6 +2347,11 @@ dwarf2_evaluate_loc_desc_full (struct ty
  	    int in_stack_memory = dwarf_expr_fetch_in_stack_memory (ctx, 0);
  
  	    do_cleanups (value_chain);
@@ -2901,7 +1476,7 @@ Index: gdb-7.9.50.20150520/gdb/dwarf2loc.c
  	    retval = value_at_lazy (type, address + byte_offset);
  	    if (in_stack_memory)
  	      set_value_stack (retval, 1);
-@@ -2577,6 +2582,19 @@ dwarf2_compile_property_to_c (struct ui_
+@@ -2639,6 +2644,19 @@ dwarf2_compile_property_to_c (struct ui_
  			     data, data + size, per_cu);
  }
  

diff --git a/gdb.spec b/gdb.spec
index ecdb3fc..e07b286 100644
--- a/gdb.spec
+++ b/gdb.spec
@@ -19,15 +19,15 @@ Summary: A GNU source-level debugger for C, C++, Fortran, Go and other languages
 Name: %{?scl_prefix}gdb
 
 # Freeze it when GDB gets branched
-%global snapsrc    20150706
+%global snapsrc    20151027
 # See timestamp of source gnulib installed into gdb/gnulib/ .
-%global snapgnulib 20121213
+%global snapgnulib 20150822
 %global tarname gdb-%{version}
-Version: 7.10
+Version: 7.10.50.%{snapsrc}
 
 # The release always contains a leading reserved number, start it at 1.
 # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
-Release: 29%{?dist}
+Release: 30%{?dist}
 
 License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and BSD and Public Domain and GFDL
 Group: Development/Debuggers
@@ -245,7 +245,7 @@ Patch231: gdb-6.3-bz202689-exec-from-pthread-test.patch
 
 # Backported fixups post the source tarball.
 #Xdrop: Just backports.
-#Patch232: gdb-upstream.patch
+Patch232: gdb-upstream.patch
 
 # Testcase for PPC Power6/DFP instructions disassembly (BZ 230000).
 #=fedoratest+ppc
@@ -542,19 +542,14 @@ Patch927: gdb-python-gil.patch
 # Fix jit-reader.h for multi-lib.
 Patch978: gdb-jit-reader-multilib.patch
 
-# Fix 'Make the probes-based dynamic linker interface more robust to
-# errors' (Sergio Durigan Junior, RH BZ 1259132).
-Patch1029: gdb-probes-based-interface-robust-1of2.patch
-Patch1030: gdb-probes-based-interface-robust-2of2.patch
-
-# [ppc64le] Use skip_entrypoint for skip_trampoline_code (RH BZ 1260558).
-Patch1031: gdb-rhbz1260558-ppc64le-skip_trampoline_code.patch
-
 # Fix the pahole command breakage due to its Python3 port (RH BZ 1264532).
 Patch1044: gdb-pahole-python2.patch
 
-# Fix internal error on DW_OP_bregx(-1) (RH BZ 1270564).
-Patch1052: gdb-rhbz1270564-invalid-dwarf-regno.patch
+# Fix callframecfa.exp and typeddwarf.exp rebase regression.
+Patch1054: gdb-nonstop-scratchpad.patch
+
+# testsuite: Fortran: allocate()d memory is uninitialized.
+Patch1056: gdb-fortran-allocate-not-inited.patch
 
 %if 0%{!?rhel:1} || 0%{?rhel} > 6
 # RL_STATE_FEDORA_GDB would not be found for:
@@ -747,7 +742,7 @@ find -name "*.info*"|xargs rm -f
 # Match the Fedora's version info.
 %patch2 -p1
 
-#patch232 -p1
+%patch232 -p1
 %patch349 -p1
 %patch888 -p1
 %patch983 -p1
@@ -851,10 +846,8 @@ find -name "*.info*"|xargs rm -f
 %patch925 -p1
 %patch927 -p1
 %patch978 -p1
-%patch1029 -p1
-%patch1030 -p1
-%patch1031 -p1
-%patch1052 -p1
+%patch1054 -p1
+%patch1056 -p1
 
 %patch848 -p1
 %if 0%{!?el6:1}
@@ -1370,6 +1363,9 @@ then
 fi
 
 %changelog
+* Tue Nov  3 2015 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.10.50.20151027-30.fc24
+- Rebase to FSF GDB 7.10.50.20151027 (trunk snapshot).
+
 * Mon Oct 12 2015 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.10-29.fc23
 - Fix internal error on DW_OP_bregx(-1) (RH BZ 1270564).
 

diff --git a/sources b/sources
index 89188fb..bf7aa02 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
 7ad32d3894aaf90d00a4343a735c3e1c  gdb-libstdc++-v3-python-r225521.tar.xz
-2a35bac41fa8e10bf04f3a0dd7f7f363  gdb-7.10.tar.xz
+08819fb3e231bbd986695bb4edcd271d  gdb-7.10.50.20151027.tar.xz

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

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

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

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