From 23f398e61a85e64e6d7f6288e7ae000db543885f Mon Sep 17 00:00:00 2001 From: Jan Kratochvil Date: Tue, 3 Nov 2015 22:28:36 +0100 Subject: [PATCH] Rebase to FSF GDB 7.10.50.20151027 (trunk snapshot). --- .gitignore | 2 +- gdb-6.3-readnever-20050907.patch | 42 +- gdb-6.6-buildid-locate.patch | 119 +- gdb-6.6-bz235197-fork-detach-info.patch | 38 +- ....6-scheduler_locking-step-is-default.patch | 32 +- gdb-archer-vla-tests.patch | 209 +- gdb-attach-fail-reasons-5of5.patch | 92 +- gdb-fortran-allocate-not-inited.patch | 61 + gdb-nonstop-scratchpad.patch | 268 +++ gdb-probes-based-interface-robust-1of2.patch | 193 -- gdb-probes-based-interface-robust-2of2.patch | 194 -- ...1260558-ppc64le-skip_trampoline_code.patch | 257 --- gdb-rhbz1270564-invalid-dwarf-regno.patch | 220 -- gdb-rhbz795424-bitpos-20of25.patch | 1037 +++++----- gdb-rhbz795424-bitpos-21of25.patch | 96 +- gdb-rhbz795424-bitpos-22of25.patch | 235 +-- gdb-rhbz795424-bitpos-23of25.patch | 302 ++- gdb-rhbz795424-bitpos-25of25.patch | 28 +- gdb-rhbz795424-bitpos-lazyvalue.patch | 34 +- gdb-upstream.patch | 69 + gdb-vla-intel-04of23-fix.patch | 26 +- gdb-vla-intel-stringbt-fix.patch | 14 - gdb-vla-intel.patch | 1771 ++--------------- gdb.spec | 36 +- sources | 2 +- 25 files changed, 1746 insertions(+), 3631 deletions(-) create mode 100644 gdb-fortran-allocate-not-inited.patch create mode 100644 gdb-nonstop-scratchpad.patch delete mode 100644 gdb-probes-based-interface-robust-1of2.patch delete mode 100644 gdb-probes-based-interface-robust-2of2.patch delete mode 100644 gdb-rhbz1260558-ppc64le-skip_trampoline_code.patch delete mode 100644 gdb-rhbz1270564-invalid-dwarf-regno.patch create mode 100644 gdb-upstream.patch 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 #include -@@ -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' " "second: print temp1" +gdb_test "p temp2" " = '2' " "second: print temp2" +gdb_test "p temp3" " = '3' " "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' " -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\]* = " "p varx unallocated" +gdb_test "ptype varx" "type = " "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\]* = (|.*(Cannot access it|Unable to access the object) because the object is not associated.)" "p varv deassociated" +gdb_test "ptype varv" "type = (|.*(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\]* = " "p varx deallocated" +gdb_test "ptype varx" "type = " "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 @@ -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 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 + + * 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 + 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 + 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 + + * 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 -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 - - * probe.h (struct probe_ops) : 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 -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 -, 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 - - * 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 -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 - - * 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 -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 - - * 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 -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 - - * 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 - - * 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, - ¤t_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 . */ -+ -+#include -+ -+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 . */ -+ -+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 . -+ -+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 - - * findvar.c (address_from_register): Check REGNUM validity. - -gdb/testsuite/ChangeLog -2015-10-12 Jan Kratochvil - - * 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 . */ -+ -+ .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 . -+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) } @@ -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 . */ 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 + + * 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.* ") ++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.* " + +-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); -+ - - /* 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); -@@ -14431,29 +14437,92 @@ read_tag_string_type (struct die_info *d + /* 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); + } + + 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); +@@ -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)) + 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)) + 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_allocated and set in type. */ -+ attr = dwarf2_attr (die, DW_AT_allocated, cu); -+ if (attr_form_is_block (attr)) -+ { -+ struct dynamic_prop 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; -+ -+ 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; -+ } -+ } -+ /* 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 + f_type_print_base (type, stream, show, level); +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 +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-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 . -+ -+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" " = " \ -+ "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" " = " "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 . -+ -+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 -=================================================================== ---- /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,321 +1002,10 @@ 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 @@ -+# 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 . -+ -+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 -+} -+ -+# 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" " = " "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" " = " "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 . -+ -+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 -+} -+ -+# 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 -=================================================================== ---- /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 . -+ -+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 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 = " "ptype vla1 not initialized" -+gdb_test "ptype vla2" "type = " "ptype vla2 not initialized" -+gdb_test "ptype pvla" "type = " "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 = " "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 = " "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 = " "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 -=================================================================== ---- /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 @@ -+# 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 . -+ -+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 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 ++++ 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. + @@ -1720,10 +1051,10 @@ Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-stride.exp +gdb_continue_to_breakpoint "single-element" +gdb_test "print pvla" " = \\\(5\\\)" "print single-element" +gdb_test "print pvla(1)" " = 5" "print one single-element" -Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-stride.f90 +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-stride.f90 2015-05-29 08:27:06.268740305 +0200 ++++ 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. +! @@ -1755,11 +1086,11 @@ Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-stride.f90 + + pvla => null() ! single-element +end program vla_stride -Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-strings.exp +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-strings.exp 2015-05-29 08:27:06.268740305 +0200 -@@ -0,0 +1,104 @@ ++++ 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 @@ -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 and -+! Jan Kratochvil . -+! Modified for the GDB testcases by Keven Boell . -+ -+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 . -+ -+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 . -+ -+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 . -+ -+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 . -+ -+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" " = " "print non-allocated vla1" -+gdb_test "print &vla1" \ -+ " = \\\(PTR TO -> \\\( real\\\(kind=4\\\) \\\(\\\)\\\)\\\) $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" " = " "print undefined pvla" -+gdb_test "print &pvla" \ -+ " = \\\(PTR TO -> \\\( real\\\(kind=4\\\) \\\(\\\)\\\)\\\) $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" " = " \ -+ "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 . -+ -+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 . -+ -+# 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=\"\"" "evaluate not allocated vla" -+ -+mi_create_varobj_checked vla1_not_allocated vla1 "" \ -+ "create local variable vla1_not_allocated" -+mi_gdb_test "501-var-info-type vla1_not_allocated" \ -+ "501\\^done,type=\"\"" \ -+ "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=\"\"" "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=\"\"" "evaluate not associated vla" -+ -+mi_create_varobj_checked pvla2_not_associated pvla2 "" \ -+ "create local variable pvla2_not_associated" -+mi_gdb_test "581-var-info-type pvla2_not_associated" \ -+ "581\\^done,type=\"\"" \ -+ "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=\"\"" "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 . -+ -+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, _("")); - } - -+void -+val_print_not_allocated (struct ui_file *stream) -+{ -+ fprintf_filtered (stream, _("")); -+} -+ -+void -+val_print_not_associated (struct ui_file *stream) -+{ -+ fprintf_filtered (stream, _("")); -+} -+ - /* 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 } -@@ -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 - 7.10.50.20151027-30.fc24 +- Rebase to FSF GDB 7.10.50.20151027 (trunk snapshot). + * Mon Oct 12 2015 Jan Kratochvil - 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