Rebase to FSF GDB 7.11.90.20160807 (pre-7.12 branch snapshot).
This commit is contained in:
parent
5c5eb100c4
commit
9faadbe569
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,2 +1,2 @@
|
||||
/gdb-libstdc++-v3-python-r225521.tar.xz
|
||||
/gdb-7.11.50.20160721.tar.xz
|
||||
/gdb-7.11.90.20160807.tar.xz
|
||||
|
@ -2,7 +2,7 @@ http://sourceware.org/gdb/wiki/ProjectArcher
|
||||
http://sourceware.org/gdb/wiki/ArcherBranchManagement
|
||||
|
||||
GIT snapshot:
|
||||
commit 5e8c6e345d63e61d3c31e67a55db25a6824787b2
|
||||
commit cfee64ee869a6a6e4ab0b64af149d4cf59517d80
|
||||
|
||||
tromey/python
|
||||
|
||||
@ -16,7 +16,7 @@ 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 16d5f27..7346d46 100644
|
||||
index 5af6103..9c69cb0 100644
|
||||
--- a/gdb/Makefile.in
|
||||
+++ b/gdb/Makefile.in
|
||||
@@ -1553,6 +1553,12 @@ stamp-h: $(srcdir)/config.in config.status
|
||||
@ -33,7 +33,7 @@ index 16d5f27..7346d46 100644
|
||||
$(SHELL) config.status --recheck
|
||||
|
||||
diff --git a/gdb/data-directory/Makefile.in b/gdb/data-directory/Makefile.in
|
||||
index 0beca55..f499b53 100644
|
||||
index 3f23516..b5d6390 100644
|
||||
--- a/gdb/data-directory/Makefile.in
|
||||
+++ b/gdb/data-directory/Makefile.in
|
||||
@@ -66,7 +66,10 @@ PYTHON_FILE_LIST = \
|
||||
@ -57,7 +57,7 @@ index 0beca55..f499b53 100644
|
||||
gdb/printer/bound_registers.py
|
||||
|
||||
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
|
||||
index a068622..64abaa7 100644
|
||||
index f5dde61..1d92bd6 100644
|
||||
--- a/gdb/doc/gdb.texinfo
|
||||
+++ b/gdb/doc/gdb.texinfo
|
||||
@@ -1225,6 +1225,16 @@ for remote debugging.
|
||||
@ -78,7 +78,7 @@ index a068622..64abaa7 100644
|
||||
@item -tui
|
||||
@cindex @code{--tui}
|
||||
diff --git a/gdb/doc/python.texi b/gdb/doc/python.texi
|
||||
index 6623d8e..a71f5e1 100644
|
||||
index a17e37d..c56068b 100644
|
||||
--- a/gdb/doc/python.texi
|
||||
+++ b/gdb/doc/python.texi
|
||||
@@ -88,8 +88,6 @@ containing @code{end}. For example:
|
||||
@ -443,7 +443,7 @@ index 0000000..8742680
|
||||
+
|
||||
+InScope ()
|
||||
diff --git a/gdb/python/python.c b/gdb/python/python.c
|
||||
index 3a272a9..e7e61cf 100644
|
||||
index 621e201..703a1a0 100644
|
||||
--- a/gdb/python/python.c
|
||||
+++ b/gdb/python/python.c
|
||||
@@ -95,6 +95,8 @@ const struct extension_language_defn extension_language_python =
|
||||
@ -455,7 +455,7 @@ index 3a272a9..e7e61cf 100644
|
||||
#include "target.h"
|
||||
#include "gdbthread.h"
|
||||
#include "interps.h"
|
||||
@@ -1254,6 +1256,90 @@ gdbpy_print_stack (void)
|
||||
@@ -1263,6 +1265,92 @@ gdbpy_print_stack (void)
|
||||
|
||||
/* Return the current Progspace.
|
||||
There always is one. */
|
||||
@ -513,7 +513,9 @@ index 3a272a9..e7e61cf 100644
|
||||
+ for (i = 1; i < argc; i++)
|
||||
+ {
|
||||
+ size_t len = mbstowcs (NULL, argv[i], 0);
|
||||
+ size_t len2;
|
||||
+ /* Python-related GDB sources are built with -DNDEBUG
|
||||
+ https://sourceware.org/bugzilla/show_bug.cgi?id=20445 */
|
||||
+ size_t len2 ATTRIBUTE_UNUSED;
|
||||
+
|
||||
+ if (len == (size_t) -1)
|
||||
+ {
|
||||
@ -546,7 +548,7 @@ index 3a272a9..e7e61cf 100644
|
||||
|
||||
static PyObject *
|
||||
gdbpy_get_current_progspace (PyObject *unused1, PyObject *unused2)
|
||||
@@ -1972,6 +2058,8 @@ PyMethodDef python_GdbMethods[] =
|
||||
@@ -1981,6 +2069,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." },
|
||||
@ -567,10 +569,10 @@ index b810187..a3620ab 100644
|
||||
+
|
||||
#endif /* GDB_PYTHON_H */
|
||||
diff --git a/gdb/testsuite/gdb.gdb/selftest.exp b/gdb/testsuite/gdb.gdb/selftest.exp
|
||||
index af0026c..6c9bbb2 100644
|
||||
index 2fdd9e3..391900d 100644
|
||||
--- a/gdb/testsuite/gdb.gdb/selftest.exp
|
||||
+++ b/gdb/testsuite/gdb.gdb/selftest.exp
|
||||
@@ -92,6 +92,10 @@ proc do_steps_and_nexts {} {
|
||||
@@ -87,6 +87,10 @@ proc do_steps_and_nexts {} {
|
||||
set description "step over cmdarg_vec initialization"
|
||||
set command "step"
|
||||
}
|
||||
|
@ -37,13 +37,13 @@ gdb/gdbserver/
|
||||
(linux_create_inferior, linux_tracefork_child): Call it instead of
|
||||
direct ptrace.
|
||||
|
||||
Index: gdb-7.10.50.20160106/gdb/nat/linux-ptrace.c
|
||||
Index: gdb-7.11.90.20160807/gdb/nat/linux-ptrace.c
|
||||
===================================================================
|
||||
--- gdb-7.10.50.20160106.orig/gdb/nat/linux-ptrace.c 2016-01-08 19:15:57.580707944 +0100
|
||||
+++ gdb-7.10.50.20160106/gdb/nat/linux-ptrace.c 2016-01-08 19:16:02.654736246 +0100
|
||||
@@ -24,6 +24,10 @@
|
||||
#include "gdb_wait.h"
|
||||
--- gdb-7.11.90.20160807.orig/gdb/nat/linux-ptrace.c 2016-08-07 21:19:29.947833017 +0200
|
||||
+++ gdb-7.11.90.20160807/gdb/nat/linux-ptrace.c 2016-08-07 21:19:37.650904142 +0200
|
||||
@@ -25,6 +25,10 @@
|
||||
#include "gdb_ptrace.h"
|
||||
#include "gregset.h"
|
||||
|
||||
+#ifdef HAVE_SELINUX_SELINUX_H
|
||||
+# include <selinux/selinux.h>
|
||||
@ -52,7 +52,7 @@ Index: gdb-7.10.50.20160106/gdb/nat/linux-ptrace.c
|
||||
/* Stores the ptrace options supported by the running kernel.
|
||||
A value of -1 means we did not check for features yet. A value
|
||||
of 0 means there are no supported features. */
|
||||
@@ -48,6 +52,8 @@
|
||||
@@ -49,6 +53,8 @@
|
||||
buffer_xml_printf (buffer, _("process %d is a zombie "
|
||||
"- the process has already terminated"),
|
||||
(int) pid);
|
||||
@ -61,7 +61,7 @@ Index: gdb-7.10.50.20160106/gdb/nat/linux-ptrace.c
|
||||
}
|
||||
|
||||
/* See linux-ptrace.h. */
|
||||
@@ -594,6 +600,22 @@
|
||||
@@ -592,6 +598,22 @@
|
||||
linux_ptrace_test_ret_to_nx ();
|
||||
}
|
||||
|
||||
@ -84,11 +84,11 @@ Index: gdb-7.10.50.20160106/gdb/nat/linux-ptrace.c
|
||||
/* Extract extended ptrace event from wait status. */
|
||||
|
||||
int
|
||||
Index: gdb-7.10.50.20160106/gdb/nat/linux-ptrace.h
|
||||
Index: gdb-7.11.90.20160807/gdb/nat/linux-ptrace.h
|
||||
===================================================================
|
||||
--- gdb-7.10.50.20160106.orig/gdb/nat/linux-ptrace.h 2016-01-08 19:15:57.581707950 +0100
|
||||
+++ gdb-7.10.50.20160106/gdb/nat/linux-ptrace.h 2016-01-08 19:16:02.655736251 +0100
|
||||
@@ -164,6 +164,7 @@
|
||||
--- gdb-7.11.90.20160807.orig/gdb/nat/linux-ptrace.h 2016-08-07 21:19:29.947833017 +0200
|
||||
+++ gdb-7.11.90.20160807/gdb/nat/linux-ptrace.h 2016-08-07 21:19:37.650904142 +0200
|
||||
@@ -185,6 +185,7 @@
|
||||
extern char *linux_ptrace_attach_fail_reason_string (ptid_t ptid, int err);
|
||||
|
||||
extern void linux_ptrace_init_warnings (void);
|
||||
@ -96,11 +96,11 @@ Index: gdb-7.10.50.20160106/gdb/nat/linux-ptrace.h
|
||||
extern void linux_check_ptrace_features (void);
|
||||
extern void linux_enable_event_reporting (pid_t pid, int attached);
|
||||
extern void linux_disable_event_reporting (pid_t pid);
|
||||
Index: gdb-7.10.50.20160106/gdb/configure.ac
|
||||
Index: gdb-7.11.90.20160807/gdb/configure.ac
|
||||
===================================================================
|
||||
--- gdb-7.10.50.20160106.orig/gdb/configure.ac 2016-01-08 19:15:57.582707955 +0100
|
||||
+++ gdb-7.10.50.20160106/gdb/configure.ac 2016-01-08 19:16:02.656736257 +0100
|
||||
@@ -2077,6 +2077,10 @@
|
||||
--- gdb-7.11.90.20160807.orig/gdb/configure.ac 2016-08-07 21:19:29.947833017 +0200
|
||||
+++ gdb-7.11.90.20160807/gdb/configure.ac 2016-08-07 21:19:37.650904142 +0200
|
||||
@@ -2108,6 +2108,10 @@
|
||||
esac
|
||||
AC_DEFINE_UNQUOTED(GDBINIT,"$gdbinit",[The .gdbinit filename.])
|
||||
|
||||
@ -111,11 +111,11 @@ Index: gdb-7.10.50.20160106/gdb/configure.ac
|
||||
dnl Handle optional features that can be enabled.
|
||||
|
||||
# Support for --with-sysroot is a copy of GDB_AC_WITH_DIR,
|
||||
Index: gdb-7.10.50.20160106/gdb/gdbserver/configure.ac
|
||||
Index: gdb-7.11.90.20160807/gdb/gdbserver/configure.ac
|
||||
===================================================================
|
||||
--- gdb-7.10.50.20160106.orig/gdb/gdbserver/configure.ac 2016-01-08 19:15:57.582707955 +0100
|
||||
+++ gdb-7.10.50.20160106/gdb/gdbserver/configure.ac 2016-01-08 19:16:02.656736257 +0100
|
||||
@@ -524,6 +524,10 @@
|
||||
--- gdb-7.11.90.20160807.orig/gdb/gdbserver/configure.ac 2016-08-07 21:19:29.948833027 +0200
|
||||
+++ gdb-7.11.90.20160807/gdb/gdbserver/configure.ac 2016-08-07 21:19:37.651904151 +0200
|
||||
@@ -458,6 +458,10 @@
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -126,11 +126,11 @@ Index: gdb-7.10.50.20160106/gdb/gdbserver/configure.ac
|
||||
AC_SUBST(GDBSERVER_DEPFILES)
|
||||
AC_SUBST(GDBSERVER_LIBS)
|
||||
AC_SUBST(srv_xmlbuiltin)
|
||||
Index: gdb-7.10.50.20160106/gdb/gdbserver/linux-low.c
|
||||
Index: gdb-7.11.90.20160807/gdb/gdbserver/linux-low.c
|
||||
===================================================================
|
||||
--- gdb-7.10.50.20160106.orig/gdb/gdbserver/linux-low.c 2016-01-08 19:15:57.585707972 +0100
|
||||
+++ gdb-7.10.50.20160106/gdb/gdbserver/linux-low.c 2016-01-08 19:16:02.658736268 +0100
|
||||
@@ -853,6 +853,29 @@
|
||||
--- gdb-7.11.90.20160807.orig/gdb/gdbserver/linux-low.c 2016-08-07 21:19:29.949833036 +0200
|
||||
+++ gdb-7.11.90.20160807/gdb/gdbserver/linux-low.c 2016-08-07 21:19:37.652904161 +0200
|
||||
@@ -933,6 +933,29 @@
|
||||
return lwp;
|
||||
}
|
||||
|
||||
@ -160,7 +160,7 @@ Index: gdb-7.10.50.20160106/gdb/gdbserver/linux-low.c
|
||||
/* Start an inferior process and returns its pid.
|
||||
ALLARGS is a vector of program-name and args. */
|
||||
|
||||
@@ -876,7 +899,7 @@
|
||||
@@ -956,7 +979,7 @@
|
||||
if (pid == 0)
|
||||
{
|
||||
close_most_fds ();
|
||||
@ -169,10 +169,10 @@ Index: gdb-7.10.50.20160106/gdb/gdbserver/linux-low.c
|
||||
|
||||
setpgid (0, 0);
|
||||
|
||||
Index: gdb-7.10.50.20160106/gdb/inf-ptrace.c
|
||||
Index: gdb-7.11.90.20160807/gdb/inf-ptrace.c
|
||||
===================================================================
|
||||
--- gdb-7.10.50.20160106.orig/gdb/inf-ptrace.c 2016-01-08 19:15:57.586707977 +0100
|
||||
+++ gdb-7.10.50.20160106/gdb/inf-ptrace.c 2016-01-08 19:16:02.659736274 +0100
|
||||
--- gdb-7.11.90.20160807.orig/gdb/inf-ptrace.c 2016-08-07 21:19:29.949833036 +0200
|
||||
+++ gdb-7.11.90.20160807/gdb/inf-ptrace.c 2016-08-07 21:19:37.653904170 +0200
|
||||
@@ -79,7 +79,15 @@
|
||||
inf_ptrace_me (void)
|
||||
{
|
||||
@ -189,11 +189,11 @@ Index: gdb-7.10.50.20160106/gdb/inf-ptrace.c
|
||||
}
|
||||
|
||||
/* Start a new inferior Unix child process. EXEC_FILE is the file to
|
||||
Index: gdb-7.10.50.20160106/gdb/linux-nat.c
|
||||
Index: gdb-7.11.90.20160807/gdb/linux-nat.c
|
||||
===================================================================
|
||||
--- gdb-7.10.50.20160106.orig/gdb/linux-nat.c 2016-01-08 19:15:57.587707983 +0100
|
||||
+++ gdb-7.10.50.20160106/gdb/linux-nat.c 2016-01-08 19:16:02.660736279 +0100
|
||||
@@ -1016,6 +1016,7 @@
|
||||
--- gdb-7.11.90.20160807.orig/gdb/linux-nat.c 2016-08-07 21:19:29.950833045 +0200
|
||||
+++ gdb-7.11.90.20160807/gdb/linux-nat.c 2016-08-07 21:19:37.654904179 +0200
|
||||
@@ -1102,6 +1102,7 @@
|
||||
{
|
||||
struct cleanup *restore_personality
|
||||
= maybe_disable_address_space_randomization (disable_randomization);
|
||||
@ -201,7 +201,7 @@ Index: gdb-7.10.50.20160106/gdb/linux-nat.c
|
||||
|
||||
/* The fork_child mechanism is synchronous and calls target_wait, so
|
||||
we have to mask the async mode. */
|
||||
@@ -1023,7 +1024,28 @@
|
||||
@@ -1109,7 +1110,28 @@
|
||||
/* Make sure we report all signals during startup. */
|
||||
linux_nat_pass_signals (ops, 0, NULL);
|
||||
|
||||
@ -231,11 +231,11 @@ Index: gdb-7.10.50.20160106/gdb/linux-nat.c
|
||||
|
||||
do_cleanups (restore_personality);
|
||||
}
|
||||
Index: gdb-7.10.50.20160106/gdb/config.in
|
||||
Index: gdb-7.11.90.20160807/gdb/config.in
|
||||
===================================================================
|
||||
--- gdb-7.10.50.20160106.orig/gdb/config.in 2016-01-08 19:15:57.588707989 +0100
|
||||
+++ gdb-7.10.50.20160106/gdb/config.in 2016-01-08 19:16:02.660736279 +0100
|
||||
@@ -264,6 +264,9 @@
|
||||
--- gdb-7.11.90.20160807.orig/gdb/config.in 2016-08-07 21:19:29.950833045 +0200
|
||||
+++ gdb-7.11.90.20160807/gdb/config.in 2016-08-07 21:19:37.654904179 +0200
|
||||
@@ -267,6 +267,9 @@
|
||||
/* Define if librpm library is being used. */
|
||||
#undef HAVE_LIBRPM
|
||||
|
||||
@ -245,7 +245,7 @@ Index: gdb-7.10.50.20160106/gdb/config.in
|
||||
/* Define to 1 if you have the <libunwind-ia64.h> header file. */
|
||||
#undef HAVE_LIBUNWIND_IA64_H
|
||||
|
||||
@@ -396,6 +399,9 @@
|
||||
@@ -399,6 +402,9 @@
|
||||
/* Define to 1 if you have the `scm_new_smob' function. */
|
||||
#undef HAVE_SCM_NEW_SMOB
|
||||
|
||||
@ -255,11 +255,11 @@ Index: gdb-7.10.50.20160106/gdb/config.in
|
||||
/* Define to 1 if you have the `setlocale' function. */
|
||||
#undef HAVE_SETLOCALE
|
||||
|
||||
Index: gdb-7.10.50.20160106/gdb/configure
|
||||
Index: gdb-7.11.90.20160807/gdb/configure
|
||||
===================================================================
|
||||
--- gdb-7.10.50.20160106.orig/gdb/configure 2016-01-08 19:15:57.593708017 +0100
|
||||
+++ gdb-7.10.50.20160106/gdb/configure 2016-01-08 19:16:02.665736307 +0100
|
||||
@@ -14653,6 +14653,64 @@
|
||||
--- gdb-7.11.90.20160807.orig/gdb/configure 2016-08-07 21:19:29.953833073 +0200
|
||||
+++ gdb-7.11.90.20160807/gdb/configure 2016-08-07 21:19:37.658904216 +0200
|
||||
@@ -14642,6 +14642,64 @@
|
||||
_ACEOF
|
||||
|
||||
|
||||
@ -324,11 +324,11 @@ Index: gdb-7.10.50.20160106/gdb/configure
|
||||
|
||||
# Support for --with-sysroot is a copy of GDB_AC_WITH_DIR,
|
||||
# except that the argument to --with-sysroot is optional.
|
||||
Index: gdb-7.10.50.20160106/gdb/gdbserver/config.in
|
||||
Index: gdb-7.11.90.20160807/gdb/gdbserver/config.in
|
||||
===================================================================
|
||||
--- gdb-7.10.50.20160106.orig/gdb/gdbserver/config.in 2016-01-08 19:15:57.595708028 +0100
|
||||
+++ gdb-7.10.50.20160106/gdb/gdbserver/config.in 2016-01-08 19:16:02.665736307 +0100
|
||||
@@ -117,6 +117,9 @@
|
||||
--- gdb-7.11.90.20160807.orig/gdb/gdbserver/config.in 2016-08-07 21:19:29.954833082 +0200
|
||||
+++ gdb-7.11.90.20160807/gdb/gdbserver/config.in 2016-08-07 21:19:37.658904216 +0200
|
||||
@@ -120,6 +120,9 @@
|
||||
/* Define to 1 if you have the `mcheck' library (-lmcheck). */
|
||||
#undef HAVE_LIBMCHECK
|
||||
|
||||
@ -338,7 +338,7 @@ Index: gdb-7.10.50.20160106/gdb/gdbserver/config.in
|
||||
/* Define if the target supports branch tracing. */
|
||||
#undef HAVE_LINUX_BTRACE
|
||||
|
||||
@@ -193,6 +196,9 @@
|
||||
@@ -196,6 +199,9 @@
|
||||
/* Define to 1 if you have the `pwrite' function. */
|
||||
#undef HAVE_PWRITE
|
||||
|
||||
@ -348,11 +348,11 @@ Index: gdb-7.10.50.20160106/gdb/gdbserver/config.in
|
||||
/* Define to 1 if you have the `setns' function. */
|
||||
#undef HAVE_SETNS
|
||||
|
||||
Index: gdb-7.10.50.20160106/gdb/gdbserver/configure
|
||||
Index: gdb-7.11.90.20160807/gdb/gdbserver/configure
|
||||
===================================================================
|
||||
--- gdb-7.10.50.20160106.orig/gdb/gdbserver/configure 2016-01-08 19:15:57.597708039 +0100
|
||||
+++ gdb-7.10.50.20160106/gdb/gdbserver/configure 2016-01-08 19:16:02.667736318 +0100
|
||||
@@ -7311,6 +7311,64 @@
|
||||
--- gdb-7.11.90.20160807.orig/gdb/gdbserver/configure 2016-08-07 21:19:29.955833091 +0200
|
||||
+++ gdb-7.11.90.20160807/gdb/gdbserver/configure 2016-08-07 21:19:37.660904235 +0200
|
||||
@@ -7530,6 +7530,64 @@
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
Index: gdb-7.11.50.20160630/gdb/config/i386/linux64.mh
|
||||
Index: gdb-7.11.90.20160807/gdb/config/i386/linux64.mh
|
||||
===================================================================
|
||||
--- gdb-7.11.50.20160630.orig/gdb/config/i386/linux64.mh 2016-07-02 22:59:18.213248752 +0200
|
||||
+++ gdb-7.11.50.20160630/gdb/config/i386/linux64.mh 2016-07-02 22:59:25.716313911 +0200
|
||||
--- gdb-7.11.90.20160807.orig/gdb/config/i386/linux64.mh 2016-08-07 22:27:13.889285274 +0200
|
||||
+++ gdb-7.11.90.20160807/gdb/config/i386/linux64.mh 2016-08-07 22:29:20.451311124 +0200
|
||||
@@ -7,7 +7,7 @@
|
||||
linux-procfs.o linux-ptrace.o linux-btrace.o \
|
||||
linux-waitpid.o linux-personality.o x86-linux.o \
|
||||
@ -11,10 +11,10 @@ Index: gdb-7.11.50.20160630/gdb/config/i386/linux64.mh
|
||||
NAT_CDEPS = $(srcdir)/proc-service.list
|
||||
|
||||
# The dynamically loaded libthread_db needs access to symbols in the
|
||||
Index: gdb-7.11.50.20160630/gdb/config/i386/linux.mh
|
||||
Index: gdb-7.11.90.20160807/gdb/config/i386/linux.mh
|
||||
===================================================================
|
||||
--- gdb-7.11.50.20160630.orig/gdb/config/i386/linux.mh 2016-07-02 22:59:18.213248752 +0200
|
||||
+++ gdb-7.11.50.20160630/gdb/config/i386/linux.mh 2016-07-02 22:59:25.716313911 +0200
|
||||
--- gdb-7.11.90.20160807.orig/gdb/config/i386/linux.mh 2016-08-07 22:27:13.889285274 +0200
|
||||
+++ gdb-7.11.90.20160807/gdb/config/i386/linux.mh 2016-08-07 22:29:20.451311124 +0200
|
||||
@@ -1,6 +1,6 @@
|
||||
# Host: Intel 386 running GNU/Linux.
|
||||
|
||||
@ -23,10 +23,10 @@ Index: gdb-7.11.50.20160630/gdb/config/i386/linux.mh
|
||||
NATDEPFILES= inf-ptrace.o fork-child.o \
|
||||
x86-nat.o x86-dregs.o i386-linux-nat.o x86-linux-nat.o \
|
||||
proc-service.o linux-thread-db.o \
|
||||
Index: gdb-7.11.50.20160630/gdb/config/i386/nm-linux.h
|
||||
Index: gdb-7.11.90.20160807/gdb/config/i386/nm-linux.h
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.11.50.20160630/gdb/config/i386/nm-linux.h 2016-07-02 22:59:25.716313911 +0200
|
||||
+++ gdb-7.11.90.20160807/gdb/config/i386/nm-linux.h 2016-08-07 22:29:20.451311124 +0200
|
||||
@@ -0,0 +1,28 @@
|
||||
+/* Native support for GNU/Linux i386.
|
||||
+
|
||||
@ -56,10 +56,10 @@ Index: gdb-7.11.50.20160630/gdb/config/i386/nm-linux.h
|
||||
+#define target_can_use_hardware_watchpoint(type, cnt, ot) 1
|
||||
+
|
||||
+#endif /* NM_LINUX64_H */
|
||||
Index: gdb-7.11.50.20160630/gdb/config/i386/nm-linux64.h
|
||||
Index: gdb-7.11.90.20160807/gdb/config/i386/nm-linux64.h
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.11.50.20160630/gdb/config/i386/nm-linux64.h 2016-07-02 22:59:25.716313911 +0200
|
||||
+++ gdb-7.11.90.20160807/gdb/config/i386/nm-linux64.h 2016-08-07 22:29:20.451311124 +0200
|
||||
@@ -0,0 +1,28 @@
|
||||
+/* Native support for GNU/Linux amd64.
|
||||
+
|
||||
@ -89,11 +89,11 @@ Index: gdb-7.11.50.20160630/gdb/config/i386/nm-linux64.h
|
||||
+#define target_can_use_hardware_watchpoint(type, cnt, ot) 1
|
||||
+
|
||||
+#endif /* NM_LINUX64_H */
|
||||
Index: gdb-7.11.50.20160630/gdb/target.h
|
||||
Index: gdb-7.11.90.20160807/gdb/target.h
|
||||
===================================================================
|
||||
--- gdb-7.11.50.20160630.orig/gdb/target.h 2016-07-02 22:59:18.214248761 +0200
|
||||
+++ gdb-7.11.50.20160630/gdb/target.h 2016-07-02 22:59:25.717313919 +0200
|
||||
@@ -1928,9 +1928,11 @@
|
||||
--- gdb-7.11.90.20160807.orig/gdb/target.h 2016-08-07 22:27:13.889285274 +0200
|
||||
+++ gdb-7.11.90.20160807/gdb/target.h 2016-08-07 22:29:20.452311132 +0200
|
||||
@@ -1939,9 +1939,11 @@
|
||||
one. OTHERTYPE is the number of watchpoints of other types than
|
||||
this one used so far. */
|
||||
|
||||
@ -105,10 +105,10 @@ Index: gdb-7.11.50.20160630/gdb/target.h
|
||||
|
||||
/* Returns the number of debug registers needed to watch the given
|
||||
memory region, or zero if not supported. */
|
||||
Index: gdb-7.11.50.20160630/gdb/testsuite/gdb.base/watchpoint-hw-before-run.exp
|
||||
Index: gdb-7.11.90.20160807/gdb/testsuite/gdb.base/watchpoint-hw-before-run.exp
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.11.50.20160630/gdb/testsuite/gdb.base/watchpoint-hw-before-run.exp 2016-07-02 22:59:25.717313919 +0200
|
||||
+++ gdb-7.11.90.20160807/gdb/testsuite/gdb.base/watchpoint-hw-before-run.exp 2016-08-07 22:29:20.452311132 +0200
|
||||
@@ -0,0 +1,40 @@
|
||||
+# Copyright 2009, 2010 Free Software Foundation, Inc.
|
||||
+
|
||||
@ -150,3 +150,16 @@ Index: gdb-7.11.50.20160630/gdb/testsuite/gdb.base/watchpoint-hw-before-run.exp
|
||||
+gdb_test "" "main .* at .*" "start"
|
||||
+
|
||||
+gdb_test "continue" "Continuing.\r\n\r\nHardware read watchpoint \[0-9\]+: watchee\r\n\r\nValue = 0\r\n.*"
|
||||
Index: gdb-7.11.90.20160807/gdb/breakpoint.c
|
||||
===================================================================
|
||||
--- gdb-7.11.90.20160807.orig/gdb/breakpoint.c 2016-08-07 22:33:38.835405458 +0200
|
||||
+++ gdb-7.11.90.20160807/gdb/breakpoint.c 2016-08-07 22:34:45.023941950 +0200
|
||||
@@ -14953,7 +14953,7 @@
|
||||
|
||||
if (bpt->type == bp_hardware_breakpoint)
|
||||
{
|
||||
- int i;
|
||||
+ int i ATTRIBUTE_UNUSED;
|
||||
i = hw_breakpoint_used_count ();
|
||||
target_resources_ok =
|
||||
target_can_use_hardware_watchpoint (bp_hardware_breakpoint,
|
||||
|
@ -45,11 +45,11 @@ Signed-off-by: Christoph Weinmann <christoph.t.weinmann@intel.com>
|
||||
gdb/value.h | 2 +
|
||||
4 files changed, 380 insertions(+), 97 deletions(-)
|
||||
|
||||
diff --git a/gdb/eval.c b/gdb/eval.c
|
||||
index de1c663..35815a4 100644
|
||||
--- a/gdb/eval.c
|
||||
+++ b/gdb/eval.c
|
||||
@@ -399,29 +399,254 @@ init_array_element (struct value *array, struct value *element,
|
||||
Index: gdb-7.11.90.20160807/gdb/eval.c
|
||||
===================================================================
|
||||
--- gdb-7.11.90.20160807.orig/gdb/eval.c 2016-08-07 22:06:45.266836619 +0200
|
||||
+++ gdb-7.11.90.20160807/gdb/eval.c 2016-08-07 22:08:21.708688259 +0200
|
||||
@@ -399,29 +399,254 @@
|
||||
return index;
|
||||
}
|
||||
|
||||
@ -74,11 +74,6 @@ index de1c663..35815a4 100644
|
||||
- = (enum range_type) longest_to_int (exp->elts[pc].longconst);
|
||||
-
|
||||
- *pos += 3;
|
||||
-
|
||||
- if (range_type == LOW_BOUND_DEFAULT || range_type == BOTH_BOUND_DEFAULT)
|
||||
- low_bound = TYPE_LOW_BOUND (range);
|
||||
- else
|
||||
- low_bound = value_as_long (evaluate_subexp (NULL_TYPE, exp, pos, noside));
|
||||
+ struct value *new_array = array;
|
||||
+ struct type *array_type = check_typedef (value_type (new_array));
|
||||
+ struct type *elt_type;
|
||||
@ -133,17 +128,21 @@ index de1c663..35815a4 100644
|
||||
+ {
|
||||
+ struct subscript_store *index = &subscript_array[i];
|
||||
|
||||
- if (range_type == HIGH_BOUND_DEFAULT || range_type == BOTH_BOUND_DEFAULT)
|
||||
- high_bound = TYPE_HIGH_BOUND (range);
|
||||
- if (range_type == LOW_BOUND_DEFAULT || range_type == BOTH_BOUND_DEFAULT)
|
||||
- low_bound = TYPE_LOW_BOUND (range);
|
||||
- else
|
||||
- high_bound = value_as_long (evaluate_subexp (NULL_TYPE, exp, pos, noside));
|
||||
- low_bound = value_as_long (evaluate_subexp (NULL_TYPE, exp, pos, noside));
|
||||
+ /* The user input is a range, with or without lower and upper bound.
|
||||
+ E.g.: "p arry(2:5)", "p arry( :5)", "p arry( : )", etc. */
|
||||
+ if (exp->elts[*pos].opcode == OP_RANGE)
|
||||
+ {
|
||||
+ int pc = (*pos) + 1;
|
||||
+ subscript_range *range;
|
||||
+
|
||||
|
||||
- if (range_type == HIGH_BOUND_DEFAULT || range_type == BOTH_BOUND_DEFAULT)
|
||||
- high_bound = TYPE_HIGH_BOUND (range);
|
||||
- else
|
||||
- high_bound = value_as_long (evaluate_subexp (NULL_TYPE, exp, pos, noside));
|
||||
+ index->kind = SUBSCRIPT_RANGE;
|
||||
+ range = &index->U.range;
|
||||
+
|
||||
@ -279,8 +278,7 @@ index de1c663..35815a4 100644
|
||||
+ struct value *v = NULL;
|
||||
+
|
||||
+ elt_type = TYPE_TARGET_TYPE (value_type (new_array));
|
||||
|
||||
- return value_slice (array, low_bound, high_bound - low_bound + 1);
|
||||
+
|
||||
+ /* Every SUBSCRIPT_RANGE in the user input signifies an actual range in
|
||||
+ the output array. So we traverse the SUBSCRIPT_ARRAY again, looking
|
||||
+ for a range entry. When we find one, we use the range info to create
|
||||
@ -307,7 +305,8 @@ index de1c663..35815a4 100644
|
||||
+
|
||||
+ TYPE_CODE (interim_array_type)
|
||||
+ = TYPE_CODE (value_type (new_array));
|
||||
+
|
||||
|
||||
- return value_slice (array, low_bound, high_bound - low_bound + 1);
|
||||
+ v = allocate_value (interim_array_type);
|
||||
+
|
||||
+ elt_type = value_type (v);
|
||||
@ -322,7 +321,7 @@ index de1c663..35815a4 100644
|
||||
}
|
||||
|
||||
|
||||
@@ -1810,14 +2035,11 @@ evaluate_subexp_standard (struct type *expect_type,
|
||||
@@ -1810,14 +2035,11 @@
|
||||
switch (code)
|
||||
{
|
||||
case TYPE_CODE_ARRAY:
|
||||
@ -339,7 +338,7 @@ index de1c663..35815a4 100644
|
||||
else
|
||||
{
|
||||
arg2 = evaluate_subexp_with_coercion (exp, pos, noside);
|
||||
@@ -2222,49 +2444,6 @@ evaluate_subexp_standard (struct type *expect_type,
|
||||
@@ -2223,49 +2445,6 @@
|
||||
}
|
||||
return (arg1);
|
||||
|
||||
@ -389,7 +388,7 @@ index de1c663..35815a4 100644
|
||||
case BINOP_LOGICAL_AND:
|
||||
arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside);
|
||||
if (noside == EVAL_SKIP)
|
||||
@@ -3122,6 +3301,9 @@ calc_f77_array_dims (struct type *array_type)
|
||||
@@ -3123,6 +3302,9 @@
|
||||
int ndimen = 1;
|
||||
struct type *tmp_type;
|
||||
|
||||
@ -399,11 +398,11 @@ index de1c663..35815a4 100644
|
||||
if ((TYPE_CODE (array_type) != TYPE_CODE_ARRAY))
|
||||
error (_("Can't get dimensions for a non-array type"));
|
||||
|
||||
diff --git a/gdb/f-exp.y b/gdb/f-exp.y
|
||||
index e3148a3..dc131c1 100644
|
||||
--- a/gdb/f-exp.y
|
||||
+++ b/gdb/f-exp.y
|
||||
@@ -253,6 +253,8 @@ arglist : subrange
|
||||
Index: gdb-7.11.90.20160807/gdb/f-exp.y
|
||||
===================================================================
|
||||
--- gdb-7.11.90.20160807.orig/gdb/f-exp.y 2016-08-07 22:06:45.266836619 +0200
|
||||
+++ gdb-7.11.90.20160807/gdb/f-exp.y 2016-08-07 22:08:21.709688268 +0200
|
||||
@@ -253,6 +253,8 @@
|
||||
|
||||
arglist : arglist ',' exp %prec ABOVE_COMMA
|
||||
{ arglist_len++; }
|
||||
@ -412,11 +411,11 @@ index e3148a3..dc131c1 100644
|
||||
;
|
||||
|
||||
/* There are four sorts of subrange types in F90. */
|
||||
diff --git a/gdb/valops.c b/gdb/valops.c
|
||||
index 71fb1b3..817a4cf 100644
|
||||
--- a/gdb/valops.c
|
||||
+++ b/gdb/valops.c
|
||||
@@ -3766,56 +3766,153 @@ value_of_this_silent (const struct language_defn *lang)
|
||||
Index: gdb-7.11.90.20160807/gdb/valops.c
|
||||
===================================================================
|
||||
--- gdb-7.11.90.20160807.orig/gdb/valops.c 2016-08-07 22:06:45.266836619 +0200
|
||||
+++ gdb-7.11.90.20160807/gdb/valops.c 2016-08-07 22:13:22.083340750 +0200
|
||||
@@ -3775,56 +3775,154 @@
|
||||
struct value *
|
||||
value_slice (struct value *array, int lowbound, int length)
|
||||
{
|
||||
@ -448,7 +447,8 @@ index 71fb1b3..817a4cf 100644
|
||||
+ struct type *array_type = check_typedef (value_type (array));
|
||||
+ struct type *elt_type = check_typedef (TYPE_TARGET_TYPE (array_type));
|
||||
+ unsigned int elt_size, elt_offs;
|
||||
+ LONGEST elt_stride, ary_high_bound, ary_low_bound;
|
||||
+ /* ATTRIBUTE_UNUSED: VLA bug: https://sourceware.org/ml/gdb-patches/2016-08/msg00099.html */
|
||||
+ LONGEST elt_stride ATTRIBUTE_UNUSED, ary_high_bound, ary_low_bound;
|
||||
+ struct value *v;
|
||||
+ int slice_range_size, i = 0, row_count = 1, elem_count = 1;
|
||||
|
||||
@ -462,6 +462,10 @@ index 71fb1b3..817a4cf 100644
|
||||
- range_type = TYPE_INDEX_TYPE (array_type);
|
||||
- if (get_discrete_bounds (range_type, &lowerbound, &upperbound) < 0)
|
||||
- error (_("slice from bad array or bitstring"));
|
||||
-
|
||||
- if (lowbound < lowerbound || length < 0
|
||||
- || lowbound + length - 1 > upperbound)
|
||||
- error (_("slice out of range"));
|
||||
+ ary_low_bound = TYPE_LOW_BOUND (TYPE_INDEX_TYPE (array_type));
|
||||
+ ary_high_bound = TYPE_HIGH_BOUND (TYPE_INDEX_TYPE (array_type));
|
||||
+
|
||||
@ -487,10 +491,7 @@ index 71fb1b3..817a4cf 100644
|
||||
+ && (!TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED (array_type)
|
||||
+ && elt_offs >= TYPE_LENGTH (array_type)))
|
||||
+ error (_("no such vector element"));
|
||||
|
||||
- if (lowbound < lowerbound || length < 0
|
||||
- || lowbound + length - 1 > upperbound)
|
||||
- error (_("slice out of range"));
|
||||
+
|
||||
+ /* CALL_COUNT is 1 when we are dealing either with the highest dimension
|
||||
+ of the array, or a one dimensional array. Set RANGE_TYPE accordingly.
|
||||
+ In both cases we calculate how many rows/elements will be in the output
|
||||
@ -528,6 +529,11 @@ index 71fb1b3..817a4cf 100644
|
||||
- struct type *element_type = TYPE_TARGET_TYPE (array_type);
|
||||
- LONGEST offset
|
||||
- = (lowbound - lowerbound) * TYPE_LENGTH (check_typedef (element_type));
|
||||
-
|
||||
- slice_type = create_array_type ((struct type *) NULL,
|
||||
- element_type,
|
||||
- slice_range_type);
|
||||
- TYPE_CODE (slice_type) = TYPE_CODE (array_type);
|
||||
+ struct type *element_type;
|
||||
+
|
||||
+ /* When CALL_COUNT equals 1 we can use the legacy code for subarrays. */
|
||||
@ -535,10 +541,8 @@ index 71fb1b3..817a4cf 100644
|
||||
+ {
|
||||
+ element_type = TYPE_TARGET_TYPE (array_type);
|
||||
|
||||
- slice_type = create_array_type ((struct type *) NULL,
|
||||
- element_type,
|
||||
- slice_range_type);
|
||||
- TYPE_CODE (slice_type) = TYPE_CODE (array_type);
|
||||
- if (VALUE_LVAL (array) == lval_memory && value_lazy (array))
|
||||
- slice = allocate_value_lazy (slice_type);
|
||||
+ slice_type = create_array_type (NULL, element_type, slice_range_type);
|
||||
+
|
||||
+ TYPE_CODE (slice_type) = TYPE_CODE (array_type);
|
||||
@ -554,9 +558,7 @@ index 71fb1b3..817a4cf 100644
|
||||
+ value_embedded_offset (array) + elt_offs,
|
||||
+ elt_size * longest_to_int (length));
|
||||
+ }
|
||||
|
||||
- if (VALUE_LVAL (array) == lval_memory && value_lazy (array))
|
||||
- slice = allocate_value_lazy (slice_type);
|
||||
+
|
||||
+ }
|
||||
+ /* When CALL_COUNT is larger than 1 we are working on a range of ranges.
|
||||
+ So we copy the relevant elements into the new array we return. */
|
||||
@ -601,11 +603,11 @@ index 71fb1b3..817a4cf 100644
|
||||
}
|
||||
|
||||
/* Create a value for a FORTRAN complex number. Currently most of the
|
||||
diff --git a/gdb/value.h b/gdb/value.h
|
||||
index f8ec854..95588af 100644
|
||||
--- a/gdb/value.h
|
||||
+++ b/gdb/value.h
|
||||
@@ -1056,6 +1056,8 @@ extern struct value *varying_to_slice (struct value *);
|
||||
Index: gdb-7.11.90.20160807/gdb/value.h
|
||||
===================================================================
|
||||
--- gdb-7.11.90.20160807.orig/gdb/value.h 2016-08-07 22:06:45.266836619 +0200
|
||||
+++ gdb-7.11.90.20160807/gdb/value.h 2016-08-07 22:08:21.710688276 +0200
|
||||
@@ -1064,6 +1064,8 @@
|
||||
|
||||
extern struct value *value_slice (struct value *, int, int);
|
||||
|
||||
@ -614,6 +616,3 @@ index f8ec854..95588af 100644
|
||||
extern struct value *value_literal_complex (struct value *, struct value *,
|
||||
struct type *);
|
||||
|
||||
--
|
||||
2.5.5
|
||||
|
||||
|
@ -31,24 +31,24 @@ Change-Id: I998d4da4a5ba4899b8cb2115576f44efa741e698
|
||||
7 files changed, 182 insertions(+), 8 deletions(-)
|
||||
create mode 100644 gdb/testsuite/gdb.fortran/pointers.exp
|
||||
|
||||
diff --git a/gdb/NEWS b/gdb/NEWS
|
||||
index 3823f20..37e4ca7 100644
|
||||
--- a/gdb/NEWS
|
||||
+++ b/gdb/NEWS
|
||||
@@ -3,6 +3,8 @@
|
||||
|
||||
*** Changes since GDB 7.11
|
||||
Index: gdb-7.11.90.20160807/gdb/NEWS
|
||||
===================================================================
|
||||
--- gdb-7.11.90.20160807.orig/gdb/NEWS 2016-08-07 21:18:44.032409065 +0200
|
||||
+++ gdb-7.11.90.20160807/gdb/NEWS 2016-08-07 21:19:17.178715116 +0200
|
||||
@@ -1,6 +1,8 @@
|
||||
What has changed in GDB?
|
||||
(Organized release by release)
|
||||
|
||||
+* Fortran: Support pointers to dynamic types.
|
||||
+
|
||||
* GDB now supports a negative repeat count in the 'x' command to examine
|
||||
memory backward from the given address. For example:
|
||||
*** Changes in GDB 7.12
|
||||
|
||||
diff --git a/gdb/c-valprint.c b/gdb/c-valprint.c
|
||||
index 2cb418d..120163f 100644
|
||||
--- a/gdb/c-valprint.c
|
||||
+++ b/gdb/c-valprint.c
|
||||
@@ -645,6 +645,28 @@ c_value_print (struct value *val, struct ui_file *stream,
|
||||
* GDB and GDBserver now build with a C++ compiler by default.
|
||||
Index: gdb-7.11.90.20160807/gdb/c-valprint.c
|
||||
===================================================================
|
||||
--- gdb-7.11.90.20160807.orig/gdb/c-valprint.c 2016-08-07 21:18:44.032409065 +0200
|
||||
+++ gdb-7.11.90.20160807/gdb/c-valprint.c 2016-08-07 21:18:51.087474207 +0200
|
||||
@@ -645,6 +645,28 @@
|
||||
else
|
||||
{
|
||||
/* normal case */
|
||||
@ -77,11 +77,11 @@ index 2cb418d..120163f 100644
|
||||
fprintf_filtered (stream, "(");
|
||||
type_print (value_type (val), "", stream, -1);
|
||||
fprintf_filtered (stream, ") ");
|
||||
diff --git a/gdb/testsuite/gdb.cp/vla-cxx.exp b/gdb/testsuite/gdb.cp/vla-cxx.exp
|
||||
index babdfb7..543d9eb 100644
|
||||
--- a/gdb/testsuite/gdb.cp/vla-cxx.exp
|
||||
+++ b/gdb/testsuite/gdb.cp/vla-cxx.exp
|
||||
@@ -26,6 +26,8 @@ if ![runto_main] {
|
||||
Index: gdb-7.11.90.20160807/gdb/testsuite/gdb.cp/vla-cxx.exp
|
||||
===================================================================
|
||||
--- gdb-7.11.90.20160807.orig/gdb/testsuite/gdb.cp/vla-cxx.exp 2016-08-07 21:18:44.033409074 +0200
|
||||
+++ gdb-7.11.90.20160807/gdb/testsuite/gdb.cp/vla-cxx.exp 2016-08-07 21:18:51.088474216 +0200
|
||||
@@ -26,6 +26,8 @@
|
||||
gdb_breakpoint [gdb_get_line_number "Before pointer assignment"]
|
||||
gdb_continue_to_breakpoint "Before pointer assignment"
|
||||
gdb_test "ptype ptr" "int \\(\\*\\)\\\[variable length\\\]" "ptype ptr, Before pointer assignment"
|
||||
@ -90,17 +90,16 @@ index babdfb7..543d9eb 100644
|
||||
|
||||
gdb_breakpoint [gdb_get_line_number "vlas_filled"]
|
||||
gdb_continue_to_breakpoint "vlas_filled"
|
||||
@@ -38,3 +40,5 @@ gdb_test "print vlaref" " = \\(int \\(&\\)\\\[3\\\]\\) @$hex: \\{5, 7, 9\\}"
|
||||
@@ -38,3 +40,5 @@
|
||||
gdb_test "print vlaref2" " = \\(.*\\) @$hex: \\{5, 7, 9\\}"
|
||||
gdb_test "print c" " = \\{e = \\{c = @$hex\\}\\}"
|
||||
gdb_test "ptype ptr" "int \\(\\*\\)\\\[3\\\]"
|
||||
+gdb_test "print ptr" "\\(int \\(\\*\\)\\\[3\\\]\\) $hex"
|
||||
+gdb_test "print *ptr" " = \\{5, 7, 9\\}"
|
||||
diff --git a/gdb/testsuite/gdb.fortran/pointers.exp b/gdb/testsuite/gdb.fortran/pointers.exp
|
||||
new file mode 100644
|
||||
index 0000000..c19d7e0
|
||||
--- /dev/null
|
||||
+++ b/gdb/testsuite/gdb.fortran/pointers.exp
|
||||
Index: gdb-7.11.90.20160807/gdb/testsuite/gdb.fortran/pointers.exp
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.11.90.20160807/gdb/testsuite/gdb.fortran/pointers.exp 2016-08-07 21:18:51.088474216 +0200
|
||||
@@ -0,0 +1,123 @@
|
||||
+# Copyright 2016 Free Software Foundation, Inc.
|
||||
+
|
||||
@ -225,11 +224,11 @@ index 0000000..c19d7e0
|
||||
+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"
|
||||
diff --git a/gdb/testsuite/gdb.fortran/pointers.f90 b/gdb/testsuite/gdb.fortran/pointers.f90
|
||||
index 9ebbaa9..000193c 100644
|
||||
--- a/gdb/testsuite/gdb.fortran/pointers.f90
|
||||
+++ b/gdb/testsuite/gdb.fortran/pointers.f90
|
||||
@@ -20,14 +20,20 @@ program pointers
|
||||
Index: gdb-7.11.90.20160807/gdb/testsuite/gdb.fortran/pointers.f90
|
||||
===================================================================
|
||||
--- gdb-7.11.90.20160807.orig/gdb/testsuite/gdb.fortran/pointers.f90 2016-08-07 21:18:44.033409074 +0200
|
||||
+++ gdb-7.11.90.20160807/gdb/testsuite/gdb.fortran/pointers.f90 2016-08-07 21:18:51.088474216 +0200
|
||||
@@ -20,14 +20,20 @@
|
||||
integer, allocatable :: ivla2 (:, :)
|
||||
end type two
|
||||
|
||||
@ -250,7 +249,7 @@ index 9ebbaa9..000193c 100644
|
||||
|
||||
logical, pointer :: logp
|
||||
complex, pointer :: comp
|
||||
@@ -35,6 +41,7 @@ program pointers
|
||||
@@ -35,6 +41,7 @@
|
||||
character (len=3), pointer:: charap
|
||||
integer, pointer :: intp
|
||||
integer, pointer, dimension (:,:) :: intap
|
||||
@ -258,7 +257,7 @@ index 9ebbaa9..000193c 100644
|
||||
real, pointer :: realp
|
||||
type(two), pointer :: twop
|
||||
|
||||
@@ -44,8 +51,12 @@ program pointers
|
||||
@@ -44,8 +51,12 @@
|
||||
nullify (charap)
|
||||
nullify (intp)
|
||||
nullify (intap)
|
||||
@ -271,7 +270,7 @@ index 9ebbaa9..000193c 100644
|
||||
|
||||
logp => logv ! Before pointer assignment
|
||||
comp => comv
|
||||
@@ -53,8 +64,10 @@ program pointers
|
||||
@@ -53,8 +64,10 @@
|
||||
charap => chara
|
||||
intp => intv
|
||||
intap => inta
|
||||
@ -282,7 +281,7 @@ index 9ebbaa9..000193c 100644
|
||||
|
||||
logv = associated(logp) ! Before value assignment
|
||||
comv = cmplx(1,2)
|
||||
@@ -63,6 +76,10 @@ program pointers
|
||||
@@ -63,6 +76,10 @@
|
||||
intv = 10
|
||||
inta(:,:) = 1
|
||||
inta(3,1) = 3
|
||||
@ -293,11 +292,11 @@ index 9ebbaa9..000193c 100644
|
||||
realv = 3.14
|
||||
|
||||
allocate (twov%ivla1(3))
|
||||
diff --git a/gdb/valops.c b/gdb/valops.c
|
||||
index 40392e8..6f38560 100644
|
||||
--- a/gdb/valops.c
|
||||
+++ b/gdb/valops.c
|
||||
@@ -1562,6 +1562,19 @@ value_ind (struct value *arg1)
|
||||
Index: gdb-7.11.90.20160807/gdb/valops.c
|
||||
===================================================================
|
||||
--- gdb-7.11.90.20160807.orig/gdb/valops.c 2016-08-07 21:18:44.035409093 +0200
|
||||
+++ gdb-7.11.90.20160807/gdb/valops.c 2016-08-07 21:18:51.089474225 +0200
|
||||
@@ -1562,6 +1562,19 @@
|
||||
if (TYPE_CODE (base_type) == TYPE_CODE_PTR)
|
||||
{
|
||||
struct type *enc_type;
|
||||
@ -317,7 +316,7 @@ index 40392e8..6f38560 100644
|
||||
|
||||
/* We may be pointing to something embedded in a larger object.
|
||||
Get the real type of the enclosing object. */
|
||||
@@ -1577,8 +1590,7 @@ value_ind (struct value *arg1)
|
||||
@@ -1577,8 +1590,7 @@
|
||||
else
|
||||
/* Retrieve the enclosing object pointed to. */
|
||||
arg2 = value_at_lazy (enc_type,
|
||||
@ -327,11 +326,11 @@ index 40392e8..6f38560 100644
|
||||
|
||||
enc_type = value_type (arg2);
|
||||
return readjust_indirect_value_type (arg2, enc_type, base_type, arg1);
|
||||
diff --git a/gdb/valprint.c b/gdb/valprint.c
|
||||
index 6896da2..f592278 100644
|
||||
--- a/gdb/valprint.c
|
||||
+++ b/gdb/valprint.c
|
||||
@@ -1141,12 +1141,6 @@ value_check_printable (struct value *val, struct ui_file *stream,
|
||||
Index: gdb-7.11.90.20160807/gdb/valprint.c
|
||||
===================================================================
|
||||
--- gdb-7.11.90.20160807.orig/gdb/valprint.c 2016-08-07 04:00:01.000000000 +0200
|
||||
+++ gdb-7.11.90.20160807/gdb/valprint.c 2016-08-07 21:18:51.090474235 +0200
|
||||
@@ -1141,12 +1141,6 @@
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -344,6 +343,3 @@ index 6896da2..f592278 100644
|
||||
if (type_not_allocated (value_type (val)))
|
||||
{
|
||||
val_print_not_allocated (stream);
|
||||
--
|
||||
2.7.4
|
||||
|
||||
|
9
gdb.spec
9
gdb.spec
@ -19,15 +19,15 @@ Summary: A GNU source-level debugger for C, C++, Fortran, Go and other languages
|
||||
Name: %{?scl_prefix}gdb
|
||||
|
||||
# Freeze it when GDB gets branched
|
||||
%global snapsrc 20160721
|
||||
%global snapsrc 20160801
|
||||
# See timestamp of source gnulib installed into gdb/gnulib/ .
|
||||
%global snapgnulib 20150822
|
||||
%global tarname gdb-%{version}
|
||||
Version: 7.11.50.%{snapsrc}
|
||||
Version: 7.11.90.20160807
|
||||
|
||||
# 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: 4%{?dist}
|
||||
Release: 5%{?dist}
|
||||
|
||||
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and BSD and Public Domain and GFDL
|
||||
Group: Development/Debuggers
|
||||
@ -1424,6 +1424,9 @@ then
|
||||
fi
|
||||
|
||||
%changelog
|
||||
* Sun Aug 7 2016 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.11.90.20160807-5.fc25
|
||||
- Rebase to FSF GDB 7.11.90.20160807 (pre-7.12 branch snapshot).
|
||||
|
||||
* Sun Jul 31 2016 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.11.50.20160721-4.fc25
|
||||
- Testcase for: Load strictly build-id-checked core files only if no executable
|
||||
is specified (Jan Kratochvil, RH BZ 1339862).
|
||||
|
Loading…
Reference in New Issue
Block a user