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

This commit is contained in:
Jan Kratochvil 2017-04-21 14:47:41 +02:00
parent 5e93e40f3c
commit 5bb0f3bac3
16 changed files with 947 additions and 868 deletions

2
.gitignore vendored
View File

@ -1,3 +1,3 @@
/gdb-libstdc++-v3-python-6.3.1-20170212.tar.xz
/v1.5.tar.gz
/gdb-7.12.50.20170309.tar.xz
/gdb-7.99.90.20170420.tar.xz

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

74
gdb-release-werror.patch Normal file
View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,3 +1,3 @@
SHA512 (gdb-libstdc++-v3-python-6.3.1-20170212.tar.xz) = 22ad4187d6bb9851ecf389c3ff4c68f33ccf5602d8f51bc337215c700d56c9073b3fb40ece3f58901315161f76a4fd1d6463c623650317ad96fd9e3f4aba7252
SHA512 (v1.5.tar.gz) = ea3e76291d5b077d5b42061898a1f70af6cbdbccb7d05c59904f322ca1c03f7596cac6a966b80b12d2c2d86212f17d6bde02b1daf92be62e49abcb234e2bacbd
SHA512 (gdb-7.12.50.20170309.tar.xz) = 2aa38d71cb769c623f739f77e5e47c8c2b73f9bcfc4978841c881dfb002fb2ce084e7f7cd7248fe2a0455e487b77d1c0fa17edcbcdd2c43d85ba4de043d26427
SHA512 (gdb-7.99.90.20170420.tar.xz) = 8fe8e2a69a94d3ea8861a2aaeb46cd3e3e8423efe0a74a7bb336ee0df301321f693f360166518b3f595c94bfad893fb708c92962f79bae13b6564db027a1516f