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