Rebase to pre-7.13 FSF GDB trunk.
Dropped gdb-6.7-bz426600-DW_TAG_interface_type-test.patch as GCJ is no more.
This commit is contained in:
parent
26c3bd5ab5
commit
af2c2a5422
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,3 +1,3 @@
|
|||||||
/gdb-libstdc++-v3-python-6.3.1-20170212.tar.xz
|
/gdb-libstdc++-v3-python-6.3.1-20170212.tar.xz
|
||||||
/v1.5.tar.gz
|
/v1.5.tar.gz
|
||||||
/gdb-7.12.1.tar.xz
|
/gdb-7.12.50.20170226.tar.xz
|
||||||
|
@ -11,11 +11,11 @@
|
|||||||
|
|
||||||
* gdb.texinfo (File Options): Document --readnever.
|
* gdb.texinfo (File Options): Document --readnever.
|
||||||
|
|
||||||
Index: gdb-7.10.50.20151022/gdb/doc/gdb.texinfo
|
Index: gdb-7.12.50.20170226/gdb/doc/gdb.texinfo
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.10.50.20151022.orig/gdb/doc/gdb.texinfo 2015-10-22 22:16:50.483482288 +0200
|
--- gdb-7.12.50.20170226.orig/gdb/doc/gdb.texinfo 2017-02-26 21:26:43.609788662 +0100
|
||||||
+++ gdb-7.10.50.20151022/gdb/doc/gdb.texinfo 2015-10-22 22:28:22.042554142 +0200
|
+++ gdb-7.12.50.20170226/gdb/doc/gdb.texinfo 2017-02-26 21:26:46.582809721 +0100
|
||||||
@@ -1032,6 +1032,12 @@ Read each symbol file's entire symbol ta
|
@@ -1037,6 +1037,12 @@
|
||||||
the default, which is to read it incrementally as it is needed.
|
the default, which is to read it incrementally as it is needed.
|
||||||
This makes startup slower, but makes future operations faster.
|
This makes startup slower, but makes future operations faster.
|
||||||
|
|
||||||
@ -28,11 +28,11 @@ Index: gdb-7.10.50.20151022/gdb/doc/gdb.texinfo
|
|||||||
@end table
|
@end table
|
||||||
|
|
||||||
@node Mode Options
|
@node Mode Options
|
||||||
Index: gdb-7.10.50.20151022/gdb/main.c
|
Index: gdb-7.12.50.20170226/gdb/main.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.10.50.20151022.orig/gdb/main.c 2015-10-22 22:16:50.485482299 +0200
|
--- gdb-7.12.50.20170226.orig/gdb/main.c 2017-02-26 21:26:43.612788684 +0100
|
||||||
+++ gdb-7.10.50.20151022/gdb/main.c 2015-10-22 22:28:22.042554142 +0200
|
+++ gdb-7.12.50.20170226/gdb/main.c 2017-02-26 21:26:46.582809721 +0100
|
||||||
@@ -604,6 +604,7 @@ captured_main (void *data)
|
@@ -615,6 +615,7 @@
|
||||||
{"tui", no_argument, 0, OPT_TUI},
|
{"tui", no_argument, 0, OPT_TUI},
|
||||||
{"dbx", no_argument, &dbx_commands, 1},
|
{"dbx", no_argument, &dbx_commands, 1},
|
||||||
{"readnow", no_argument, &readnow_symbol_files, 1},
|
{"readnow", no_argument, &readnow_symbol_files, 1},
|
||||||
@ -40,7 +40,7 @@ Index: gdb-7.10.50.20151022/gdb/main.c
|
|||||||
{"r", no_argument, &readnow_symbol_files, 1},
|
{"r", no_argument, &readnow_symbol_files, 1},
|
||||||
{"quiet", no_argument, &quiet, 1},
|
{"quiet", no_argument, &quiet, 1},
|
||||||
{"q", no_argument, &quiet, 1},
|
{"q", no_argument, &quiet, 1},
|
||||||
@@ -1253,6 +1254,7 @@ Selection of debuggee and its files:\n\n
|
@@ -1253,6 +1254,7 @@
|
||||||
--se=FILE Use FILE as symbol file and executable file.\n\
|
--se=FILE Use FILE as symbol file and executable file.\n\
|
||||||
--symbols=SYMFILE Read symbols from SYMFILE.\n\
|
--symbols=SYMFILE Read symbols from SYMFILE.\n\
|
||||||
--readnow Fully read symbol files on first access.\n\
|
--readnow Fully read symbol files on first access.\n\
|
||||||
@ -48,11 +48,11 @@ Index: gdb-7.10.50.20151022/gdb/main.c
|
|||||||
--write Set writing into executable and core files.\n\n\
|
--write Set writing into executable and core files.\n\n\
|
||||||
"), stream);
|
"), stream);
|
||||||
fputs_unfiltered (_("\
|
fputs_unfiltered (_("\
|
||||||
Index: gdb-7.10.50.20151022/gdb/symfile.c
|
Index: gdb-7.12.50.20170226/gdb/symfile.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.10.50.20151022.orig/gdb/symfile.c 2015-10-22 22:16:50.486482305 +0200
|
--- gdb-7.12.50.20170226.orig/gdb/symfile.c 2017-02-26 21:26:43.613788691 +0100
|
||||||
+++ gdb-7.10.50.20151022/gdb/symfile.c 2015-10-22 22:28:22.043554148 +0200
|
+++ gdb-7.12.50.20170226/gdb/symfile.c 2017-02-26 21:26:46.583809728 +0100
|
||||||
@@ -80,6 +80,7 @@ static void clear_symtab_users_cleanup (
|
@@ -79,6 +79,7 @@
|
||||||
|
|
||||||
/* Global variables owned by this file. */
|
/* Global variables owned by this file. */
|
||||||
int readnow_symbol_files; /* Read full symbols immediately. */
|
int readnow_symbol_files; /* Read full symbols immediately. */
|
||||||
@ -60,19 +60,19 @@ Index: gdb-7.10.50.20151022/gdb/symfile.c
|
|||||||
|
|
||||||
/* Functions this file defines. */
|
/* Functions this file defines. */
|
||||||
|
|
||||||
Index: gdb-7.10.50.20151022/gdb/dwarf2read.c
|
Index: gdb-7.12.50.20170226/gdb/dwarf2read.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.10.50.20151022.orig/gdb/dwarf2read.c 2015-10-22 22:28:22.046554165 +0200
|
--- gdb-7.12.50.20170226.orig/gdb/dwarf2read.c 2017-02-26 21:26:43.620788740 +0100
|
||||||
+++ gdb-7.10.50.20151022/gdb/dwarf2read.c 2015-10-22 22:29:17.664881642 +0200
|
+++ gdb-7.12.50.20170226/gdb/dwarf2read.c 2017-02-26 21:26:59.078898234 +0100
|
||||||
@@ -70,6 +70,7 @@
|
@@ -71,6 +71,7 @@
|
||||||
#include "filestuff.h"
|
|
||||||
#include "build-id.h"
|
|
||||||
#include "namespace.h"
|
#include "namespace.h"
|
||||||
|
#include "common/gdb_unlinker.h"
|
||||||
|
#include "common/function-view.h"
|
||||||
+#include "top.h"
|
+#include "top.h"
|
||||||
|
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
@@ -2059,7 +2060,8 @@ dwarf2_has_info (struct objfile *objfile
|
@@ -2113,7 +2114,8 @@
|
||||||
(void *) names);
|
(void *) names);
|
||||||
dwarf2_per_objfile->objfile = objfile;
|
dwarf2_per_objfile->objfile = objfile;
|
||||||
}
|
}
|
||||||
@ -82,11 +82,11 @@ Index: gdb-7.10.50.20151022/gdb/dwarf2read.c
|
|||||||
&& dwarf2_per_objfile->info.s.section != NULL
|
&& dwarf2_per_objfile->info.s.section != NULL
|
||||||
&& !dwarf2_per_objfile->abbrev.is_virtual
|
&& !dwarf2_per_objfile->abbrev.is_virtual
|
||||||
&& dwarf2_per_objfile->abbrev.s.section != NULL);
|
&& dwarf2_per_objfile->abbrev.s.section != NULL);
|
||||||
Index: gdb-7.10.50.20151022/gdb/top.h
|
Index: gdb-7.12.50.20170226/gdb/top.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.10.50.20151022.orig/gdb/top.h 2015-10-22 22:16:50.490482329 +0200
|
--- gdb-7.12.50.20170226.orig/gdb/top.h 2017-02-26 21:26:43.622788754 +0100
|
||||||
+++ gdb-7.10.50.20151022/gdb/top.h 2015-10-22 22:28:22.047554171 +0200
|
+++ gdb-7.12.50.20170226/gdb/top.h 2017-02-26 21:26:46.589809771 +0100
|
||||||
@@ -74,6 +74,7 @@ extern int gdb_in_secondary_prompt_p (vo
|
@@ -269,6 +269,7 @@
|
||||||
|
|
||||||
/* From random places. */
|
/* From random places. */
|
||||||
extern int readnow_symbol_files;
|
extern int readnow_symbol_files;
|
||||||
|
@ -3,11 +3,11 @@
|
|||||||
* gdb.gdb/selftest.exp: Add matching on specific Red Hat only version
|
* gdb.gdb/selftest.exp: Add matching on specific Red Hat only version
|
||||||
string.
|
string.
|
||||||
|
|
||||||
Index: gdb-7.1.90.20100711/gdb/testsuite/gdb.gdb/selftest.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.gdb/selftest.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.1.90.20100711.orig/gdb/testsuite/gdb.gdb/selftest.exp 2010-06-26 08:44:47.000000000 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.gdb/selftest.exp 2017-02-07 19:47:06.472874620 +0100
|
||||||
+++ gdb-7.1.90.20100711/gdb/testsuite/gdb.gdb/selftest.exp 2010-07-12 09:59:42.000000000 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.gdb/selftest.exp 2017-02-07 19:48:12.593380575 +0100
|
||||||
@@ -342,6 +342,9 @@ proc test_with_self { executable } {
|
@@ -53,6 +53,9 @@
|
||||||
-re ".\[0-9\]+ = +.+ +0x.*\[0-9.\]+.*$gdb_prompt $" {
|
-re ".\[0-9\]+ = +.+ +0x.*\[0-9.\]+.*$gdb_prompt $" {
|
||||||
pass "printed version with cast"
|
pass "printed version with cast"
|
||||||
}
|
}
|
||||||
@ -16,4 +16,4 @@ Index: gdb-7.1.90.20100711/gdb/testsuite/gdb.gdb/selftest.exp
|
|||||||
+ }
|
+ }
|
||||||
}
|
}
|
||||||
|
|
||||||
do_steps_and_nexts
|
# start the "xgdb" process
|
||||||
|
@ -34,11 +34,11 @@ glibc-debuginfo-2.7-2.x86_64: /usr/lib/debug/lib64/libc.so.6.debug:
|
|||||||
<81a2> DW_AT_name : (indirect string, offset: 0x280e): __errno_location
|
<81a2> DW_AT_name : (indirect string, offset: 0x280e): __errno_location
|
||||||
<81a8> DW_AT_MIPS_linkage_name: (indirect string, offset: 0x2808): *__GI___errno_location
|
<81a8> DW_AT_MIPS_linkage_name: (indirect string, offset: 0x2808): *__GI___errno_location
|
||||||
|
|
||||||
Index: gdb-7.10.90.20160211/gdb/printcmd.c
|
Index: gdb-7.12.50.20170207/gdb/printcmd.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.10.90.20160211.orig/gdb/printcmd.c 2016-02-15 23:29:53.062420893 +0100
|
--- gdb-7.12.50.20170207.orig/gdb/printcmd.c 2017-02-07 21:06:20.196593884 +0100
|
||||||
+++ gdb-7.10.90.20160211/gdb/printcmd.c 2016-02-15 23:33:31.068968762 +0100
|
+++ gdb-7.12.50.20170207/gdb/printcmd.c 2017-02-07 21:07:10.230973906 +0100
|
||||||
@@ -1003,6 +1003,10 @@
|
@@ -1258,6 +1258,10 @@
|
||||||
|
|
||||||
if (exp && *exp)
|
if (exp && *exp)
|
||||||
{
|
{
|
||||||
@ -46,13 +46,13 @@ Index: gdb-7.10.90.20160211/gdb/printcmd.c
|
|||||||
+ function descriptors. */
|
+ function descriptors. */
|
||||||
+ if (target_has_execution && strcmp (exp, "errno") == 0)
|
+ if (target_has_execution && strcmp (exp, "errno") == 0)
|
||||||
+ exp = "*(*(int *(*)(void)) __errno_location) ()";
|
+ exp = "*(*(int *(*)(void)) __errno_location) ()";
|
||||||
expr = parse_expression (exp);
|
expression_up expr = parse_expression (exp);
|
||||||
make_cleanup (free_current_contents, &expr);
|
val = evaluate_expression (expr.get ());
|
||||||
val = evaluate_expression (expr);
|
}
|
||||||
Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-errno.c
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-errno.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-errno.c 2016-02-15 23:30:20.703617148 +0100
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-errno.c 2017-02-07 21:06:20.196593884 +0100
|
||||||
@@ -0,0 +1,28 @@
|
@@ -0,0 +1,28 @@
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
+/* This testcase is part of GDB, the GNU debugger.
|
||||||
+
|
+
|
||||||
@ -82,10 +82,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-errno.c
|
|||||||
+
|
+
|
||||||
+ return 0; /* breakpoint */
|
+ return 0; /* breakpoint */
|
||||||
+}
|
+}
|
||||||
Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-errno.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-errno.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-errno.exp 2016-02-15 23:35:25.582781821 +0100
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-errno.exp 2017-02-07 21:06:20.196593884 +0100
|
||||||
@@ -0,0 +1,60 @@
|
@@ -0,0 +1,60 @@
|
||||||
+# Copyright 2007 Free Software Foundation, Inc.
|
+# Copyright 2007 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
@ -147,10 +147,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-errno.exp
|
|||||||
+
|
+
|
||||||
+# TODO: Test the error on resolving ERRNO with only libc loaded.
|
+# TODO: Test the error on resolving ERRNO with only libc loaded.
|
||||||
+# Just how to find the current libc filename?
|
+# Just how to find the current libc filename?
|
||||||
Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-errno2.c
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-errno2.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-errno2.c 2016-02-15 23:30:20.703617148 +0100
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-errno2.c 2017-02-07 21:06:20.196593884 +0100
|
||||||
@@ -0,0 +1,28 @@
|
@@ -0,0 +1,28 @@
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
+/* This testcase is part of GDB, the GNU debugger.
|
||||||
+
|
+
|
||||||
@ -180,10 +180,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-errno2.c
|
|||||||
+
|
+
|
||||||
+ return 0; /* breakpoint */
|
+ return 0; /* breakpoint */
|
||||||
+}
|
+}
|
||||||
Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-errno2.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-errno2.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-errno2.exp 2016-02-15 23:35:25.582781821 +0100
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-errno2.exp 2017-02-07 21:06:20.197593892 +0100
|
||||||
@@ -0,0 +1,71 @@
|
@@ -0,0 +1,71 @@
|
||||||
+# Copyright 2007 Free Software Foundation, Inc.
|
+# Copyright 2007 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
|
@ -58,10 +58,10 @@ Http://sourceware.org/ml/gdb-patches/2010-01/msg00517.html
|
|||||||
* exec.c (exec_file_attach): Print a more useful error message if the
|
* exec.c (exec_file_attach): Print a more useful error message if the
|
||||||
user did "gdb core".
|
user did "gdb core".
|
||||||
|
|
||||||
Index: gdb-7.9.50.20150531/gdb/exec.c
|
Index: gdb-7.12.50.20170226/gdb/exec.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.9.50.20150531.orig/gdb/exec.c 2015-05-31 03:48:29.000000000 +0200
|
--- gdb-7.12.50.20170226.orig/gdb/exec.c 2017-02-27 22:18:00.945026211 +0100
|
||||||
+++ gdb-7.9.50.20150531/gdb/exec.c 2015-05-31 20:07:35.092878685 +0200
|
+++ gdb-7.12.50.20170226/gdb/exec.c 2017-02-27 22:18:08.111076350 +0100
|
||||||
@@ -35,6 +35,7 @@
|
@@ -35,6 +35,7 @@
|
||||||
#include "progspace.h"
|
#include "progspace.h"
|
||||||
#include "gdb_bfd.h"
|
#include "gdb_bfd.h"
|
||||||
@ -70,7 +70,7 @@ Index: gdb-7.9.50.20150531/gdb/exec.c
|
|||||||
|
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include "readline/readline.h"
|
#include "readline/readline.h"
|
||||||
@@ -298,12 +299,27 @@ exec_file_attach (const char *filename,
|
@@ -359,12 +360,27 @@
|
||||||
|
|
||||||
if (!bfd_check_format_matches (exec_bfd, bfd_object, &matching))
|
if (!bfd_check_format_matches (exec_bfd, bfd_object, &matching))
|
||||||
{
|
{
|
||||||
@ -101,13 +101,13 @@ Index: gdb-7.9.50.20150531/gdb/exec.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (build_section_table (exec_bfd, §ions, §ions_end))
|
if (build_section_table (exec_bfd, §ions, §ions_end))
|
||||||
Index: gdb-7.9.50.20150531/gdb/main.c
|
Index: gdb-7.12.50.20170226/gdb/main.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.9.50.20150531.orig/gdb/main.c 2015-05-31 20:07:34.183872824 +0200
|
--- gdb-7.12.50.20170226.orig/gdb/main.c 2017-02-27 22:18:00.945026211 +0100
|
||||||
+++ gdb-7.9.50.20150531/gdb/main.c 2015-05-31 20:10:05.095845935 +0200
|
+++ gdb-7.12.50.20170226/gdb/main.c 2017-02-27 22:18:08.112076357 +0100
|
||||||
@@ -435,6 +435,37 @@ typedef struct cmdarg {
|
@@ -459,6 +459,37 @@
|
||||||
/* Define type VEC (cmdarg_s). */
|
char *string;
|
||||||
DEF_VEC_O (cmdarg_s);
|
};
|
||||||
|
|
||||||
+/* Call exec_file_attach. If it detected FILENAME is a core file call
|
+/* Call exec_file_attach. If it detected FILENAME is a core file call
|
||||||
+ core_file_command. Print the original exec_file_attach error only if
|
+ core_file_command. Print the original exec_file_attach error only if
|
||||||
@ -140,10 +140,10 @@ Index: gdb-7.9.50.20150531/gdb/main.c
|
|||||||
+ END_CATCH
|
+ END_CATCH
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
static int
|
static void
|
||||||
captured_main (void *data)
|
captured_main_1 (struct captured_main_args *context, int &python_script)
|
||||||
{
|
{
|
||||||
@@ -923,6 +954,8 @@ captured_main (void *data)
|
@@ -910,6 +941,8 @@
|
||||||
{
|
{
|
||||||
symarg = argv[optind];
|
symarg = argv[optind];
|
||||||
execarg = argv[optind];
|
execarg = argv[optind];
|
||||||
@ -152,7 +152,7 @@ Index: gdb-7.9.50.20150531/gdb/main.c
|
|||||||
optind++;
|
optind++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1080,11 +1113,25 @@ captured_main (void *data)
|
@@ -1060,11 +1093,25 @@
|
||||||
&& symarg != NULL
|
&& symarg != NULL
|
||||||
&& strcmp (execarg, symarg) == 0)
|
&& strcmp (execarg, symarg) == 0)
|
||||||
{
|
{
|
||||||
@ -178,14 +178,14 @@ Index: gdb-7.9.50.20150531/gdb/main.c
|
|||||||
+ as a core file. */
|
+ as a core file. */
|
||||||
+ if (catch_command_errors_const (func, execarg, !batch_flag)
|
+ if (catch_command_errors_const (func, execarg, !batch_flag)
|
||||||
+ && core_bfd == NULL)
|
+ && core_bfd == NULL)
|
||||||
catch_command_errors_const (symbol_file_add_main, symarg,
|
catch_command_errors_const (symbol_file_add_main_adapter, symarg,
|
||||||
!batch_flag);
|
!batch_flag);
|
||||||
}
|
}
|
||||||
Index: gdb-7.9.50.20150531/gdb/common/common-exceptions.h
|
Index: gdb-7.12.50.20170226/gdb/common/common-exceptions.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.9.50.20150531.orig/gdb/common/common-exceptions.h 2015-05-31 03:48:29.000000000 +0200
|
--- gdb-7.12.50.20170226.orig/gdb/common/common-exceptions.h 2017-02-27 22:18:00.946026218 +0100
|
||||||
+++ gdb-7.9.50.20150531/gdb/common/common-exceptions.h 2015-05-31 20:07:35.093878692 +0200
|
+++ gdb-7.12.50.20170226/gdb/common/common-exceptions.h 2017-02-27 22:18:08.112076357 +0100
|
||||||
@@ -105,6 +105,9 @@ enum errors {
|
@@ -106,6 +106,9 @@
|
||||||
"_ERROR" is appended to the name. */
|
"_ERROR" is appended to the name. */
|
||||||
MAX_COMPLETIONS_REACHED_ERROR,
|
MAX_COMPLETIONS_REACHED_ERROR,
|
||||||
|
|
||||||
|
@ -15,10 +15,10 @@ Comments by Sergio Durigan Junior <sergiodj@redhat.com>:
|
|||||||
NULL after it is free'd, otherwise the code below thinks that it is still
|
NULL after it is free'd, otherwise the code below thinks that it is still
|
||||||
valid and doesn't print the necessary warning ("Try: yum install ...").
|
valid and doesn't print the necessary warning ("Try: yum install ...").
|
||||||
|
|
||||||
Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.base/rhbz981154-misleading-yum-install-warning.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/rhbz981154-misleading-yum-install-warning.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.base/rhbz981154-misleading-yum-install-warning.exp 2016-02-15 23:31:06.327941085 +0100
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/rhbz981154-misleading-yum-install-warning.exp 2017-02-26 19:14:58.492609659 +0100
|
||||||
@@ -0,0 +1,97 @@
|
@@ -0,0 +1,97 @@
|
||||||
+# Copyright (C) 2014 Free Software Foundation, Inc.
|
+# Copyright (C) 2014 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
@ -117,10 +117,10 @@ Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.base/rhbz981154-misleading-yum-ins
|
|||||||
+
|
+
|
||||||
+# Leaving the link there will cause breakage in the next run.
|
+# Leaving the link there will cause breakage in the next run.
|
||||||
+remote_exec build "rm -f [standard_output_file ${build_id_without_debug}]"
|
+remote_exec build "rm -f [standard_output_file ${build_id_without_debug}]"
|
||||||
Index: gdb-7.10.90.20160211/gdb/build-id.c
|
Index: gdb-7.12.50.20170207/gdb/build-id.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.10.90.20160211.orig/gdb/build-id.c 2016-02-15 23:30:55.389863424 +0100
|
--- gdb-7.12.50.20170207.orig/gdb/build-id.c 2017-02-26 19:14:51.943562799 +0100
|
||||||
+++ gdb-7.10.90.20160211/gdb/build-id.c 2016-02-15 23:30:55.778866186 +0100
|
+++ gdb-7.12.50.20170207/gdb/build-id.c 2017-02-26 19:14:58.492609659 +0100
|
||||||
@@ -589,7 +589,10 @@
|
@@ -589,7 +589,10 @@
|
||||||
do_cleanups (inner);
|
do_cleanups (inner);
|
||||||
|
|
||||||
@ -131,5 +131,5 @@ Index: gdb-7.10.90.20160211/gdb/build-id.c
|
|||||||
+ continue;
|
+ continue;
|
||||||
+ }
|
+ }
|
||||||
|
|
||||||
if (build_id_verify (abfd, build_id_len, build_id))
|
if (build_id_verify (abfd.get(), build_id_len, build_id))
|
||||||
break;
|
break;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: gdb-7.11.50.20160630/gdb/corelow.c
|
Index: gdb-7.12.50.20170207/gdb/corelow.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160630.orig/gdb/corelow.c 2016-07-03 14:33:28.130205528 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/corelow.c 2017-02-24 22:18:02.176391400 +0100
|
||||||
+++ gdb-7.11.50.20160630/gdb/corelow.c 2016-07-03 14:34:32.022753582 +0200
|
+++ gdb-7.12.50.20170207/gdb/corelow.c 2017-02-24 22:32:38.793264396 +0100
|
||||||
@@ -45,6 +45,10 @@
|
@@ -45,6 +45,10 @@
|
||||||
#include "gdb_bfd.h"
|
#include "gdb_bfd.h"
|
||||||
#include "completer.h"
|
#include "completer.h"
|
||||||
@ -13,7 +13,7 @@ Index: gdb-7.11.50.20160630/gdb/corelow.c
|
|||||||
|
|
||||||
#ifndef O_LARGEFILE
|
#ifndef O_LARGEFILE
|
||||||
#define O_LARGEFILE 0
|
#define O_LARGEFILE 0
|
||||||
@@ -266,6 +270,53 @@
|
@@ -266,6 +270,54 @@
|
||||||
inferior_ptid = ptid; /* Yes, make it current. */
|
inferior_ptid = ptid; /* Yes, make it current. */
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -52,7 +52,8 @@ Index: gdb-7.11.50.20160630/gdb/corelow.c
|
|||||||
+ {
|
+ {
|
||||||
+ make_cleanup (xfree, execfilename);
|
+ make_cleanup (xfree, execfilename);
|
||||||
+ exec_file_attach (execfilename, from_tty);
|
+ exec_file_attach (execfilename, from_tty);
|
||||||
+ symbol_file_add_main (execfilename, from_tty);
|
+ symbol_file_add_main (execfilename,
|
||||||
|
+ symfile_add_flag (!from_tty ? 0 : SYMFILE_VERBOSE));
|
||||||
+ if (symfile_objfile != NULL)
|
+ if (symfile_objfile != NULL)
|
||||||
+ symfile_objfile->flags |= OBJF_BUILD_ID_CORE_LOADED;
|
+ symfile_objfile->flags |= OBJF_BUILD_ID_CORE_LOADED;
|
||||||
+ }
|
+ }
|
||||||
@ -67,7 +68,7 @@ Index: gdb-7.11.50.20160630/gdb/corelow.c
|
|||||||
/* This routine opens and sets up the core file bfd. */
|
/* This routine opens and sets up the core file bfd. */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -404,6 +455,14 @@
|
@@ -402,6 +454,14 @@
|
||||||
switch_to_thread (thread->ptid);
|
switch_to_thread (thread->ptid);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -82,7 +83,7 @@ Index: gdb-7.11.50.20160630/gdb/corelow.c
|
|||||||
post_create_inferior (&core_ops, from_tty);
|
post_create_inferior (&core_ops, from_tty);
|
||||||
|
|
||||||
/* Now go through the target stack looking for threads since there
|
/* Now go through the target stack looking for threads since there
|
||||||
@@ -1068,4 +1127,11 @@
|
@@ -1078,4 +1138,11 @@
|
||||||
init_core_ops ();
|
init_core_ops ();
|
||||||
|
|
||||||
add_target_with_completer (&core_ops, filename_completer);
|
add_target_with_completer (&core_ops, filename_completer);
|
||||||
@ -94,11 +95,11 @@ Index: gdb-7.11.50.20160630/gdb/corelow.c
|
|||||||
+ NULL, NULL, NULL,
|
+ NULL, NULL, NULL,
|
||||||
+ &setlist, &showlist);
|
+ &setlist, &showlist);
|
||||||
}
|
}
|
||||||
Index: gdb-7.11.50.20160630/gdb/doc/gdb.texinfo
|
Index: gdb-7.12.50.20170207/gdb/doc/gdb.texinfo
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160630.orig/gdb/doc/gdb.texinfo 2016-07-03 14:33:28.130205528 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/doc/gdb.texinfo 2017-02-24 22:18:02.176391400 +0100
|
||||||
+++ gdb-7.11.50.20160630/gdb/doc/gdb.texinfo 2016-07-03 14:34:32.030753651 +0200
|
+++ gdb-7.12.50.20170207/gdb/doc/gdb.texinfo 2017-02-24 22:32:38.803264463 +0100
|
||||||
@@ -18916,6 +18916,27 @@
|
@@ -18962,6 +18962,27 @@
|
||||||
|
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@ -126,10 +127,10 @@ Index: gdb-7.11.50.20160630/gdb/doc/gdb.texinfo
|
|||||||
@cindex @code{.gnu_debuglink} sections
|
@cindex @code{.gnu_debuglink} sections
|
||||||
@cindex debug link sections
|
@cindex debug link sections
|
||||||
A debug link is a special section of the executable file named
|
A debug link is a special section of the executable file named
|
||||||
Index: gdb-7.11.50.20160630/gdb/solib-svr4.c
|
Index: gdb-7.12.50.20170207/gdb/solib-svr4.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160630.orig/gdb/solib-svr4.c 2016-07-03 14:33:28.130205528 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/solib-svr4.c 2017-02-24 22:18:02.176391400 +0100
|
||||||
+++ gdb-7.11.50.20160630/gdb/solib-svr4.c 2016-07-03 14:34:32.031753659 +0200
|
+++ gdb-7.12.50.20170207/gdb/solib-svr4.c 2017-02-24 22:32:38.804264469 +0100
|
||||||
@@ -45,6 +45,7 @@
|
@@ -45,6 +45,7 @@
|
||||||
#include "auxv.h"
|
#include "auxv.h"
|
||||||
#include "gdb_bfd.h"
|
#include "gdb_bfd.h"
|
||||||
@ -138,7 +139,7 @@ Index: gdb-7.11.50.20160630/gdb/solib-svr4.c
|
|||||||
|
|
||||||
static struct link_map_offsets *svr4_fetch_link_map_offsets (void);
|
static struct link_map_offsets *svr4_fetch_link_map_offsets (void);
|
||||||
static int svr4_have_link_map_offsets (void);
|
static int svr4_have_link_map_offsets (void);
|
||||||
@@ -1416,9 +1417,52 @@
|
@@ -1420,9 +1421,52 @@
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -194,41 +195,37 @@ Index: gdb-7.11.50.20160630/gdb/solib-svr4.c
|
|||||||
xfree (buffer);
|
xfree (buffer);
|
||||||
|
|
||||||
/* If this entry has no name, or its name matches the name
|
/* If this entry has no name, or its name matches the name
|
||||||
Index: gdb-7.11.50.20160630/gdb/elfread.c
|
Index: gdb-7.12.50.20170207/gdb/elfread.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160630.orig/gdb/elfread.c 2016-07-03 14:33:28.130205528 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/elfread.c 2017-02-24 22:18:02.176391400 +0100
|
||||||
+++ gdb-7.11.50.20160630/gdb/elfread.c 2016-07-03 14:34:32.031753659 +0200
|
+++ gdb-7.12.50.20170207/gdb/elfread.c 2017-02-24 22:32:38.805264476 +0100
|
||||||
@@ -1259,9 +1259,10 @@
|
@@ -1265,8 +1265,9 @@
|
||||||
&& objfile->separate_debug_objfile == NULL
|
&& objfile->separate_debug_objfile == NULL
|
||||||
&& objfile->separate_debug_objfile_backlink == NULL)
|
&& objfile->separate_debug_objfile_backlink == NULL)
|
||||||
{
|
{
|
||||||
- char *debugfile;
|
+ gdb::unique_xmalloc_ptr<char> build_id_filename;
|
||||||
+ char *debugfile, *build_id_filename;
|
gdb::unique_xmalloc_ptr<char> debugfile
|
||||||
|
- (find_separate_debug_file_by_buildid (objfile));
|
||||||
- debugfile = find_separate_debug_file_by_buildid (objfile);
|
+ (find_separate_debug_file_by_buildid (objfile, &build_id_filename));
|
||||||
+ debugfile = find_separate_debug_file_by_buildid (objfile,
|
|
||||||
+ &build_id_filename);
|
|
||||||
|
|
||||||
if (debugfile == NULL)
|
if (debugfile == NULL)
|
||||||
debugfile = find_separate_debug_file_by_debuglink (objfile);
|
debugfile.reset (find_separate_debug_file_by_debuglink (objfile));
|
||||||
@@ -1275,6 +1276,12 @@
|
@@ -1278,6 +1279,10 @@
|
||||||
symbol_file_add_separate (abfd, debugfile, symfile_flags, objfile);
|
symbol_file_add_separate (abfd.get (), debugfile.get (),
|
||||||
do_cleanups (cleanup);
|
symfile_flags, objfile);
|
||||||
}
|
}
|
||||||
+ /* Check if any separate debug info has been extracted out. */
|
+ /* Check if any separate debug info has been extracted out. */
|
||||||
+ else if (bfd_get_section_by_name (objfile->obfd, ".gnu_debuglink")
|
+ else if (bfd_get_section_by_name (objfile->obfd, ".gnu_debuglink")
|
||||||
+ != NULL)
|
+ != NULL)
|
||||||
+ debug_print_missing (objfile_name (objfile), build_id_filename);
|
+ debug_print_missing (objfile_name (objfile), build_id_filename.get ());
|
||||||
+
|
|
||||||
+ xfree (build_id_filename);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Index: gdb-7.11.50.20160630/gdb/symfile.h
|
Index: gdb-7.12.50.20170207/gdb/symfile.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160630.orig/gdb/symfile.h 2016-07-03 14:33:28.130205528 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/symfile.h 2017-02-24 22:18:02.176391400 +0100
|
||||||
+++ gdb-7.11.50.20160630/gdb/symfile.h 2016-07-03 14:34:32.032753668 +0200
|
+++ gdb-7.12.50.20170207/gdb/symfile.h 2017-02-24 22:32:38.805264476 +0100
|
||||||
@@ -589,6 +589,10 @@
|
@@ -573,6 +573,10 @@
|
||||||
void map_symbol_filenames (symbol_filename_ftype *fun, void *data,
|
void map_symbol_filenames (symbol_filename_ftype *fun, void *data,
|
||||||
int need_fullname);
|
int need_fullname);
|
||||||
|
|
||||||
@ -239,11 +236,11 @@ Index: gdb-7.11.50.20160630/gdb/symfile.h
|
|||||||
/* From dwarf2read.c */
|
/* From dwarf2read.c */
|
||||||
|
|
||||||
/* Names for a dwarf2 debugging section. The field NORMAL is the normal
|
/* Names for a dwarf2 debugging section. The field NORMAL is the normal
|
||||||
Index: gdb-7.11.50.20160630/gdb/testsuite/lib/gdb.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/lib/gdb.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160630.orig/gdb/testsuite/lib/gdb.exp 2016-07-03 14:33:28.130205528 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/testsuite/lib/gdb.exp 2017-02-24 22:18:02.176391400 +0100
|
||||||
+++ gdb-7.11.50.20160630/gdb/testsuite/lib/gdb.exp 2016-07-03 14:34:32.033753676 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/lib/gdb.exp 2017-02-24 22:32:38.806264483 +0100
|
||||||
@@ -1641,6 +1641,16 @@
|
@@ -1646,6 +1646,16 @@
|
||||||
warning "Couldn't set the width to 0."
|
warning "Couldn't set the width to 0."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -260,11 +257,11 @@ Index: gdb-7.11.50.20160630/gdb/testsuite/lib/gdb.exp
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
Index: gdb-7.11.50.20160630/gdb/testsuite/lib/mi-support.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/lib/mi-support.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160630.orig/gdb/testsuite/lib/mi-support.exp 2016-07-03 14:33:28.130205528 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/testsuite/lib/mi-support.exp 2017-02-24 22:18:02.176391400 +0100
|
||||||
+++ gdb-7.11.50.20160630/gdb/testsuite/lib/mi-support.exp 2016-07-03 14:34:32.033753676 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/lib/mi-support.exp 2017-02-24 22:32:38.807264489 +0100
|
||||||
@@ -309,6 +309,16 @@ proc default_mi_gdb_start { args } {
|
@@ -309,6 +309,16 @@
|
||||||
warning "Couldn't set the width to 0."
|
warning "Couldn't set the width to 0."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -281,9 +278,11 @@ Index: gdb-7.11.50.20160630/gdb/testsuite/lib/mi-support.exp
|
|||||||
|
|
||||||
if { $separate_inferior_pty } {
|
if { $separate_inferior_pty } {
|
||||||
mi_create_inferior_pty
|
mi_create_inferior_pty
|
||||||
--- gdb-7.11.90.20160907/gdb/testsuite/gdb.base/new-ui-pending-input.exp-orig 2016-09-07 04:01:15.000000000 +0200
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/new-ui-pending-input.exp
|
||||||
+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.base/new-ui-pending-input.exp 2016-09-07 22:35:35.818534069 +0200
|
===================================================================
|
||||||
@@ -62,6 +62,7 @@ proc test_command_line_new_ui_pending_in
|
--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.base/new-ui-pending-input.exp 2017-02-24 22:18:02.176391400 +0100
|
||||||
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/new-ui-pending-input.exp 2017-02-24 22:32:38.807264489 +0100
|
||||||
|
@@ -62,6 +62,7 @@
|
||||||
set options ""
|
set options ""
|
||||||
append options " -iex \"set height 0\""
|
append options " -iex \"set height 0\""
|
||||||
append options " -iex \"set width 0\""
|
append options " -iex \"set width 0\""
|
||||||
@ -291,25 +290,25 @@ Index: gdb-7.11.50.20160630/gdb/testsuite/lib/mi-support.exp
|
|||||||
append options " -iex \"new-ui console $extra_tty_name\""
|
append options " -iex \"new-ui console $extra_tty_name\""
|
||||||
append options " -ex \"b $bpline\""
|
append options " -ex \"b $bpline\""
|
||||||
append options " -ex \"run\""
|
append options " -ex \"run\""
|
||||||
Index: gdb-7.11.50.20160630/gdb/objfiles.h
|
Index: gdb-7.12.50.20170207/gdb/objfiles.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160630.orig/gdb/objfiles.h 2016-07-03 14:33:28.130205528 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/objfiles.h 2017-02-24 22:18:02.176391400 +0100
|
||||||
+++ gdb-7.11.50.20160630/gdb/objfiles.h 2016-07-03 14:34:32.034753685 +0200
|
+++ gdb-7.12.50.20170207/gdb/objfiles.h 2017-02-24 22:32:38.808264496 +0100
|
||||||
@@ -489,6 +489,10 @@
|
@@ -444,6 +444,10 @@
|
||||||
|
htab_t static_links;
|
||||||
#define OBJF_NOT_FILENAME (1 << 6)
|
};
|
||||||
|
|
||||||
+/* This file was loaded according to the BUILD_ID_CORE_LOADS rules. */
|
+/* This file was loaded according to the BUILD_ID_CORE_LOADS rules. */
|
||||||
+
|
+
|
||||||
+#define OBJF_BUILD_ID_CORE_LOADED (1 << 12)
|
+#define OBJF_BUILD_ID_CORE_LOADED static_cast<enum objfile_flag>(1 << 12)
|
||||||
+
|
+
|
||||||
/* Declarations for functions defined in objfiles.c */
|
/* Declarations for functions defined in objfiles.c */
|
||||||
|
|
||||||
extern struct objfile *allocate_objfile (bfd *, const char *name, int);
|
extern struct objfile *allocate_objfile (bfd *, const char *name,
|
||||||
Index: gdb-7.11.50.20160630/gdb/testsuite/gdb.base/corefile.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/corefile.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160630.orig/gdb/testsuite/gdb.base/corefile.exp 2016-07-03 14:33:28.130205528 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.base/corefile.exp 2017-02-24 22:18:02.176391400 +0100
|
||||||
+++ gdb-7.11.50.20160630/gdb/testsuite/gdb.base/corefile.exp 2016-07-03 14:34:32.034753685 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/corefile.exp 2017-02-24 22:32:38.808264496 +0100
|
||||||
@@ -293,3 +293,33 @@
|
@@ -293,3 +293,33 @@
|
||||||
pass $test
|
pass $test
|
||||||
}
|
}
|
||||||
@ -344,10 +343,10 @@ Index: gdb-7.11.50.20160630/gdb/testsuite/gdb.base/corefile.exp
|
|||||||
+ gdb_test "info files" "Local exec file:\r\n\[ \t\]*`[string_to_regexp $debugdir/$buildid]', file type .*"
|
+ gdb_test "info files" "Local exec file:\r\n\[ \t\]*`[string_to_regexp $debugdir/$buildid]', file type .*"
|
||||||
+ pass $wholetest
|
+ pass $wholetest
|
||||||
+}
|
+}
|
||||||
Index: gdb-7.11.50.20160630/gdb/build-id.c
|
Index: gdb-7.12.50.20170207/gdb/build-id.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160630.orig/gdb/build-id.c 2016-07-03 14:33:28.130205528 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/build-id.c 2017-02-24 22:18:02.176391400 +0100
|
||||||
+++ gdb-7.11.50.20160630/gdb/build-id.c 2016-07-03 14:36:50.124938187 +0200
|
+++ gdb-7.12.50.20170207/gdb/build-id.c 2017-02-24 22:45:25.817403162 +0100
|
||||||
@@ -26,11 +26,67 @@
|
@@ -26,11 +26,67 @@
|
||||||
#include "objfiles.h"
|
#include "objfiles.h"
|
||||||
#include "filenames.h"
|
#include "filenames.h"
|
||||||
@ -817,7 +816,7 @@ Index: gdb-7.11.50.20160630/gdb/build-id.c
|
|||||||
+
|
+
|
||||||
/* See build-id.h. */
|
/* See build-id.h. */
|
||||||
|
|
||||||
bfd *
|
gdb_bfd_ref_ptr
|
||||||
-build_id_to_debug_bfd (size_t build_id_len, const bfd_byte *build_id)
|
-build_id_to_debug_bfd (size_t build_id_len, const bfd_byte *build_id)
|
||||||
+build_id_to_debug_bfd (size_t build_id_len, const bfd_byte *build_id,
|
+build_id_to_debug_bfd (size_t build_id_len, const bfd_byte *build_id,
|
||||||
+ char **link_return, int add_debug_suffix)
|
+ char **link_return, int add_debug_suffix)
|
||||||
@ -827,7 +826,7 @@ Index: gdb-7.11.50.20160630/gdb/build-id.c
|
|||||||
VEC (char_ptr) *debugdir_vec;
|
VEC (char_ptr) *debugdir_vec;
|
||||||
struct cleanup *back_to;
|
struct cleanup *back_to;
|
||||||
int ix;
|
int ix;
|
||||||
bfd *abfd = NULL;
|
gdb_bfd_ref_ptr abfd;
|
||||||
- int alloc_len;
|
- int alloc_len;
|
||||||
|
|
||||||
/* DEBUG_FILE_DIRECTORY/.build-id/ab/cdef */
|
/* DEBUG_FILE_DIRECTORY/.build-id/ab/cdef */
|
||||||
@ -853,7 +852,7 @@ Index: gdb-7.11.50.20160630/gdb/build-id.c
|
|||||||
|
|
||||||
memcpy (link, debugdir, debugdir_len);
|
memcpy (link, debugdir, debugdir_len);
|
||||||
s = &link[debugdir_len];
|
s = &link[debugdir_len];
|
||||||
@@ -110,47 +544,281 @@
|
@@ -110,45 +544,290 @@
|
||||||
*s++ = '/';
|
*s++ = '/';
|
||||||
while (size-- > 0)
|
while (size-- > 0)
|
||||||
s += sprintf (s, "%02x", (unsigned) *data++);
|
s += sprintf (s, "%02x", (unsigned) *data++);
|
||||||
@ -903,38 +902,36 @@ Index: gdb-7.11.50.20160630/gdb/build-id.c
|
|||||||
+ inner = make_cleanup (xfree, filename);
|
+ inner = make_cleanup (xfree, filename);
|
||||||
+ abfd = gdb_bfd_open (filename, gnutarget, -1);
|
+ abfd = gdb_bfd_open (filename, gnutarget, -1);
|
||||||
+ do_cleanups (inner);
|
+ do_cleanups (inner);
|
||||||
|
+
|
||||||
|
+ if (abfd == NULL)
|
||||||
|
+ continue;
|
||||||
|
|
||||||
- if (filename == NULL)
|
- if (filename == NULL)
|
||||||
- continue;
|
- continue;
|
||||||
+ if (abfd == NULL)
|
+ if (build_id_verify (abfd.get(), build_id_len, build_id))
|
||||||
+ continue;
|
+ break;
|
||||||
|
|
||||||
- /* We expect to be silent on the non-existing files. */
|
- /* We expect to be silent on the non-existing files. */
|
||||||
- inner = make_cleanup (xfree, filename);
|
- inner = make_cleanup (xfree, filename);
|
||||||
- abfd = gdb_bfd_open (filename, gnutarget, -1);
|
- abfd = gdb_bfd_open (filename, gnutarget, -1);
|
||||||
- do_cleanups (inner);
|
- do_cleanups (inner);
|
||||||
+ if (build_id_verify (abfd, build_id_len, build_id))
|
+ abfd.release ();
|
||||||
+ break;
|
|
||||||
|
|
||||||
- if (abfd == NULL)
|
- if (abfd == NULL)
|
||||||
- continue;
|
- continue;
|
||||||
+ gdb_bfd_unref (abfd);
|
|
||||||
+ abfd = NULL;
|
|
||||||
|
|
||||||
- if (build_id_verify (abfd, build_id_len, build_id))
|
|
||||||
- break;
|
|
||||||
+ filename = NULL;
|
+ filename = NULL;
|
||||||
+ }
|
+ }
|
||||||
|
|
||||||
- gdb_bfd_unref (abfd);
|
- if (build_id_verify (abfd.get(), build_id_len, build_id))
|
||||||
- abfd = NULL;
|
- break;
|
||||||
+ if (filename != NULL)
|
+ if (filename != NULL)
|
||||||
+ {
|
+ {
|
||||||
+ /* LINK_ALL is not used below in this non-NULL FILENAME case. */
|
+ /* LINK_ALL is not used below in this non-NULL FILENAME case. */
|
||||||
+ xfree (link0);
|
+ xfree (link0);
|
||||||
+ break;
|
+ break;
|
||||||
+ }
|
+ }
|
||||||
+
|
|
||||||
|
- abfd.release ();
|
||||||
+ /* If the symlink has target request to install the target.
|
+ /* If the symlink has target request to install the target.
|
||||||
+ BASE-debuginfo.rpm contains the symlink but BASE.rpm may be missing.
|
+ BASE-debuginfo.rpm contains the symlink but BASE.rpm may be missing.
|
||||||
+ https://bugzilla.redhat.com/show_bug.cgi?id=981154 */
|
+ https://bugzilla.redhat.com/show_bug.cgi?id=981154 */
|
||||||
@ -982,7 +979,7 @@ Index: gdb-7.11.50.20160630/gdb/build-id.c
|
|||||||
+char *
|
+char *
|
||||||
+build_id_to_filename (const struct bfd_build_id *build_id, char **link_return)
|
+build_id_to_filename (const struct bfd_build_id *build_id, char **link_return)
|
||||||
+{
|
+{
|
||||||
+ bfd *abfd;
|
+ gdb_bfd_ref_ptr abfd;
|
||||||
+ char *result;
|
+ char *result;
|
||||||
+
|
+
|
||||||
+ abfd = build_id_to_debug_bfd (build_id->size, build_id->data, link_return, 0);
|
+ abfd = build_id_to_debug_bfd (build_id->size, build_id->data, link_return, 0);
|
||||||
@ -990,7 +987,7 @@ Index: gdb-7.11.50.20160630/gdb/build-id.c
|
|||||||
+ return NULL;
|
+ return NULL;
|
||||||
+
|
+
|
||||||
+ result = xstrdup (bfd_get_filename (abfd));
|
+ result = xstrdup (bfd_get_filename (abfd));
|
||||||
+ gdb_bfd_unref (abfd);
|
+ abfd.release ();
|
||||||
+ return result;
|
+ return result;
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
@ -1135,7 +1132,7 @@ Index: gdb-7.11.50.20160630/gdb/build-id.c
|
|||||||
char *
|
char *
|
||||||
-find_separate_debug_file_by_buildid (struct objfile *objfile)
|
-find_separate_debug_file_by_buildid (struct objfile *objfile)
|
||||||
+find_separate_debug_file_by_buildid (struct objfile *objfile,
|
+find_separate_debug_file_by_buildid (struct objfile *objfile,
|
||||||
+ char **build_id_filename_return)
|
+ gdb::unique_xmalloc_ptr<char> *build_id_filename_return)
|
||||||
{
|
{
|
||||||
const struct bfd_build_id *build_id;
|
const struct bfd_build_id *build_id;
|
||||||
|
|
||||||
@ -1146,15 +1143,25 @@ Index: gdb-7.11.50.20160630/gdb/build-id.c
|
|||||||
+ build_id = build_id_bfd_shdr_get (objfile->obfd);
|
+ build_id = build_id_bfd_shdr_get (objfile->obfd);
|
||||||
if (build_id != NULL)
|
if (build_id != NULL)
|
||||||
{
|
{
|
||||||
bfd *abfd;
|
+ char *build_id_filename_cstr = NULL;
|
||||||
|
gdb_bfd_ref_ptr abfd (build_id_to_debug_bfd (build_id->size,
|
||||||
- abfd = build_id_to_debug_bfd (build_id->size, build_id->data);
|
- build_id->data));
|
||||||
+ abfd = build_id_to_debug_bfd (build_id->size, build_id->data,
|
+ build_id->data,
|
||||||
+ build_id_filename_return, 1);
|
+ (!build_id_filename_return ? NULL : &build_id_filename_cstr), 1));
|
||||||
|
+ if (build_id_filename_return)
|
||||||
|
+ {
|
||||||
|
+ if (!build_id_filename_cstr)
|
||||||
|
+ gdb_assert (!*build_id_filename_return);
|
||||||
|
+ else
|
||||||
|
+ {
|
||||||
|
+ *build_id_filename_return = gdb::unique_xmalloc_ptr<char> (build_id_filename_cstr);
|
||||||
|
+ build_id_filename_cstr = NULL;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
/* Prevent looping on a stripped .debug file. */
|
/* Prevent looping on a stripped .debug file. */
|
||||||
if (abfd != NULL
|
if (abfd != NULL
|
||||||
&& filename_cmp (bfd_get_filename (abfd),
|
&& filename_cmp (bfd_get_filename (abfd.get ()),
|
||||||
@@ -170,3 +838,21 @@
|
@@ -160,3 +839,21 @@
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@ -1176,13 +1183,13 @@ Index: gdb-7.11.50.20160630/gdb/build-id.c
|
|||||||
+
|
+
|
||||||
+ observer_attach_executable_changed (debug_print_executable_changed);
|
+ observer_attach_executable_changed (debug_print_executable_changed);
|
||||||
+}
|
+}
|
||||||
Index: gdb-7.11.50.20160630/gdb/build-id.h
|
Index: gdb-7.12.50.20170207/gdb/build-id.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160630.orig/gdb/build-id.h 2016-07-03 14:33:28.130205528 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/build-id.h 2017-02-24 22:18:02.176391400 +0100
|
||||||
+++ gdb-7.11.50.20160630/gdb/build-id.h 2016-07-03 14:34:32.035753694 +0200
|
+++ gdb-7.12.50.20170207/gdb/build-id.h 2017-02-24 22:32:38.809264503 +0100
|
||||||
@@ -20,9 +20,10 @@
|
@@ -22,9 +22,10 @@
|
||||||
#ifndef BUILD_ID_H
|
|
||||||
#define BUILD_ID_H
|
#include "gdb_bfd.h"
|
||||||
|
|
||||||
-/* Locate NT_GNU_BUILD_ID from ABFD and return its content. */
|
-/* Locate NT_GNU_BUILD_ID from ABFD and return its content. */
|
||||||
+/* Separate debuginfo files have corrupted PHDR but SHDR is correct there.
|
+/* Separate debuginfo files have corrupted PHDR but SHDR is correct there.
|
||||||
@ -1193,13 +1200,14 @@ Index: gdb-7.11.50.20160630/gdb/build-id.h
|
|||||||
|
|
||||||
/* Return true if ABFD has NT_GNU_BUILD_ID matching the CHECK value.
|
/* Return true if ABFD has NT_GNU_BUILD_ID matching the CHECK value.
|
||||||
Otherwise, issue a warning and return false. */
|
Otherwise, issue a warning and return false. */
|
||||||
@@ -36,13 +37,18 @@
|
@@ -38,13 +39,19 @@
|
||||||
the caller. */
|
the caller. */
|
||||||
|
|
||||||
extern bfd *build_id_to_debug_bfd (size_t build_id_len,
|
extern gdb_bfd_ref_ptr build_id_to_debug_bfd (size_t build_id_len,
|
||||||
- const bfd_byte *build_id);
|
- const bfd_byte *build_id);
|
||||||
+ const bfd_byte *build_id, char **link_return,
|
+ const bfd_byte *build_id,
|
||||||
+ int add_debug_suffix);
|
+ char **link_return,
|
||||||
|
+ int add_debug_suffix);
|
||||||
+
|
+
|
||||||
+extern char *build_id_to_filename (const struct bfd_build_id *build_id,
|
+extern char *build_id_to_filename (const struct bfd_build_id *build_id,
|
||||||
+ char **link_return);
|
+ char **link_return);
|
||||||
@ -1211,14 +1219,14 @@ Index: gdb-7.11.50.20160630/gdb/build-id.h
|
|||||||
|
|
||||||
-extern char *find_separate_debug_file_by_buildid (struct objfile *objfile);
|
-extern char *find_separate_debug_file_by_buildid (struct objfile *objfile);
|
||||||
+extern char *find_separate_debug_file_by_buildid (struct objfile *objfile,
|
+extern char *find_separate_debug_file_by_buildid (struct objfile *objfile,
|
||||||
+ char **build_id_filename_return);
|
+ gdb::unique_xmalloc_ptr<char> *build_id_filename_return);
|
||||||
|
|
||||||
#endif /* BUILD_ID_H */
|
#endif /* BUILD_ID_H */
|
||||||
Index: gdb-7.11.50.20160630/gdb/dwarf2read.c
|
Index: gdb-7.12.50.20170207/gdb/dwarf2read.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160630.orig/gdb/dwarf2read.c 2016-07-03 14:33:28.130205528 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/dwarf2read.c 2017-02-24 22:18:02.176391400 +0100
|
||||||
+++ gdb-7.11.50.20160630/gdb/dwarf2read.c 2016-07-03 14:34:32.040753736 +0200
|
+++ gdb-7.12.50.20170207/gdb/dwarf2read.c 2017-02-24 22:32:38.814264536 +0100
|
||||||
@@ -2535,7 +2535,7 @@
|
@@ -2534,7 +2534,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dwz_bfd == NULL)
|
if (dwz_bfd == NULL)
|
||||||
@ -1227,10 +1235,10 @@ Index: gdb-7.11.50.20160630/gdb/dwarf2read.c
|
|||||||
|
|
||||||
if (dwz_bfd == NULL)
|
if (dwz_bfd == NULL)
|
||||||
error (_("could not find '.gnu_debugaltlink' file for %s"),
|
error (_("could not find '.gnu_debugaltlink' file for %s"),
|
||||||
Index: gdb-7.11.50.20160630/gdb/python/py-objfile.c
|
Index: gdb-7.12.50.20170207/gdb/python/py-objfile.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160630.orig/gdb/python/py-objfile.c 2016-07-03 14:33:28.130205528 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/python/py-objfile.c 2017-02-24 22:18:02.176391400 +0100
|
||||||
+++ gdb-7.11.50.20160630/gdb/python/py-objfile.c 2016-07-03 14:34:32.040753736 +0200
|
+++ gdb-7.12.50.20170207/gdb/python/py-objfile.c 2017-02-24 22:32:38.814264536 +0100
|
||||||
@@ -136,7 +136,7 @@
|
@@ -136,7 +136,7 @@
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
@ -1240,7 +1248,7 @@ Index: gdb-7.11.50.20160630/gdb/python/py-objfile.c
|
|||||||
}
|
}
|
||||||
CATCH (except, RETURN_MASK_ALL)
|
CATCH (except, RETURN_MASK_ALL)
|
||||||
{
|
{
|
||||||
@@ -547,7 +547,7 @@
|
@@ -546,7 +546,7 @@
|
||||||
/* Don't return separate debug files. */
|
/* Don't return separate debug files. */
|
||||||
if (objfile->separate_debug_objfile_backlink != NULL)
|
if (objfile->separate_debug_objfile_backlink != NULL)
|
||||||
continue;
|
continue;
|
||||||
@ -1249,11 +1257,11 @@ Index: gdb-7.11.50.20160630/gdb/python/py-objfile.c
|
|||||||
if (obfd_build_id == NULL)
|
if (obfd_build_id == NULL)
|
||||||
continue;
|
continue;
|
||||||
if (objfpy_build_id_matches (obfd_build_id, build_id))
|
if (objfpy_build_id_matches (obfd_build_id, build_id))
|
||||||
Index: gdb-7.11.50.20160630/gdb/coffread.c
|
Index: gdb-7.12.50.20170207/gdb/coffread.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160630.orig/gdb/coffread.c 2016-07-03 14:33:28.130205528 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/coffread.c 2017-02-24 22:18:02.176391400 +0100
|
||||||
+++ gdb-7.11.50.20160630/gdb/coffread.c 2016-07-03 14:34:32.041753745 +0200
|
+++ gdb-7.12.50.20170207/gdb/coffread.c 2017-02-24 22:32:38.815264543 +0100
|
||||||
@@ -737,7 +737,7 @@
|
@@ -734,7 +734,7 @@
|
||||||
{
|
{
|
||||||
char *debugfile;
|
char *debugfile;
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: gdb-7.11.90.20160904/gdb/infrun.c
|
Index: gdb-7.12.50.20170207/gdb/infrun.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.90.20160904.orig/gdb/infrun.c 2016-09-04 17:57:12.733853848 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/infrun.c 2017-02-07 21:07:40.321202448 +0100
|
||||||
+++ gdb-7.11.90.20160904/gdb/infrun.c 2016-09-04 17:57:45.568145391 +0200
|
+++ gdb-7.12.50.20170207/gdb/infrun.c 2017-02-07 21:07:42.680220365 +0100
|
||||||
@@ -2218,7 +2218,7 @@
|
@@ -2218,7 +2218,7 @@
|
||||||
schedlock_replay,
|
schedlock_replay,
|
||||||
NULL
|
NULL
|
||||||
@ -11,10 +11,10 @@ Index: gdb-7.11.90.20160904/gdb/infrun.c
|
|||||||
static void
|
static void
|
||||||
show_scheduler_mode (struct ui_file *file, int from_tty,
|
show_scheduler_mode (struct ui_file *file, int from_tty,
|
||||||
struct cmd_list_element *c, const char *value)
|
struct cmd_list_element *c, const char *value)
|
||||||
Index: gdb-7.11.90.20160904/gdb/testsuite/gdb.mi/mi-cli.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi-cli.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.90.20160904.orig/gdb/testsuite/gdb.mi/mi-cli.exp 2016-09-04 17:57:12.733853848 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.mi/mi-cli.exp 2017-02-07 21:07:40.322202455 +0100
|
||||||
+++ gdb-7.11.90.20160904/gdb/testsuite/gdb.mi/mi-cli.exp 2016-09-04 17:57:45.569145399 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi-cli.exp 2017-02-07 21:07:42.680220365 +0100
|
||||||
@@ -199,7 +199,7 @@
|
@@ -199,7 +199,7 @@
|
||||||
# Test that the token is output even for CLI commands
|
# Test that the token is output even for CLI commands
|
||||||
# Also test that *stopped includes frame information.
|
# Also test that *stopped includes frame information.
|
||||||
@ -24,32 +24,32 @@ Index: gdb-7.11.90.20160904/gdb/testsuite/gdb.mi/mi-cli.exp
|
|||||||
"34 next: run"
|
"34 next: run"
|
||||||
|
|
||||||
# Test that the new current source line is output to the console
|
# Test that the new current source line is output to the console
|
||||||
Index: gdb-7.11.90.20160904/gdb/testsuite/gdb.mi/mi-logging.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi-logging.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.90.20160904.orig/gdb/testsuite/gdb.mi/mi-logging.exp 2016-09-04 17:57:12.733853848 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.mi/mi-logging.exp 2017-02-07 21:07:42.681220372 +0100
|
||||||
+++ gdb-7.11.90.20160904/gdb/testsuite/gdb.mi/mi-logging.exp 2016-09-04 17:57:45.569145399 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi-logging.exp 2017-02-07 21:09:36.950088269 +0100
|
||||||
@@ -53,7 +53,7 @@
|
@@ -53,7 +53,7 @@
|
||||||
|
|
||||||
set mi_log_prompt "\[(\]gdb\[)\] \[\r\n\]+"
|
set mi_log_prompt "\[(\]gdb\[)\] \[\r\n\]+"
|
||||||
|
|
||||||
-if [regexp "\\^done\[\r\n\]+$mi_log_prompt\\^running\[\r\n\]+\\*running,thread-id=\"all\"\[\r\n\]+$mi_log_prompt\\*stopped,reason=\"end-stepping-range\",.*\[\r\n\]+$mi_log_prompt\\^running\[\r\n\]+\\*running,thread-id=\"all\"\[\r\n\]+$mi_log_prompt\\*stopped,reason=\"end-stepping-range\",.*\[\r\n\]+$mi_log_prompt" $logcontent] {
|
-if [regexp "\\^done\[\r\n\]+$mi_log_prompt\\^running\[\r\n\]+\\*running,thread-id=\"all\"\[\r\n\]+$mi_log_prompt\\*stopped,reason=\"end-stepping-range\",.*\[\r\n\]+$mi_log_prompt\\^running\[\r\n\]+\\*running,thread-id=\"all\"\[\r\n\]+$mi_log_prompt\\*stopped,reason=\"end-stepping-range\",.*\[\r\n\]+$mi_log_prompt" $logcontent] {
|
||||||
+if [regexp "\\^done\[\r\n\]+$mi_log_prompt\\^running\[\r\n\]+\\*running,thread-id=\"1\"\[\r\n\]+$mi_log_prompt\\*stopped,reason=\"end-stepping-range\",.*\[\r\n\]+$mi_log_prompt\\^running\[\r\n\]+\\*running,thread-id=\"1\"\[\r\n\]+$mi_log_prompt\\*stopped,reason=\"end-stepping-range\",.*\[\r\n\]+$mi_log_prompt" $logcontent] {
|
+if [regexp "\\^done\[\r\n\]+$mi_log_prompt\\^running\[\r\n\]+\\*running,thread-id=\"1\"\[\r\n\]+$mi_log_prompt\\*stopped,reason=\"end-stepping-range\",.*\[\r\n\]+$mi_log_prompt\\^running\[\r\n\]+\\*running,thread-id=\"1\"\[\r\n\]+$mi_log_prompt\\*stopped,reason=\"end-stepping-range\",.*\[\r\n\]+$mi_log_prompt" $logcontent] {
|
||||||
pass "Log file contents"
|
pass "log file contents"
|
||||||
} else {
|
} else {
|
||||||
fail "Log file contents"
|
fail "log file contents"
|
||||||
@@ -76,7 +76,7 @@
|
@@ -76,7 +76,7 @@
|
||||||
set logcontent [read $chan]
|
set logcontent [read $chan]
|
||||||
close $chan
|
close $chan
|
||||||
|
|
||||||
-if [regexp "1001\\^done\[\r\n\]+$mi_log_prompt.*1002\\^running\[\r\n\]+\\*running,thread-id=\"all\"\[\r\n\]+$mi_log_prompt\\*stopped,reason=\"end-stepping-range\",.*\[\r\n\]+$mi_log_prompt.*1003\\^running\[\r\n\]+\\*running,thread-id=\"all\"\[\r\n\]+$mi_log_prompt\\*stopped,reason=\"end-stepping-range\",.*\[\r\n\]+$mi_log_prompt" $logcontent] {
|
-if [regexp "1001\\^done\[\r\n\]+$mi_log_prompt.*1002\\^running\[\r\n\]+\\*running,thread-id=\"all\"\[\r\n\]+$mi_log_prompt\\*stopped,reason=\"end-stepping-range\",.*\[\r\n\]+$mi_log_prompt.*1003\\^running\[\r\n\]+\\*running,thread-id=\"all\"\[\r\n\]+$mi_log_prompt\\*stopped,reason=\"end-stepping-range\",.*\[\r\n\]+$mi_log_prompt" $logcontent] {
|
||||||
+if [regexp "1001\\^done\[\r\n\]+$mi_log_prompt.*1002\\^running\[\r\n\]+\\*running,thread-id=\"1\"\[\r\n\]+$mi_log_prompt\\*stopped,reason=\"end-stepping-range\",.*\[\r\n\]+$mi_log_prompt.*1003\\^running\[\r\n\]+\\*running,thread-id=\"1\"\[\r\n\]+$mi_log_prompt\\*stopped,reason=\"end-stepping-range\",.*\[\r\n\]+$mi_log_prompt" $logcontent] {
|
+if [regexp "1001\\^done\[\r\n\]+$mi_log_prompt.*1002\\^running\[\r\n\]+\\*running,thread-id=\"1\"\[\r\n\]+$mi_log_prompt\\*stopped,reason=\"end-stepping-range\",.*\[\r\n\]+$mi_log_prompt.*1003\\^running\[\r\n\]+\\*running,thread-id=\"1\"\[\r\n\]+$mi_log_prompt\\*stopped,reason=\"end-stepping-range\",.*\[\r\n\]+$mi_log_prompt" $logcontent] {
|
||||||
pass "Redirect log file contents"
|
pass "redirect log file contents"
|
||||||
} else {
|
} else {
|
||||||
fail "Redirect log file contents"
|
fail "redirect log file contents"
|
||||||
Index: gdb-7.11.90.20160904/gdb/testsuite/gdb.mi/mi-console.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi-console.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.90.20160904.orig/gdb/testsuite/gdb.mi/mi-console.exp 2016-09-04 17:57:12.733853848 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.mi/mi-console.exp 2017-02-07 21:07:40.323202463 +0100
|
||||||
+++ gdb-7.11.90.20160904/gdb/testsuite/gdb.mi/mi-console.exp 2016-09-04 17:57:45.569145399 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi-console.exp 2017-02-07 21:07:42.681220372 +0100
|
||||||
@@ -60,6 +60,9 @@
|
@@ -60,6 +60,9 @@
|
||||||
|
|
||||||
mi_run_to_main
|
mi_run_to_main
|
||||||
@ -60,10 +60,10 @@ Index: gdb-7.11.90.20160904/gdb/testsuite/gdb.mi/mi-console.exp
|
|||||||
# The output we get from the target depends on how it is hosted. If
|
# The output we get from the target depends on how it is hosted. If
|
||||||
# we are semihosted (e.g., the sim or a remote target that supports
|
# we are semihosted (e.g., the sim or a remote target that supports
|
||||||
# the File I/O remote protocol extension), we see the target I/O
|
# the File I/O remote protocol extension), we see the target I/O
|
||||||
Index: gdb-7.11.90.20160904/gdb/testsuite/gdb.opt/inline-cmds.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/inline-cmds.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.90.20160904.orig/gdb/testsuite/gdb.opt/inline-cmds.exp 2016-09-04 17:59:44.600202299 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.opt/inline-cmds.exp 2017-02-07 21:07:40.323202463 +0100
|
||||||
+++ gdb-7.11.90.20160904/gdb/testsuite/gdb.opt/inline-cmds.exp 2016-09-04 18:00:04.616380027 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/inline-cmds.exp 2017-02-07 21:07:42.681220372 +0100
|
||||||
@@ -331,7 +331,7 @@
|
@@ -331,7 +331,7 @@
|
||||||
|
|
||||||
send_gdb "interpreter-exec console \"step\"\n"
|
send_gdb "interpreter-exec console \"step\"\n"
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
Index: gdb-7.4.50.20111219/gdb/testsuite/gdb.threads/staticthreads.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.threads/staticthreads.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.4.50.20111219.orig/gdb/testsuite/gdb.threads/staticthreads.exp 2011-12-19 21:07:01.436475201 +0100
|
--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.threads/staticthreads.exp 2017-02-26 17:24:48.392316045 +0100
|
||||||
+++ gdb-7.4.50.20111219/gdb/testsuite/gdb.threads/staticthreads.exp 2011-12-19 22:08:55.444514127 +0100
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.threads/staticthreads.exp 2017-02-26 17:25:38.649677595 +0100
|
||||||
@@ -45,6 +45,13 @@ gdb_test_no_output "set print sevenbit-s
|
@@ -41,6 +41,13 @@
|
||||||
# See if the static multi-threaded program runs.
|
# See if the static multi-threaded program runs.
|
||||||
|
|
||||||
runto_main
|
runto_main
|
||||||
@ -14,5 +14,5 @@ Index: gdb-7.4.50.20111219/gdb/testsuite/gdb.threads/staticthreads.exp
|
|||||||
+gdb_test "info threads" "^info threads\r\n\[ \t\]*Id\[ \t\]+Target Id\[ \t\]+Frame\[ \t\]*\r\n\[^\r\n\]* Thread \[^\r\n\]*" "info threads on start"
|
+gdb_test "info threads" "^info threads\r\n\[ \t\]*Id\[ \t\]+Target Id\[ \t\]+Frame\[ \t\]*\r\n\[^\r\n\]* Thread \[^\r\n\]*" "info threads on start"
|
||||||
+
|
+
|
||||||
gdb_test "break sem_post"
|
gdb_test "break sem_post"
|
||||||
set test "Continue to main's call of sem_post"
|
set test "continue to main's call of sem_post"
|
||||||
gdb_test_multiple "continue" "$test" {
|
gdb_test_multiple "continue" "$test" {
|
||||||
|
@ -1,707 +0,0 @@
|
|||||||
http://sourceware.org/ml/gdb-patches/2007-12/msg00397.html
|
|
||||||
|
|
||||||
2007-12-22 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
||||||
|
|
||||||
* gdb.arch/i386-interface.S, gdb.arch/i386-interface.exp: New files.
|
|
||||||
|
|
||||||
2008-03-02 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
||||||
|
|
||||||
* gdb.arch/i386-interface.exp: Fix a testcase race.
|
|
||||||
|
|
||||||
Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.arch/i386-interface.S
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.arch/i386-interface.S 2016-02-15 23:23:03.318502357 +0100
|
|
||||||
@@ -0,0 +1,628 @@
|
|
||||||
+/* Copyright 2007 Free Software Foundation, Inc.
|
|
||||||
+
|
|
||||||
+ This program is free software; you can redistribute it and/or modify
|
|
||||||
+ it under the terms of the GNU General Public License as published by
|
|
||||||
+ the Free Software Foundation; either version 3 of the License, or
|
|
||||||
+ (at your option) any later version.
|
|
||||||
+
|
|
||||||
+ This program is distributed in the hope that it will be useful,
|
|
||||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
+ GNU General Public License for more details.
|
|
||||||
+
|
|
||||||
+ You should have received a copy of the GNU General Public License
|
|
||||||
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
+
|
|
||||||
+ Please email any bugs, comments, and/or additions to this file to:
|
|
||||||
+ bug-gdb@gnu.org
|
|
||||||
+
|
|
||||||
+ This file is part of the gdb testsuite.
|
|
||||||
+
|
|
||||||
+ This file was produced by:
|
|
||||||
+ $ gcj -S interface.java -ggdb2 -Wall -m32
|
|
||||||
+ from the .java file:
|
|
||||||
+ interface Interface
|
|
||||||
+ {
|
|
||||||
+ }
|
|
||||||
+ class Class implements Interface
|
|
||||||
+ {
|
|
||||||
+ }
|
|
||||||
+*/
|
|
||||||
+
|
|
||||||
+ .file "cc28Pp2B.jar"
|
|
||||||
+ .section .debug_abbrev,"",@progbits
|
|
||||||
+.Ldebug_abbrev0:
|
|
||||||
+ .section .debug_info,"",@progbits
|
|
||||||
+.Ldebug_info0:
|
|
||||||
+ .section .debug_line,"",@progbits
|
|
||||||
+.Ldebug_line0:
|
|
||||||
+ .text
|
|
||||||
+.Ltext0:
|
|
||||||
+ .local _MT_Interface
|
|
||||||
+ .comm _MT_Interface,0,4
|
|
||||||
+ .data
|
|
||||||
+ .align 4
|
|
||||||
+ .type _catch_classes_Interface, @object
|
|
||||||
+ .size _catch_classes_Interface, 24
|
|
||||||
+_catch_classes_Interface:
|
|
||||||
+ .zero 24
|
|
||||||
+ .section .rodata
|
|
||||||
+ .align 2
|
|
||||||
+ .type _Utf1, @object
|
|
||||||
+ .size _Utf1, 4
|
|
||||||
+_Utf1:
|
|
||||||
+ .value 36121
|
|
||||||
+ .value 9
|
|
||||||
+ .ascii "Interface"
|
|
||||||
+ .zero 1
|
|
||||||
+.globl _ZN9Interface6class$E
|
|
||||||
+ .data
|
|
||||||
+ .align 32
|
|
||||||
+ .type _ZN9Interface6class$E, @object
|
|
||||||
+ .size _ZN9Interface6class$E, 144
|
|
||||||
+_ZN9Interface6class$E:
|
|
||||||
+ .long _ZTVN4java4lang5ClassE+8
|
|
||||||
+ .long 403000
|
|
||||||
+ .long _Utf1
|
|
||||||
+ .value 1536
|
|
||||||
+ .zero 2
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long _MT_Interface
|
|
||||||
+ .value 0
|
|
||||||
+ .value 6
|
|
||||||
+ .long 0
|
|
||||||
+ .long 4
|
|
||||||
+ .value 0
|
|
||||||
+ .value 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long _catch_classes_Interface
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .value 0
|
|
||||||
+ .byte 1
|
|
||||||
+ .zero 1
|
|
||||||
+ .long 0
|
|
||||||
+ .value 0
|
|
||||||
+ .zero 2
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .hidden _ZN9Interface7class$$E
|
|
||||||
+.globl _ZN9Interface7class$$E
|
|
||||||
+ .section .rodata
|
|
||||||
+ .align 4
|
|
||||||
+ .type _ZN9Interface7class$$E, @object
|
|
||||||
+ .size _ZN9Interface7class$$E, 4
|
|
||||||
+_ZN9Interface7class$$E:
|
|
||||||
+ .long _ZN9Interface6class$E
|
|
||||||
+ .text
|
|
||||||
+ .align 2
|
|
||||||
+.globl _ZN5ClassC1Ev
|
|
||||||
+ .type _ZN5ClassC1Ev, @function
|
|
||||||
+_ZN5ClassC1Ev:
|
|
||||||
+.LFB2:
|
|
||||||
+ pushl %ebp
|
|
||||||
+.LCFI0:
|
|
||||||
+ movl %esp, %ebp
|
|
||||||
+.LCFI1:
|
|
||||||
+ subl $24, %esp
|
|
||||||
+.LCFI2:
|
|
||||||
+.LBB2:
|
|
||||||
+#if 0
|
|
||||||
+ .file 1 "interface.java"
|
|
||||||
+#else
|
|
||||||
+ .file "interface.java"
|
|
||||||
+#endif
|
|
||||||
+ .loc 1 4 0
|
|
||||||
+ movl 8(%ebp), %eax
|
|
||||||
+ movl %eax, -4(%ebp)
|
|
||||||
+ movl -4(%ebp), %eax
|
|
||||||
+ movl %eax, (%esp)
|
|
||||||
+ call _ZN4java4lang6ObjectC1Ev
|
|
||||||
+.LBE2:
|
|
||||||
+ leave
|
|
||||||
+ ret
|
|
||||||
+.LFE2:
|
|
||||||
+ .size _ZN5ClassC1Ev, .-_ZN5ClassC1Ev
|
|
||||||
+ .hidden _ZTVN5ClassE
|
|
||||||
+.globl _ZTVN5ClassE
|
|
||||||
+ .data
|
|
||||||
+ .align 32
|
|
||||||
+ .type _ZTVN5ClassE, @object
|
|
||||||
+ .size _ZTVN5ClassE, 40
|
|
||||||
+_ZTVN5ClassE:
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long _ZN5Class6class$E
|
|
||||||
+ .long 4
|
|
||||||
+ .long _ZN4java4lang6Object8finalizeEJvv
|
|
||||||
+ .long _ZN4java4lang6Object8hashCodeEJiv
|
|
||||||
+ .long _ZN4java4lang6Object6equalsEJbPS1_
|
|
||||||
+ .long _ZN4java4lang6Object8toStringEJPNS0_6StringEv
|
|
||||||
+ .long _ZN4java4lang6Object5cloneEJPS1_v
|
|
||||||
+ .long _ZN4java4lang6Object22throwNoSuchMethodErrorEJvv
|
|
||||||
+ .set .L_ZN5ClassC1Ev0,_ZN5ClassC1Ev
|
|
||||||
+ .section .rodata
|
|
||||||
+ .align 2
|
|
||||||
+ .type _Utf2, @object
|
|
||||||
+ .size _Utf2, 4
|
|
||||||
+_Utf2:
|
|
||||||
+ .value 626
|
|
||||||
+ .value 6
|
|
||||||
+ .ascii "<init>"
|
|
||||||
+ .zero 1
|
|
||||||
+ .align 2
|
|
||||||
+ .type _Utf3, @object
|
|
||||||
+ .size _Utf3, 4
|
|
||||||
+_Utf3:
|
|
||||||
+ .value 39797
|
|
||||||
+ .value 3
|
|
||||||
+ .ascii "()V"
|
|
||||||
+ .zero 1
|
|
||||||
+ .data
|
|
||||||
+ .align 4
|
|
||||||
+ .type _MT_Class, @object
|
|
||||||
+ .size _MT_Class, 20
|
|
||||||
+_MT_Class:
|
|
||||||
+ .long _Utf2
|
|
||||||
+ .long _Utf3
|
|
||||||
+ .value 16384
|
|
||||||
+ .value -1
|
|
||||||
+ .long .L_ZN5ClassC1Ev0
|
|
||||||
+ .long 0
|
|
||||||
+ .align 4
|
|
||||||
+ .type _IF_Class, @object
|
|
||||||
+ .size _IF_Class, 4
|
|
||||||
+_IF_Class:
|
|
||||||
+ .long _ZN9Interface6class$E
|
|
||||||
+ .align 4
|
|
||||||
+ .type _catch_classes_Class, @object
|
|
||||||
+ .size _catch_classes_Class, 24
|
|
||||||
+_catch_classes_Class:
|
|
||||||
+ .zero 24
|
|
||||||
+ .section .rodata
|
|
||||||
+ .align 2
|
|
||||||
+ .type _Utf4, @object
|
|
||||||
+ .size _Utf4, 4
|
|
||||||
+_Utf4:
|
|
||||||
+ .value 47448
|
|
||||||
+ .value 5
|
|
||||||
+ .ascii "Class"
|
|
||||||
+ .zero 1
|
|
||||||
+.globl _ZN5Class6class$E
|
|
||||||
+ .data
|
|
||||||
+ .align 32
|
|
||||||
+ .type _ZN5Class6class$E, @object
|
|
||||||
+ .size _ZN5Class6class$E, 144
|
|
||||||
+_ZN5Class6class$E:
|
|
||||||
+ .long _ZTVN4java4lang5ClassE+8
|
|
||||||
+ .long 403000
|
|
||||||
+ .long _Utf4
|
|
||||||
+ .value 32
|
|
||||||
+ .zero 2
|
|
||||||
+ .long _ZN4java4lang6Object6class$E
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long _MT_Class
|
|
||||||
+ .value 1
|
|
||||||
+ .value 6
|
|
||||||
+ .long 0
|
|
||||||
+ .long 4
|
|
||||||
+ .value 0
|
|
||||||
+ .value 0
|
|
||||||
+ .long _ZTVN5ClassE+8
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long _catch_classes_Class
|
|
||||||
+ .long _IF_Class
|
|
||||||
+ .long 0
|
|
||||||
+ .value 1
|
|
||||||
+ .byte 1
|
|
||||||
+ .zero 1
|
|
||||||
+ .long 0
|
|
||||||
+ .value 0
|
|
||||||
+ .zero 2
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .long 0
|
|
||||||
+ .hidden _ZN5Class7class$$E
|
|
||||||
+.globl _ZN5Class7class$$E
|
|
||||||
+ .section .rodata
|
|
||||||
+ .align 4
|
|
||||||
+ .type _ZN5Class7class$$E, @object
|
|
||||||
+ .size _ZN5Class7class$$E, 4
|
|
||||||
+_ZN5Class7class$$E:
|
|
||||||
+ .long _ZN5Class6class$E
|
|
||||||
+ .section .jcr,"aw",@progbits
|
|
||||||
+ .align 4
|
|
||||||
+ .long _ZN9Interface6class$E
|
|
||||||
+ .long _ZN5Class6class$E
|
|
||||||
+ .section .debug_frame,"",@progbits
|
|
||||||
+.Lframe0:
|
|
||||||
+ .long .LECIE0-.LSCIE0
|
|
||||||
+.LSCIE0:
|
|
||||||
+ .long 0xffffffff
|
|
||||||
+ .byte 0x1
|
|
||||||
+ .string ""
|
|
||||||
+ .uleb128 0x1
|
|
||||||
+ .sleb128 -4
|
|
||||||
+ .byte 0x8
|
|
||||||
+ .byte 0xc
|
|
||||||
+ .uleb128 0x4
|
|
||||||
+ .uleb128 0x4
|
|
||||||
+ .byte 0x88
|
|
||||||
+ .uleb128 0x1
|
|
||||||
+ .align 4
|
|
||||||
+.LECIE0:
|
|
||||||
+.LSFDE0:
|
|
||||||
+ .long .LEFDE0-.LASFDE0
|
|
||||||
+.LASFDE0:
|
|
||||||
+ .long .Lframe0
|
|
||||||
+ .long .LFB2
|
|
||||||
+ .long .LFE2-.LFB2
|
|
||||||
+ .byte 0x4
|
|
||||||
+ .long .LCFI0-.LFB2
|
|
||||||
+ .byte 0xe
|
|
||||||
+ .uleb128 0x8
|
|
||||||
+ .byte 0x85
|
|
||||||
+ .uleb128 0x2
|
|
||||||
+ .byte 0x4
|
|
||||||
+ .long .LCFI1-.LCFI0
|
|
||||||
+ .byte 0xd
|
|
||||||
+ .uleb128 0x5
|
|
||||||
+ .align 4
|
|
||||||
+.LEFDE0:
|
|
||||||
+ .section .eh_frame,"a",@progbits
|
|
||||||
+.Lframe1:
|
|
||||||
+ .long .LECIE1-.LSCIE1
|
|
||||||
+.LSCIE1:
|
|
||||||
+ .long 0x0
|
|
||||||
+ .byte 0x1
|
|
||||||
+.globl __gcj_personality_v0
|
|
||||||
+ .string "zP"
|
|
||||||
+ .uleb128 0x1
|
|
||||||
+ .sleb128 -4
|
|
||||||
+ .byte 0x8
|
|
||||||
+ .uleb128 0x5
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .long __gcj_personality_v0
|
|
||||||
+ .byte 0xc
|
|
||||||
+ .uleb128 0x4
|
|
||||||
+ .uleb128 0x4
|
|
||||||
+ .byte 0x88
|
|
||||||
+ .uleb128 0x1
|
|
||||||
+ .align 4
|
|
||||||
+.LECIE1:
|
|
||||||
+.LSFDE1:
|
|
||||||
+ .long .LEFDE1-.LASFDE1
|
|
||||||
+.LASFDE1:
|
|
||||||
+ .long .LASFDE1-.Lframe1
|
|
||||||
+ .long .LFB2
|
|
||||||
+ .long .LFE2-.LFB2
|
|
||||||
+ .uleb128 0x0
|
|
||||||
+ .byte 0x4
|
|
||||||
+ .long .LCFI0-.LFB2
|
|
||||||
+ .byte 0xe
|
|
||||||
+ .uleb128 0x8
|
|
||||||
+ .byte 0x85
|
|
||||||
+ .uleb128 0x2
|
|
||||||
+ .byte 0x4
|
|
||||||
+ .long .LCFI1-.LCFI0
|
|
||||||
+ .byte 0xd
|
|
||||||
+ .uleb128 0x5
|
|
||||||
+ .align 4
|
|
||||||
+.LEFDE1:
|
|
||||||
+ .text
|
|
||||||
+.Letext0:
|
|
||||||
+ .section .debug_loc,"",@progbits
|
|
||||||
+.Ldebug_loc0:
|
|
||||||
+.LLST0:
|
|
||||||
+ .long .LFB2-.Ltext0
|
|
||||||
+ .long .LCFI0-.Ltext0
|
|
||||||
+ .value 0x2
|
|
||||||
+ .byte 0x74
|
|
||||||
+ .sleb128 4
|
|
||||||
+ .long .LCFI0-.Ltext0
|
|
||||||
+ .long .LCFI1-.Ltext0
|
|
||||||
+ .value 0x2
|
|
||||||
+ .byte 0x74
|
|
||||||
+ .sleb128 8
|
|
||||||
+ .long .LCFI1-.Ltext0
|
|
||||||
+ .long .LFE2-.Ltext0
|
|
||||||
+ .value 0x2
|
|
||||||
+ .byte 0x75
|
|
||||||
+ .sleb128 8
|
|
||||||
+ .long 0x0
|
|
||||||
+ .long 0x0
|
|
||||||
+ .section .debug_info
|
|
||||||
+ .long 0x117
|
|
||||||
+ .value 0x2
|
|
||||||
+ .long .Ldebug_abbrev0
|
|
||||||
+ .byte 0x4
|
|
||||||
+ .uleb128 0x1
|
|
||||||
+ .string "GNU Java 4.3.0 20071221 (experimental)"
|
|
||||||
+ .byte 0xb
|
|
||||||
+ .string "interface.java"
|
|
||||||
+ .string "/home/jkratoch/redhat/bz371831"
|
|
||||||
+ .long .Ltext0
|
|
||||||
+ .long .Letext0
|
|
||||||
+ .long .Ldebug_line0
|
|
||||||
+ .uleb128 0x2
|
|
||||||
+ .string "Interface"
|
|
||||||
+ .byte 0x4
|
|
||||||
+ .byte 0x1
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .long 0x8e
|
|
||||||
+ .long 0x8e
|
|
||||||
+ .uleb128 0x3
|
|
||||||
+ .long 0x8e
|
|
||||||
+ .byte 0x2
|
|
||||||
+ .byte 0x23
|
|
||||||
+ .uleb128 0x0
|
|
||||||
+ .byte 0x1
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .uleb128 0x4
|
|
||||||
+ .string "java.lang.Object"
|
|
||||||
+ .byte 0x1
|
|
||||||
+ .uleb128 0x5
|
|
||||||
+ .string "Class"
|
|
||||||
+ .byte 0x4
|
|
||||||
+ .byte 0x1
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .long 0x8e
|
|
||||||
+ .long 0xe8
|
|
||||||
+ .uleb128 0x3
|
|
||||||
+ .long 0x8e
|
|
||||||
+ .byte 0x2
|
|
||||||
+ .byte 0x23
|
|
||||||
+ .uleb128 0x0
|
|
||||||
+ .byte 0x1
|
|
||||||
+ .uleb128 0x6
|
|
||||||
+ .long 0x6e
|
|
||||||
+ .byte 0x2
|
|
||||||
+ .byte 0x23
|
|
||||||
+ .uleb128 0x0
|
|
||||||
+ .byte 0x1
|
|
||||||
+ .byte 0x1
|
|
||||||
+ .uleb128 0x7
|
|
||||||
+ .byte 0x1
|
|
||||||
+ .string "<init>"
|
|
||||||
+ .byte 0x1
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .string "_ZN5ClassC1Ev"
|
|
||||||
+ .byte 0x1
|
|
||||||
+ .uleb128 0x8
|
|
||||||
+ .long 0xe8
|
|
||||||
+ .byte 0x1
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .uleb128 0x9
|
|
||||||
+ .byte 0x4
|
|
||||||
+ .long 0xa1
|
|
||||||
+ .uleb128 0xa
|
|
||||||
+ .long 0xc6
|
|
||||||
+ .long .LFB2
|
|
||||||
+ .long .LFE2
|
|
||||||
+ .long .LLST0
|
|
||||||
+ .long 0x114
|
|
||||||
+ .uleb128 0xb
|
|
||||||
+ .long 0xe8
|
|
||||||
+ .byte 0x2
|
|
||||||
+ .byte 0x91
|
|
||||||
+ .sleb128 0
|
|
||||||
+ .uleb128 0xc
|
|
||||||
+ .long 0x114
|
|
||||||
+ .byte 0x2
|
|
||||||
+ .byte 0x91
|
|
||||||
+ .sleb128 -12
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .uleb128 0x9
|
|
||||||
+ .byte 0x4
|
|
||||||
+ .long 0x8e
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .section .debug_abbrev
|
|
||||||
+ .uleb128 0x1
|
|
||||||
+ .uleb128 0x11
|
|
||||||
+ .byte 0x1
|
|
||||||
+ .uleb128 0x25
|
|
||||||
+ .uleb128 0x8
|
|
||||||
+ .uleb128 0x13
|
|
||||||
+ .uleb128 0xb
|
|
||||||
+ .uleb128 0x3
|
|
||||||
+ .uleb128 0x8
|
|
||||||
+ .uleb128 0x1b
|
|
||||||
+ .uleb128 0x8
|
|
||||||
+ .uleb128 0x11
|
|
||||||
+ .uleb128 0x1
|
|
||||||
+ .uleb128 0x12
|
|
||||||
+ .uleb128 0x1
|
|
||||||
+ .uleb128 0x10
|
|
||||||
+ .uleb128 0x6
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .uleb128 0x2
|
|
||||||
+ .uleb128 0x38
|
|
||||||
+ .byte 0x1
|
|
||||||
+ .uleb128 0x3
|
|
||||||
+ .uleb128 0x8
|
|
||||||
+ .uleb128 0xb
|
|
||||||
+ .uleb128 0xb
|
|
||||||
+ .uleb128 0x3a
|
|
||||||
+ .uleb128 0xb
|
|
||||||
+ .uleb128 0x3b
|
|
||||||
+ .uleb128 0xb
|
|
||||||
+ .uleb128 0x1d
|
|
||||||
+ .uleb128 0x13
|
|
||||||
+ .uleb128 0x1
|
|
||||||
+ .uleb128 0x13
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .uleb128 0x3
|
|
||||||
+ .uleb128 0x1c
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .uleb128 0x49
|
|
||||||
+ .uleb128 0x13
|
|
||||||
+ .uleb128 0x38
|
|
||||||
+ .uleb128 0xa
|
|
||||||
+ .uleb128 0x32
|
|
||||||
+ .uleb128 0xb
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .uleb128 0x4
|
|
||||||
+ .uleb128 0x2
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .uleb128 0x3
|
|
||||||
+ .uleb128 0x8
|
|
||||||
+ .uleb128 0x3c
|
|
||||||
+ .uleb128 0xc
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .uleb128 0x5
|
|
||||||
+ .uleb128 0x2
|
|
||||||
+ .byte 0x1
|
|
||||||
+ .uleb128 0x3
|
|
||||||
+ .uleb128 0x8
|
|
||||||
+ .uleb128 0xb
|
|
||||||
+ .uleb128 0xb
|
|
||||||
+ .uleb128 0x3a
|
|
||||||
+ .uleb128 0xb
|
|
||||||
+ .uleb128 0x3b
|
|
||||||
+ .uleb128 0xb
|
|
||||||
+ .uleb128 0x1d
|
|
||||||
+ .uleb128 0x13
|
|
||||||
+ .uleb128 0x1
|
|
||||||
+ .uleb128 0x13
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .uleb128 0x6
|
|
||||||
+ .uleb128 0x1c
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .uleb128 0x49
|
|
||||||
+ .uleb128 0x13
|
|
||||||
+ .uleb128 0x38
|
|
||||||
+ .uleb128 0xa
|
|
||||||
+ .uleb128 0x4c
|
|
||||||
+ .uleb128 0xb
|
|
||||||
+ .uleb128 0x32
|
|
||||||
+ .uleb128 0xb
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .uleb128 0x7
|
|
||||||
+ .uleb128 0x2e
|
|
||||||
+ .byte 0x1
|
|
||||||
+ .uleb128 0x3f
|
|
||||||
+ .uleb128 0xc
|
|
||||||
+ .uleb128 0x3
|
|
||||||
+ .uleb128 0x8
|
|
||||||
+ .uleb128 0x3a
|
|
||||||
+ .uleb128 0xb
|
|
||||||
+ .uleb128 0x3b
|
|
||||||
+ .uleb128 0xb
|
|
||||||
+ .uleb128 0x2007
|
|
||||||
+ .uleb128 0x8
|
|
||||||
+ .uleb128 0x3c
|
|
||||||
+ .uleb128 0xc
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .uleb128 0x8
|
|
||||||
+ .uleb128 0x5
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .uleb128 0x49
|
|
||||||
+ .uleb128 0x13
|
|
||||||
+ .uleb128 0x34
|
|
||||||
+ .uleb128 0xc
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .uleb128 0x9
|
|
||||||
+ .uleb128 0xf
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .uleb128 0xb
|
|
||||||
+ .uleb128 0xb
|
|
||||||
+ .uleb128 0x49
|
|
||||||
+ .uleb128 0x13
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .uleb128 0xa
|
|
||||||
+ .uleb128 0x2e
|
|
||||||
+ .byte 0x1
|
|
||||||
+ .uleb128 0x47
|
|
||||||
+ .uleb128 0x13
|
|
||||||
+ .uleb128 0x11
|
|
||||||
+ .uleb128 0x1
|
|
||||||
+ .uleb128 0x12
|
|
||||||
+ .uleb128 0x1
|
|
||||||
+ .uleb128 0x40
|
|
||||||
+ .uleb128 0x6
|
|
||||||
+ .uleb128 0x1
|
|
||||||
+ .uleb128 0x13
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .uleb128 0xb
|
|
||||||
+ .uleb128 0x5
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .uleb128 0x49
|
|
||||||
+ .uleb128 0x13
|
|
||||||
+ .uleb128 0x2
|
|
||||||
+ .uleb128 0xa
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .uleb128 0xc
|
|
||||||
+ .uleb128 0x34
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .uleb128 0x49
|
|
||||||
+ .uleb128 0x13
|
|
||||||
+ .uleb128 0x2
|
|
||||||
+ .uleb128 0xa
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .section .debug_pubnames,"",@progbits
|
|
||||||
+ .long 0x15
|
|
||||||
+ .value 0x2
|
|
||||||
+ .long .Ldebug_info0
|
|
||||||
+ .long 0x11b
|
|
||||||
+ .long 0xee
|
|
||||||
+ .string "()"
|
|
||||||
+ .long 0x0
|
|
||||||
+ .section .debug_aranges,"",@progbits
|
|
||||||
+ .long 0x1c
|
|
||||||
+ .value 0x2
|
|
||||||
+ .long .Ldebug_info0
|
|
||||||
+ .byte 0x4
|
|
||||||
+ .byte 0x0
|
|
||||||
+ .value 0x0
|
|
||||||
+ .value 0x0
|
|
||||||
+ .long .Ltext0
|
|
||||||
+ .long .Letext0-.Ltext0
|
|
||||||
+ .long 0x0
|
|
||||||
+ .long 0x0
|
|
||||||
+ .ident "GCC: (GNU) 4.3.0 20071221 (experimental)"
|
|
||||||
+ .section .note.GNU-stack,"",@progbits
|
|
||||||
Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.arch/i386-interface.exp
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.arch/i386-interface.exp 2016-02-15 23:23:15.978593556 +0100
|
|
||||||
@@ -0,0 +1,59 @@
|
|
||||||
+# Copyright 2007 Free Software Foundation, Inc.
|
|
||||||
+
|
|
||||||
+# This program is free software; you can redistribute it and/or modify
|
|
||||||
+# it under the terms of the GNU General Public License as published by
|
|
||||||
+# the Free Software Foundation; either version 3 of the License, or
|
|
||||||
+# (at your option) any later version.
|
|
||||||
+#
|
|
||||||
+# This program is distributed in the hope that it will be useful,
|
|
||||||
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
+# GNU General Public License for more details.
|
|
||||||
+#
|
|
||||||
+# You should have received a copy of the GNU General Public License
|
|
||||||
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
+
|
|
||||||
+# Please email any bugs, comments, and/or additions to this file to:
|
|
||||||
+# bug-gdb@gnu.org
|
|
||||||
+
|
|
||||||
+# This file is part of the gdb testsuite.
|
|
||||||
+
|
|
||||||
+# Test basis recognization of DW_TAG_interface_type.
|
|
||||||
+# GCC java_classify_record() produces it if returns RECORD_IS_INTERFACE.
|
|
||||||
+
|
|
||||||
+if {![istarget "i?86-*-*"] && ![istarget "x86_64-*-*"]} then {
|
|
||||||
+ verbose "Skipping i386 Java DW_TAG_interface_type test."
|
|
||||||
+ return
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+set testfile "i386-interface"
|
|
||||||
+set srcfile ${testfile}.S
|
|
||||||
+set binfile [standard_output_file ${testfile}.o]
|
|
||||||
+
|
|
||||||
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" object {debug additional_flags=-m32}] != "" } {
|
|
||||||
+ untested i386-gnu-cfi.exp
|
|
||||||
+ return -1
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+# Get things started.
|
|
||||||
+
|
|
||||||
+gdb_exit
|
|
||||||
+gdb_start
|
|
||||||
+gdb_reinitialize_dir $srcdir/$subdir
|
|
||||||
+gdb_load ${binfile}
|
|
||||||
+
|
|
||||||
+gdb_test "set language java"
|
|
||||||
+
|
|
||||||
+set test "ptype Interface"
|
|
||||||
+gdb_test_multiple $test $test {
|
|
||||||
+ -re "type = class Interface *extends java.lang.Object \{.*$gdb_prompt $" {
|
|
||||||
+ pass $test
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+set test "ptype Class"
|
|
||||||
+gdb_test_multiple $test $test {
|
|
||||||
+ -re "type = class Class *extends java.lang.Object implements Interface \{.*$gdb_prompt $" {
|
|
||||||
+ pass $test
|
|
||||||
+ }
|
|
||||||
+}
|
|
@ -1,17 +1,22 @@
|
|||||||
Index: gdb-6.8.50.20090803/gdb/valops.c
|
Index: gdb-7.12.50.20170207/gdb/valops.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-6.8.50.20090803.orig/gdb/valops.c 2009-08-04 06:30:45.000000000 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/valops.c 2017-02-26 17:26:43.839146565 +0100
|
||||||
+++ gdb-6.8.50.20090803/gdb/valops.c 2009-08-04 06:33:05.000000000 +0200
|
+++ gdb-7.12.50.20170207/gdb/valops.c 2017-02-26 17:28:40.840988272 +0100
|
||||||
@@ -926,10 +926,18 @@ value_assign (struct value *toval, struc
|
@@ -1112,6 +1112,8 @@
|
||||||
struct gdbarch *gdbarch;
|
struct gdbarch *gdbarch;
|
||||||
int value_reg;
|
int value_reg;
|
||||||
|
|
||||||
- /* Figure out which frame this is in currently. */
|
+ value_reg = VALUE_REGNUM (toval);
|
||||||
- frame = frame_find_by_id (VALUE_FRAME_ID (toval));
|
+
|
||||||
value_reg = VALUE_REGNUM (toval);
|
/* Figure out which frame this is in currently.
|
||||||
|
|
||||||
+ /* Figure out which frame this is in currently. */
|
We use VALUE_FRAME_ID for obtaining the value's frame id instead of
|
||||||
+ frame = frame_find_by_id (VALUE_FRAME_ID (toval));
|
@@ -1121,8 +1123,14 @@
|
||||||
|
frame. */
|
||||||
|
frame = frame_find_by_id (VALUE_FRAME_ID (toval));
|
||||||
|
|
||||||
|
- value_reg = VALUE_REGNUM (toval);
|
||||||
|
-
|
||||||
+ /* "set $reg+=1" should work on programs with no debug info,
|
+ /* "set $reg+=1" should work on programs with no debug info,
|
||||||
+ but frame_find_by_id returns NULL here (RH bug 436037).
|
+ but frame_find_by_id returns NULL here (RH bug 436037).
|
||||||
+ Use current frame, it represents CPU state in this case.
|
+ Use current frame, it represents CPU state in this case.
|
||||||
|
@ -5,11 +5,11 @@ Some of the threads may not be properly PTRACE_DETACHed which hurts if they
|
|||||||
should have been detached with SIGSTOP (as they are accidentally left running
|
should have been detached with SIGSTOP (as they are accidentally left running
|
||||||
on the debugger termination).
|
on the debugger termination).
|
||||||
|
|
||||||
Index: gdb-7.11.50.20160630/gdb/defs.h
|
Index: gdb-7.12.50.20170207/gdb/defs.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160630.orig/gdb/defs.h 2016-07-03 16:40:43.423078926 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/defs.h 2017-02-26 21:11:35.654350580 +0100
|
||||||
+++ gdb-7.11.50.20160630/gdb/defs.h 2016-07-03 16:41:08.568271741 +0200
|
+++ gdb-7.12.50.20170207/gdb/defs.h 2017-02-26 21:11:52.932473129 +0100
|
||||||
@@ -175,6 +175,10 @@
|
@@ -169,6 +169,10 @@
|
||||||
/* Flag that function quit should call quit_force. */
|
/* Flag that function quit should call quit_force. */
|
||||||
extern volatile int sync_quit_force_run;
|
extern volatile int sync_quit_force_run;
|
||||||
|
|
||||||
@ -20,10 +20,10 @@ Index: gdb-7.11.50.20160630/gdb/defs.h
|
|||||||
extern void quit (void);
|
extern void quit (void);
|
||||||
|
|
||||||
/* Helper for the QUIT macro. */
|
/* Helper for the QUIT macro. */
|
||||||
Index: gdb-7.11.50.20160630/gdb/extension.c
|
Index: gdb-7.12.50.20170207/gdb/extension.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160630.orig/gdb/extension.c 2016-07-03 16:40:41.723065890 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/extension.c 2017-02-26 21:11:35.655350587 +0100
|
||||||
+++ gdb-7.11.50.20160630/gdb/extension.c 2016-07-03 16:41:44.896550309 +0200
|
+++ gdb-7.12.50.20170207/gdb/extension.c 2017-02-26 21:11:52.933473136 +0100
|
||||||
@@ -830,6 +830,11 @@
|
@@ -830,6 +830,11 @@
|
||||||
int i, result = 0;
|
int i, result = 0;
|
||||||
const struct extension_language_defn *extlang;
|
const struct extension_language_defn *extlang;
|
||||||
@ -36,12 +36,12 @@ Index: gdb-7.11.50.20160630/gdb/extension.c
|
|||||||
ALL_ENABLED_EXTENSION_LANGUAGES (i, extlang)
|
ALL_ENABLED_EXTENSION_LANGUAGES (i, extlang)
|
||||||
{
|
{
|
||||||
if (extlang->ops->check_quit_flag != NULL)
|
if (extlang->ops->check_quit_flag != NULL)
|
||||||
Index: gdb-7.11.50.20160630/gdb/top.c
|
Index: gdb-7.12.50.20170207/gdb/top.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160630.orig/gdb/top.c 2016-07-03 16:40:41.724065898 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/top.c 2017-02-26 21:11:35.655350587 +0100
|
||||||
+++ gdb-7.11.50.20160630/gdb/top.c 2016-07-03 16:40:43.424078934 +0200
|
+++ gdb-7.12.50.20170207/gdb/top.c 2017-02-26 21:11:52.933473136 +0100
|
||||||
@@ -1617,7 +1617,13 @@
|
@@ -1619,7 +1619,13 @@
|
||||||
qt.args = args;
|
qt.args = NULL;
|
||||||
qt.from_tty = from_tty;
|
qt.from_tty = from_tty;
|
||||||
|
|
||||||
+#ifndef NEED_DETACH_SIGSTOP
|
+#ifndef NEED_DETACH_SIGSTOP
|
||||||
@ -54,11 +54,11 @@ Index: gdb-7.11.50.20160630/gdb/top.c
|
|||||||
|
|
||||||
/* Get out of tfind mode, and kill or detach all inferiors. */
|
/* Get out of tfind mode, and kill or detach all inferiors. */
|
||||||
TRY
|
TRY
|
||||||
Index: gdb-7.11.50.20160630/gdb/utils.c
|
Index: gdb-7.12.50.20170207/gdb/utils.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160630.orig/gdb/utils.c 2016-07-03 16:40:41.725065905 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/utils.c 2017-02-26 21:11:35.657350601 +0100
|
||||||
+++ gdb-7.11.50.20160630/gdb/utils.c 2016-07-03 16:41:38.961504799 +0200
|
+++ gdb-7.12.50.20170207/gdb/utils.c 2017-02-26 21:11:52.934473143 +0100
|
||||||
@@ -109,6 +109,13 @@
|
@@ -106,6 +106,13 @@
|
||||||
|
|
||||||
int job_control;
|
int job_control;
|
||||||
|
|
||||||
|
@ -42,30 +42,6 @@ Index: gdb-7.9.50.20150520/gdb/gdbtypes.h
|
|||||||
#define TYPE_FIELD_STATIC_PHYSADDR(thistype, n) FIELD_STATIC_PHYSADDR (TYPE_FIELD (thistype, n))
|
#define TYPE_FIELD_STATIC_PHYSADDR(thistype, n) FIELD_STATIC_PHYSADDR (TYPE_FIELD (thistype, n))
|
||||||
#define TYPE_FIELD_DWARF_BLOCK(thistype, n) FIELD_DWARF_BLOCK (TYPE_FIELD (thistype, n))
|
#define TYPE_FIELD_DWARF_BLOCK(thistype, n) FIELD_DWARF_BLOCK (TYPE_FIELD (thistype, n))
|
||||||
#define TYPE_FIELD_ARTIFICIAL(thistype, n) FIELD_ARTIFICIAL(TYPE_FIELD(thistype,n))
|
#define TYPE_FIELD_ARTIFICIAL(thistype, n) FIELD_ARTIFICIAL(TYPE_FIELD(thistype,n))
|
||||||
Index: gdb-7.9.50.20150520/gdb/jv-lang.c
|
|
||||||
===================================================================
|
|
||||||
--- gdb-7.9.50.20150520.orig/gdb/jv-lang.c 2015-05-31 16:55:29.724475491 +0200
|
|
||||||
+++ gdb-7.9.50.20150520/gdb/jv-lang.c 2015-05-31 16:55:30.820482408 +0200
|
|
||||||
@@ -427,7 +427,8 @@ java_link_class_type (struct gdbarch *gd
|
|
||||||
|
|
||||||
fields = NULL;
|
|
||||||
nfields--; /* First set up dummy "class" field. */
|
|
||||||
- SET_FIELD_PHYSADDR (TYPE_FIELD (type, nfields), value_address (clas));
|
|
||||||
+ SET_FIELD_PHYSADDR (TYPE_FIELD (type, nfields), value_address (clas)
|
|
||||||
+ - (TYPE_OBJFILE (type) == NULL ? 0 : ANOFFSET (TYPE_OBJFILE (type)->section_offsets, SECT_OFF_TEXT (TYPE_OBJFILE (type)))));
|
|
||||||
TYPE_FIELD_NAME (type, nfields) = "class";
|
|
||||||
TYPE_FIELD_TYPE (type, nfields) = value_type (clas);
|
|
||||||
SET_TYPE_FIELD_PRIVATE (type, nfields);
|
|
||||||
@@ -475,7 +476,8 @@ java_link_class_type (struct gdbarch *gd
|
|
||||||
SET_TYPE_FIELD_PROTECTED (type, i);
|
|
||||||
}
|
|
||||||
if (accflags & 0x0008) /* ACC_STATIC */
|
|
||||||
- SET_FIELD_PHYSADDR (TYPE_FIELD (type, i), boffset);
|
|
||||||
+ SET_FIELD_PHYSADDR (TYPE_FIELD (type, i), boffset
|
|
||||||
+ - (TYPE_OBJFILE (type) == NULL ? 0 : ANOFFSET (TYPE_OBJFILE (type)->section_offsets, SECT_OFF_TEXT (TYPE_OBJFILE (type)))));
|
|
||||||
else
|
|
||||||
SET_FIELD_BITPOS (TYPE_FIELD (type, i), 8 * boffset);
|
|
||||||
if (accflags & 0x8000) /* FIELD_UNRESOLVED_FLAG */
|
|
||||||
Index: gdb-7.9.50.20150520/gdb/value.c
|
Index: gdb-7.9.50.20150520/gdb/value.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.9.50.20150520.orig/gdb/value.c 2015-05-31 16:55:29.725475497 +0200
|
--- gdb-7.9.50.20150520.orig/gdb/value.c 2015-05-31 16:55:29.725475497 +0200
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: gdb-7.12/gdb/testsuite/gdb.ada/packed_array.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.ada/packed_array.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.12.orig/gdb/testsuite/gdb.ada/packed_array.exp 2016-08-01 17:50:21.000000000 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.ada/packed_array.exp 2017-02-26 19:15:28.552824751 +0100
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.ada/packed_array.exp 2016-10-22 09:45:15.849013467 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.ada/packed_array.exp 2017-02-26 19:15:36.597882316 +0100
|
||||||
@@ -56,5 +56,11 @@
|
@@ -56,5 +56,11 @@
|
||||||
# are. Observed with (FSF GNU Ada 4.5.3 20110124).
|
# are. Observed with (FSF GNU Ada 4.5.3 20110124).
|
||||||
xfail $test
|
xfail $test
|
||||||
@ -14,10 +14,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.ada/packed_array.exp
|
|||||||
+ }
|
+ }
|
||||||
}
|
}
|
||||||
|
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-pointer-foo.S
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-pointer-foo.S
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-pointer-foo.S 2016-10-22 09:50:38.510393903 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-pointer-foo.S 2017-02-26 19:15:36.598882323 +0100
|
||||||
@@ -0,0 +1,358 @@
|
@@ -0,0 +1,358 @@
|
||||||
+ .file "x86_64-vla-pointer.c"
|
+ .file "x86_64-vla-pointer.c"
|
||||||
+ .text
|
+ .text
|
||||||
@ -377,10 +377,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-pointer-foo.S
|
|||||||
+ .string "array"
|
+ .string "array"
|
||||||
+ .ident "GCC: (GNU) 6.2.1 20160916 (Red Hat 6.2.1-2)"
|
+ .ident "GCC: (GNU) 6.2.1 20160916 (Red Hat 6.2.1-2)"
|
||||||
+ .section .note.GNU-stack,"",@progbits
|
+ .section .note.GNU-stack,"",@progbits
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-pointer.c
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-pointer.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-pointer.c 2016-10-22 09:50:40.335407367 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-pointer.c 2017-02-26 19:15:36.598882323 +0100
|
||||||
@@ -0,0 +1,45 @@
|
@@ -0,0 +1,45 @@
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
+/* This testcase is part of GDB, the GNU debugger.
|
||||||
+
|
+
|
||||||
@ -427,10 +427,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-pointer.c
|
|||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+#endif
|
+#endif
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-pointer.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-pointer.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-pointer.exp 2016-10-22 21:10:56.210413346 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-pointer.exp 2017-02-26 19:15:36.598882323 +0100
|
||||||
@@ -0,0 +1,65 @@
|
@@ -0,0 +1,65 @@
|
||||||
+# Copyright 2009 Free Software Foundation, Inc.
|
+# Copyright 2009 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
@ -497,10 +497,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-pointer.exp
|
|||||||
+gdb_test "whatis array" "type = array_t" "second: whatis array"
|
+gdb_test "whatis array" "type = array_t" "second: whatis array"
|
||||||
+gdb_test "whatis array_t" "type = char \\\[variable length\\\]" "second: whatis array_t"
|
+gdb_test "whatis array_t" "type = char \\\[variable length\\\]" "second: whatis array_t"
|
||||||
+gdb_test "ptype array" "type = char \\\[78\\\]" "second: ptype array"
|
+gdb_test "ptype array" "type = char \\\[78\\\]" "second: ptype array"
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-typedef-foo.S
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-typedef-foo.S
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-typedef-foo.S 2016-10-22 09:45:15.851013482 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-typedef-foo.S 2017-02-26 19:15:36.598882323 +0100
|
||||||
@@ -0,0 +1,455 @@
|
@@ -0,0 +1,455 @@
|
||||||
+ .file "x86_64-vla-typedef.c"
|
+ .file "x86_64-vla-typedef.c"
|
||||||
+ .section .debug_abbrev,"",@progbits
|
+ .section .debug_abbrev,"",@progbits
|
||||||
@ -957,10 +957,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-typedef-foo.S
|
|||||||
+ .string "GNU C 4.3.2 20081105 (Red Hat 4.3.2-7)"
|
+ .string "GNU C 4.3.2 20081105 (Red Hat 4.3.2-7)"
|
||||||
+ .ident "GCC: (GNU) 4.3.2 20081105 (Red Hat 4.3.2-7)"
|
+ .ident "GCC: (GNU) 4.3.2 20081105 (Red Hat 4.3.2-7)"
|
||||||
+ .section .note.GNU-stack,"",@progbits
|
+ .section .note.GNU-stack,"",@progbits
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-typedef.c
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-typedef.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-typedef.c 2016-10-22 09:45:15.851013482 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-typedef.c 2017-02-26 19:15:36.599882330 +0100
|
||||||
@@ -0,0 +1,45 @@
|
@@ -0,0 +1,45 @@
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
+/* This testcase is part of GDB, the GNU debugger.
|
||||||
+
|
+
|
||||||
@ -1007,10 +1007,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-typedef.c
|
|||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+#endif
|
+#endif
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-typedef.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-typedef.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-typedef.exp 2016-10-22 09:45:15.851013482 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.arch/x86_64-vla-typedef.exp 2017-02-26 19:15:36.599882330 +0100
|
||||||
@@ -0,0 +1,64 @@
|
@@ -0,0 +1,64 @@
|
||||||
+# Copyright 2009 Free Software Foundation, Inc.
|
+# Copyright 2009 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
@ -1076,10 +1076,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.arch/x86_64-vla-typedef.exp
|
|||||||
+gdb_test "whatis array" "type = array_t" "second: whatis array"
|
+gdb_test "whatis array" "type = array_t" "second: whatis array"
|
||||||
+
|
+
|
||||||
+gdb_test "ptype array" "type = char \\\[78\\\]" "second: ptype array"
|
+gdb_test "ptype array" "type = char \\\[78\\\]" "second: ptype array"
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.base/arrayidx.c
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/arrayidx.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.12.orig/gdb/testsuite/gdb.base/arrayidx.c 2016-08-01 17:50:21.000000000 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.base/arrayidx.c 2017-02-26 19:15:28.555824772 +0100
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.base/arrayidx.c 2016-10-22 09:45:15.851013482 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/arrayidx.c 2017-02-26 19:15:36.599882330 +0100
|
||||||
@@ -17,6 +17,13 @@
|
@@ -17,6 +17,13 @@
|
||||||
|
|
||||||
int array[] = {1, 2, 3, 4};
|
int array[] = {1, 2, 3, 4};
|
||||||
@ -1094,13 +1094,13 @@ Index: gdb-7.12/gdb/testsuite/gdb.base/arrayidx.c
|
|||||||
int
|
int
|
||||||
main (void)
|
main (void)
|
||||||
{
|
{
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.base/arrayidx.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/arrayidx.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.12.orig/gdb/testsuite/gdb.base/arrayidx.exp 2016-08-01 17:50:21.000000000 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.base/arrayidx.exp 2017-02-26 19:15:28.555824772 +0100
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.base/arrayidx.exp 2016-10-22 09:45:15.851013482 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/arrayidx.exp 2017-02-26 19:15:36.599882330 +0100
|
||||||
@@ -49,4 +49,12 @@
|
@@ -49,4 +49,12 @@
|
||||||
"\\{\\\[0\\\] = 1, \\\[1\\\] = 2, \\\[2\\\] = 3, \\\[3\\\] = 4\\}" \
|
"\\{\\\[0\\\] = 1, \\\[1\\\] = 2, \\\[2\\\] = 3, \\\[3\\\] = 4\\}" \
|
||||||
"Print array with array-indexes on"
|
"print array with array-indexes on"
|
||||||
|
|
||||||
-
|
-
|
||||||
+set test "p unbound.a == &unbound.a\[0\]"
|
+set test "p unbound.a == &unbound.a\[0\]"
|
||||||
@ -1112,10 +1112,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.base/arrayidx.exp
|
|||||||
+ unsupported "$test (no GCC)"
|
+ unsupported "$test (no GCC)"
|
||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.base/internal-var-field-address.c
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/internal-var-field-address.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.base/internal-var-field-address.c 2016-10-22 09:45:15.852013490 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/internal-var-field-address.c 2017-02-26 19:15:36.599882330 +0100
|
||||||
@@ -0,0 +1,20 @@
|
@@ -0,0 +1,20 @@
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
+/* This testcase is part of GDB, the GNU debugger.
|
||||||
+
|
+
|
||||||
@ -1137,10 +1137,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.base/internal-var-field-address.c
|
|||||||
+struct {
|
+struct {
|
||||||
+ int field;
|
+ int field;
|
||||||
+} staticstruct = { 1 };
|
+} staticstruct = { 1 };
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.base/internal-var-field-address.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/internal-var-field-address.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.base/internal-var-field-address.exp 2016-10-22 09:45:15.852013490 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/internal-var-field-address.exp 2017-02-26 19:15:36.600882337 +0100
|
||||||
@@ -0,0 +1,26 @@
|
@@ -0,0 +1,26 @@
|
||||||
+# Copyright 2009 Free Software Foundation, Inc.
|
+# Copyright 2009 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
@ -1168,10 +1168,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.base/internal-var-field-address.exp
|
|||||||
+
|
+
|
||||||
+gdb_test {set $varstruct = staticstruct}
|
+gdb_test {set $varstruct = staticstruct}
|
||||||
+gdb_test {p $varstruct.field} " = 1"
|
+gdb_test {p $varstruct.field} " = 1"
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.base/vla-frame.c
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla-frame.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.base/vla-frame.c 2016-10-22 09:45:15.852013490 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla-frame.c 2017-02-26 19:15:36.600882337 +0100
|
||||||
@@ -0,0 +1,31 @@
|
@@ -0,0 +1,31 @@
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
+/* This testcase is part of GDB, the GNU debugger.
|
||||||
+
|
+
|
||||||
@ -1204,10 +1204,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.base/vla-frame.c
|
|||||||
+ f (s);
|
+ f (s);
|
||||||
+ return 0;
|
+ return 0;
|
||||||
+}
|
+}
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.base/vla-frame.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla-frame.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.base/vla-frame.exp 2016-10-22 09:45:15.852013490 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla-frame.exp 2017-02-26 19:15:36.600882337 +0100
|
||||||
@@ -0,0 +1,38 @@
|
@@ -0,0 +1,38 @@
|
||||||
+# Copyright 2011 Free Software Foundation, Inc.
|
+# Copyright 2011 Free Software Foundation, Inc.
|
||||||
+#
|
+#
|
||||||
@ -1247,10 +1247,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.base/vla-frame.exp
|
|||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+gdb_test "bt full" "\r\n +s = \"X\\\\000\"\r\n.*"
|
+gdb_test "bt full" "\r\n +s = \"X\\\\000\"\r\n.*"
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.base/vla-overflow.c
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla-overflow.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.base/vla-overflow.c 2016-10-22 09:45:15.852013490 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla-overflow.c 2017-02-26 19:15:36.600882337 +0100
|
||||||
@@ -0,0 +1,30 @@
|
@@ -0,0 +1,30 @@
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
+/* This testcase is part of GDB, the GNU debugger.
|
||||||
+
|
+
|
||||||
@ -1282,10 +1282,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.base/vla-overflow.c
|
|||||||
+
|
+
|
||||||
+ return 0;
|
+ return 0;
|
||||||
+}
|
+}
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.base/vla-overflow.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla-overflow.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.base/vla-overflow.exp 2016-10-22 09:45:15.852013490 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla-overflow.exp 2017-02-26 19:15:36.600882337 +0100
|
||||||
@@ -0,0 +1,109 @@
|
@@ -0,0 +1,109 @@
|
||||||
+# Copyright 2008 Free Software Foundation, Inc.
|
+# Copyright 2008 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
@ -1396,10 +1396,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.base/vla-overflow.exp
|
|||||||
+gdb_test "bt" "in \[^ \]*abort \\(.* in main \\(.*" "Backtrace after abort()"
|
+gdb_test "bt" "in \[^ \]*abort \\(.* in main \\(.*" "Backtrace after abort()"
|
||||||
+
|
+
|
||||||
+verbose -log "kb_found in bt after abort() = [expr [memory_v_pages_get] * $pagesize / 1024]"
|
+verbose -log "kb_found in bt after abort() = [expr [memory_v_pages_get] * $pagesize / 1024]"
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.base/vla.c
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.base/vla.c 2016-10-22 09:45:15.852013490 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla.c 2017-02-26 19:15:36.600882337 +0100
|
||||||
@@ -0,0 +1,55 @@
|
@@ -0,0 +1,55 @@
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
+/* This testcase is part of GDB, the GNU debugger.
|
||||||
+
|
+
|
||||||
@ -1456,10 +1456,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.base/vla.c
|
|||||||
+ foo (78);
|
+ foo (78);
|
||||||
+ return 0;
|
+ return 0;
|
||||||
+}
|
+}
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.base/vla.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.base/vla.exp 2016-10-22 09:45:15.853013497 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/vla.exp 2017-02-26 19:15:36.600882337 +0100
|
||||||
@@ -0,0 +1,62 @@
|
@@ -0,0 +1,62 @@
|
||||||
+# Copyright 2008 Free Software Foundation, Inc.
|
+# Copyright 2008 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
@ -1523,10 +1523,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.base/vla.exp
|
|||||||
+gdb_test "p temp1" " = '1' <repeats 78 times>" "second: print temp1"
|
+gdb_test "p temp1" " = '1' <repeats 78 times>" "second: print temp1"
|
||||||
+gdb_test "p temp2" " = '2' <repeats 78 times>" "second: print temp2"
|
+gdb_test "p temp2" " = '2' <repeats 78 times>" "second: print temp2"
|
||||||
+gdb_test "p temp3" " = '3' <repeats 48 times>" "second: print temp3"
|
+gdb_test "p temp3" " = '3' <repeats 48 times>" "second: print temp3"
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.cp/gdb9593.cc
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.cp/gdb9593.cc
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.cp/gdb9593.cc 2016-10-22 09:45:15.853013497 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.cp/gdb9593.cc 2017-02-26 19:15:36.601882344 +0100
|
||||||
@@ -0,0 +1,180 @@
|
@@ -0,0 +1,180 @@
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
+/* This testcase is part of GDB, the GNU debugger.
|
||||||
+
|
+
|
||||||
@ -1708,10 +1708,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.cp/gdb9593.cc
|
|||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.cp/gdb9593.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.cp/gdb9593.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.cp/gdb9593.exp 2016-10-22 09:45:15.853013497 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.cp/gdb9593.exp 2017-02-26 19:15:36.601882344 +0100
|
||||||
@@ -0,0 +1,182 @@
|
@@ -0,0 +1,182 @@
|
||||||
+# Copyright 2008, 2009 Free Software Foundation, Inc.
|
+# Copyright 2008, 2009 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
@ -1895,10 +1895,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.cp/gdb9593.exp
|
|||||||
+gdb_test "advance $line" \
|
+gdb_test "advance $line" \
|
||||||
+ ".*catch (...).*" \
|
+ ".*catch (...).*" \
|
||||||
+ "advance-over-throw"
|
+ "advance-over-throw"
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.S
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.S
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.S 2016-10-22 09:45:15.853013497 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.S 2017-02-26 19:15:36.601882344 +0100
|
||||||
@@ -0,0 +1,246 @@
|
@@ -0,0 +1,246 @@
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
+/* This testcase is part of GDB, the GNU debugger.
|
||||||
+
|
+
|
||||||
@ -2146,10 +2146,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.S
|
|||||||
+ .string "char"
|
+ .string "char"
|
||||||
+.Luint_str:
|
+.Luint_str:
|
||||||
+ .string "unsigned int"
|
+ .string "unsigned int"
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.exp 2016-10-22 09:45:15.854013504 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.exp 2017-02-26 19:15:36.602882352 +0100
|
||||||
@@ -0,0 +1,66 @@
|
@@ -0,0 +1,66 @@
|
||||||
+# Copyright 2010 Free Software Foundation, Inc.
|
+# Copyright 2010 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
@ -2217,10 +2217,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.exp
|
|||||||
+
|
+
|
||||||
+# The register contains unpredictable value - the array size.
|
+# The register contains unpredictable value - the array size.
|
||||||
+gdb_test "ptype reg_string" {type = char \[-?[0-9]+\]}
|
+gdb_test "ptype reg_string" {type = char \[-?[0-9]+\]}
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-stripped.c
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-stripped.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-stripped.c 2016-10-22 09:45:15.854013504 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-stripped.c 2017-02-26 19:15:36.602882352 +0100
|
||||||
@@ -0,0 +1,42 @@
|
@@ -0,0 +1,42 @@
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
+/* This testcase is part of GDB, the GNU debugger.
|
||||||
+
|
+
|
||||||
@ -2264,10 +2264,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-stripped.c
|
|||||||
+ func1 (1, 2);
|
+ func1 (1, 2);
|
||||||
+ return 0;
|
+ return 0;
|
||||||
+}
|
+}
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp 2016-10-22 09:45:15.854013504 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp 2017-02-26 19:15:36.602882352 +0100
|
||||||
@@ -0,0 +1,79 @@
|
@@ -0,0 +1,79 @@
|
||||||
+# Copyright 2006 Free Software Foundation, Inc.
|
+# Copyright 2006 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
@ -2348,10 +2348,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp
|
|||||||
+gdb_test "step" \
|
+gdb_test "step" \
|
||||||
+ "func.* \\(.*\\) at .*" \
|
+ "func.* \\(.*\\) at .*" \
|
||||||
+ "step"
|
+ "step"
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.S
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.S
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.S 2016-10-22 09:45:15.854013504 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.S 2017-02-26 19:15:36.602882352 +0100
|
||||||
@@ -0,0 +1,83 @@
|
@@ -0,0 +1,83 @@
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
+/* This testcase is part of GDB, the GNU debugger.
|
||||||
+
|
+
|
||||||
@ -2436,10 +2436,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.S
|
|||||||
+
|
+
|
||||||
+ .byte 0x0 /* Terminator */
|
+ .byte 0x0 /* Terminator */
|
||||||
+ .byte 0x0 /* Terminator */
|
+ .byte 0x0 /* Terminator */
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.exp 2016-10-22 09:45:15.854013504 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.exp 2017-02-26 19:15:36.602882352 +0100
|
||||||
@@ -0,0 +1,37 @@
|
@@ -0,0 +1,37 @@
|
||||||
+# Copyright 2009 Free Software Foundation, Inc.
|
+# Copyright 2009 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
@ -2478,10 +2478,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.exp
|
|||||||
+clean_restart $binfile
|
+clean_restart $binfile
|
||||||
+
|
+
|
||||||
+gdb_test "ptype struct some_struct" "type = struct some_struct {\[\r\n \t\]*void field;\[\r\n \t\]*}"
|
+gdb_test "ptype struct some_struct" "type = struct some_struct {\[\r\n \t\]*void field;\[\r\n \t\]*}"
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.S
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.S
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.S 2016-10-22 09:45:15.854013504 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.S 2017-02-26 19:15:36.602882352 +0100
|
||||||
@@ -0,0 +1,121 @@
|
@@ -0,0 +1,121 @@
|
||||||
+/* This testcase is part of GDB, the GNU debugger.
|
+/* This testcase is part of GDB, the GNU debugger.
|
||||||
+
|
+
|
||||||
@ -2604,10 +2604,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.S
|
|||||||
+ .byte 0x0 /* Terminator */
|
+ .byte 0x0 /* Terminator */
|
||||||
+
|
+
|
||||||
+ .byte 0x0 /* Terminator */
|
+ .byte 0x0 /* Terminator */
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.exp 2016-10-22 09:45:15.855013512 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.exp 2017-02-26 19:15:36.603882359 +0100
|
||||||
@@ -0,0 +1,39 @@
|
@@ -0,0 +1,39 @@
|
||||||
+# Copyright 2012 Free Software Foundation, Inc.
|
+# Copyright 2012 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
@ -2648,10 +2648,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.exp
|
|||||||
+
|
+
|
||||||
+gdb_test "ptype notype_string" {type = char \[129\]}
|
+gdb_test "ptype notype_string" {type = char \[129\]}
|
||||||
+gdb_test "p notype_string" " = 'x' <repeats 129 times>"
|
+gdb_test "p notype_string" " = 'x' <repeats 129 times>"
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.fortran/dwarf-stride.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/dwarf-stride.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.fortran/dwarf-stride.exp 2016-10-22 09:45:15.855013512 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/dwarf-stride.exp 2017-02-26 19:15:36.603882359 +0100
|
||||||
@@ -0,0 +1,42 @@
|
@@ -0,0 +1,42 @@
|
||||||
+# Copyright 2009 Free Software Foundation, Inc.
|
+# Copyright 2009 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
@ -2695,10 +2695,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.fortran/dwarf-stride.exp
|
|||||||
+gdb_continue_to_breakpoint "break-here" ".*break-here.*"
|
+gdb_continue_to_breakpoint "break-here" ".*break-here.*"
|
||||||
+gdb_test "p c40pt(1)" " = '0-hello.*"
|
+gdb_test "p c40pt(1)" " = '0-hello.*"
|
||||||
+gdb_test "p c40pt(2)" " = '1-hello.*"
|
+gdb_test "p c40pt(2)" " = '1-hello.*"
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.fortran/dwarf-stride.f90
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/dwarf-stride.f90
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.fortran/dwarf-stride.f90 2016-10-22 09:45:15.855013512 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/dwarf-stride.f90 2017-02-26 19:15:36.603882359 +0100
|
||||||
@@ -0,0 +1,40 @@
|
@@ -0,0 +1,40 @@
|
||||||
+! Copyright 2009 Free Software Foundation, Inc.
|
+! Copyright 2009 Free Software Foundation, Inc.
|
||||||
+!
|
+!
|
||||||
@ -2740,10 +2740,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.fortran/dwarf-stride.f90
|
|||||||
+ print *, c40pt ! break-here
|
+ print *, c40pt ! break-here
|
||||||
+
|
+
|
||||||
+end program repro
|
+end program repro
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.fortran/dynamic.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/dynamic.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.fortran/dynamic.exp 2016-10-22 09:45:15.855013512 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/dynamic.exp 2017-02-26 19:15:36.603882359 +0100
|
||||||
@@ -0,0 +1,154 @@
|
@@ -0,0 +1,154 @@
|
||||||
+# Copyright 2007 Free Software Foundation, Inc.
|
+# Copyright 2007 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
@ -2899,10 +2899,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.fortran/dynamic.exp
|
|||||||
+gdb_test "p vart(3,8)" "\\$\[0-9\]* = 9"
|
+gdb_test "p vart(3,8)" "\\$\[0-9\]* = 9"
|
||||||
+# maps to foo::vary(1,3)
|
+# maps to foo::vary(1,3)
|
||||||
+gdb_test "p vart(2,9)" "\\$\[0-9\]* = 10"
|
+gdb_test "p vart(2,9)" "\\$\[0-9\]* = 10"
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.fortran/dynamic.f90
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/dynamic.f90
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.fortran/dynamic.f90 2016-10-22 09:45:15.855013512 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/dynamic.f90 2017-02-26 19:15:36.603882359 +0100
|
||||||
@@ -0,0 +1,98 @@
|
@@ -0,0 +1,98 @@
|
||||||
+! Copyright 2007 Free Software Foundation, Inc.
|
+! Copyright 2007 Free Software Foundation, Inc.
|
||||||
+!
|
+!
|
||||||
@ -3002,10 +3002,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.fortran/dynamic.f90
|
|||||||
+ if (x (1, 1) .ne. 8 .or. x (2, 2) .ne. 9 .or. x (1, 2) .ne. 4) call abort
|
+ if (x (1, 1) .ne. 8 .or. x (2, 2) .ne. 9 .or. x (1, 2) .ne. 4) call abort
|
||||||
+ if (x (3, 1) .ne. 10) call abort
|
+ if (x (3, 1) .ne. 10) call abort
|
||||||
+end
|
+end
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.fortran/string.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/string.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.fortran/string.exp 2016-10-22 09:45:15.855013512 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/string.exp 2017-02-26 19:15:36.604882366 +0100
|
||||||
@@ -0,0 +1,59 @@
|
@@ -0,0 +1,59 @@
|
||||||
+# Copyright 2008 Free Software Foundation, Inc.
|
+# Copyright 2008 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
@ -3066,10 +3066,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.fortran/string.exp
|
|||||||
+gdb_continue_to_breakpoint "var-finish"
|
+gdb_continue_to_breakpoint "var-finish"
|
||||||
+gdb_test "p e" "\\$\[0-9\]* = 'e '" "p e re-set"
|
+gdb_test "p e" "\\$\[0-9\]* = 'e '" "p e re-set"
|
||||||
+gdb_test "p f" "\\$\[0-9\]* = \\(\\( 'f ', 'f ', 'f ', 'f ', 'f ', 'f ', 'f '\\) \\( 'f2 ', 'f ', 'f ', 'f ', 'f ', 'f ', 'f '\\) \\( 'f ', 'f ', 'f ', 'f ', 'f ', 'f ', 'f '\\) \\)" "p *f re-set"
|
+gdb_test "p f" "\\$\[0-9\]* = \\(\\( 'f ', 'f ', 'f ', 'f ', 'f ', 'f ', 'f '\\) \\( 'f2 ', 'f ', 'f ', 'f ', 'f ', 'f ', 'f '\\) \\( 'f ', 'f ', 'f ', 'f ', 'f ', 'f ', 'f '\\) \\)" "p *f re-set"
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.fortran/string.f90
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/string.f90
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.fortran/string.f90 2016-10-22 09:45:15.856013519 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/string.f90 2017-02-26 19:15:36.604882366 +0100
|
||||||
@@ -0,0 +1,37 @@
|
@@ -0,0 +1,37 @@
|
||||||
+! Copyright 2008 Free Software Foundation, Inc.
|
+! Copyright 2008 Free Software Foundation, Inc.
|
||||||
+!
|
+!
|
||||||
@ -3108,10 +3108,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.fortran/string.f90
|
|||||||
+ h = 'h'
|
+ h = 'h'
|
||||||
+ call foo (g, h)
|
+ call foo (g, h)
|
||||||
+end
|
+end
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.fortran/subrange.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/subrange.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.fortran/subrange.exp 2016-10-22 09:45:15.856013519 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/subrange.exp 2017-02-26 19:15:36.604882366 +0100
|
||||||
@@ -0,0 +1,72 @@
|
@@ -0,0 +1,72 @@
|
||||||
+# Copyright 2011 Free Software Foundation, Inc.
|
+# Copyright 2011 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
@ -3185,10 +3185,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.fortran/subrange.exp
|
|||||||
+gdb_unload
|
+gdb_unload
|
||||||
+setup_kfail "*-*-*" "vlaregression/9999"
|
+setup_kfail "*-*-*" "vlaregression/9999"
|
||||||
+gdb_test {p $a (3, 2:2)} { = \(23\)}
|
+gdb_test {p $a (3, 2:2)} { = \(23\)}
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.fortran/subrange.f90
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/subrange.f90
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.fortran/subrange.f90 2016-10-22 09:45:15.856013519 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/subrange.f90 2017-02-26 19:15:36.604882366 +0100
|
||||||
@@ -0,0 +1,28 @@
|
@@ -0,0 +1,28 @@
|
||||||
+! Copyright 2011 Free Software Foundation, Inc.
|
+! Copyright 2011 Free Software Foundation, Inc.
|
||||||
+!
|
+!
|
||||||
@ -3218,10 +3218,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.fortran/subrange.f90
|
|||||||
+ ptr => a
|
+ ptr => a
|
||||||
+ write (*,*) a ! break-static
|
+ write (*,*) a ! break-static
|
||||||
+end
|
+end
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.mi/mi2-var-stale-type.c
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi2-var-stale-type.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.mi/mi2-var-stale-type.c 2016-10-22 09:45:15.856013519 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi2-var-stale-type.c 2017-02-26 19:15:36.604882366 +0100
|
||||||
@@ -0,0 +1,26 @@
|
@@ -0,0 +1,26 @@
|
||||||
+/* Copyright 2011 Free Software Foundation, Inc.
|
+/* Copyright 2011 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
@ -3249,10 +3249,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.mi/mi2-var-stale-type.c
|
|||||||
+
|
+
|
||||||
+ return 0;
|
+ return 0;
|
||||||
+}
|
+}
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.mi/mi2-var-stale-type.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi2-var-stale-type.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.mi/mi2-var-stale-type.exp 2016-10-22 09:45:15.856013519 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi2-var-stale-type.exp 2017-02-26 19:15:36.604882366 +0100
|
||||||
@@ -0,0 +1,57 @@
|
@@ -0,0 +1,57 @@
|
||||||
+# Copyright 2011 Free Software Foundation, Inc.
|
+# Copyright 2011 Free Software Foundation, Inc.
|
||||||
+#
|
+#
|
||||||
@ -3311,10 +3311,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.mi/mi2-var-stale-type.exp
|
|||||||
+mi_create_varobj "vla" "vla" "create local variable vla"
|
+mi_create_varobj "vla" "vla" "create local variable vla"
|
||||||
+
|
+
|
||||||
+mi_gdb_test "-var-update *" "\\^done,changelist=.*" "-var-update *"
|
+mi_gdb_test "-var-update *" "\\^done,changelist=.*" "-var-update *"
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.opt/array-from-register-func.c
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/array-from-register-func.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.opt/array-from-register-func.c 2016-10-22 09:45:15.856013519 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/array-from-register-func.c 2017-02-26 19:15:36.604882366 +0100
|
||||||
@@ -0,0 +1,22 @@
|
@@ -0,0 +1,22 @@
|
||||||
+/* This file is part of GDB, the GNU debugger.
|
+/* This file is part of GDB, the GNU debugger.
|
||||||
+
|
+
|
||||||
@ -3338,10 +3338,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.opt/array-from-register-func.c
|
|||||||
+{
|
+{
|
||||||
+ return arr[0];
|
+ return arr[0];
|
||||||
+}
|
+}
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.opt/array-from-register.c
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/array-from-register.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.opt/array-from-register.c 2016-10-22 09:45:15.856013519 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/array-from-register.c 2017-02-26 19:15:36.605882373 +0100
|
||||||
@@ -0,0 +1,28 @@
|
@@ -0,0 +1,28 @@
|
||||||
+/* This file is part of GDB, the GNU debugger.
|
+/* This file is part of GDB, the GNU debugger.
|
||||||
+
|
+
|
||||||
@ -3371,10 +3371,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.opt/array-from-register.c
|
|||||||
+
|
+
|
||||||
+ return 0;
|
+ return 0;
|
||||||
+}
|
+}
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.opt/array-from-register.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/array-from-register.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.opt/array-from-register.exp 2016-10-22 09:45:15.857013527 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/array-from-register.exp 2017-02-26 19:15:36.605882373 +0100
|
||||||
@@ -0,0 +1,33 @@
|
@@ -0,0 +1,33 @@
|
||||||
+# Copyright 2009 Free Software Foundation, Inc.
|
+# Copyright 2009 Free Software Foundation, Inc.
|
||||||
+#
|
+#
|
||||||
@ -3409,10 +3409,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.opt/array-from-register.exp
|
|||||||
+# Seen regression:
|
+# Seen regression:
|
||||||
+# Address requested for identifier "arr" which is in register $rdi
|
+# Address requested for identifier "arr" which is in register $rdi
|
||||||
+gdb_test "p arr\[0\]" "\\$\[0-9\]+ = 42"
|
+gdb_test "p arr\[0\]" "\\$\[0-9\]+ = 42"
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.opt/fortran-string.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/fortran-string.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.opt/fortran-string.exp 2016-10-22 09:45:15.857013527 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/fortran-string.exp 2017-02-26 19:15:36.605882373 +0100
|
||||||
@@ -0,0 +1,39 @@
|
@@ -0,0 +1,39 @@
|
||||||
+# Copyright 2009 Free Software Foundation, Inc.
|
+# Copyright 2009 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
@ -3453,10 +3453,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.opt/fortran-string.exp
|
|||||||
+gdb_test "frame" ".*s='foo'.*"
|
+gdb_test "frame" ".*s='foo'.*"
|
||||||
+gdb_test "ptype s" "type = character\\*3"
|
+gdb_test "ptype s" "type = character\\*3"
|
||||||
+gdb_test "p s" "\\$\[0-9\]* = 'foo'"
|
+gdb_test "p s" "\\$\[0-9\]* = 'foo'"
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.opt/fortran-string.f90
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/fortran-string.f90
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.opt/fortran-string.f90 2016-10-22 09:45:15.857013527 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/fortran-string.f90 2017-02-26 19:15:36.605882373 +0100
|
||||||
@@ -0,0 +1,28 @@
|
@@ -0,0 +1,28 @@
|
||||||
+! Copyright 2009 Free Software Foundation, Inc.
|
+! Copyright 2009 Free Software Foundation, Inc.
|
||||||
+!
|
+!
|
||||||
@ -3486,10 +3486,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.opt/fortran-string.f90
|
|||||||
+ program main
|
+ program main
|
||||||
+ call f ('foo')
|
+ call f ('foo')
|
||||||
+ end
|
+ end
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.pascal/arrays.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.pascal/arrays.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.pascal/arrays.exp 2016-10-22 09:45:15.857013527 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.pascal/arrays.exp 2017-02-26 19:15:36.605882373 +0100
|
||||||
@@ -0,0 +1,104 @@
|
@@ -0,0 +1,104 @@
|
||||||
+# Copyright 2008, 2009 Free Software Foundation, Inc.
|
+# Copyright 2008, 2009 Free Software Foundation, Inc.
|
||||||
+#
|
+#
|
||||||
@ -3595,10 +3595,10 @@ Index: gdb-7.12/gdb/testsuite/gdb.pascal/arrays.exp
|
|||||||
+}
|
+}
|
||||||
+gdb_test "print DynArrChar" ".* = 'abcdefghijklm'" "Print dynamic array of char"
|
+gdb_test "print DynArrChar" ".* = 'abcdefghijklm'" "Print dynamic array of char"
|
||||||
+
|
+
|
||||||
Index: gdb-7.12/gdb/testsuite/gdb.pascal/arrays.pas
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.pascal/arrays.pas
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.12/gdb/testsuite/gdb.pascal/arrays.pas 2016-10-22 09:45:15.857013527 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.pascal/arrays.pas 2017-02-26 19:15:36.605882373 +0100
|
||||||
@@ -0,0 +1,82 @@
|
@@ -0,0 +1,82 @@
|
||||||
+{
|
+{
|
||||||
+ Copyright 2008, 2009 Free Software Foundation, Inc.
|
+ Copyright 2008, 2009 Free Software Foundation, Inc.
|
||||||
@ -3682,11 +3682,11 @@ Index: gdb-7.12/gdb/testsuite/gdb.pascal/arrays.pas
|
|||||||
+ s := 'test'#0'string';
|
+ s := 'test'#0'string';
|
||||||
+ writeln(s); { set breakpoint 2 here }
|
+ writeln(s); { set breakpoint 2 here }
|
||||||
+end.
|
+end.
|
||||||
Index: gdb-7.12/gdb/testsuite/lib/gdb.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/lib/gdb.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.12.orig/gdb/testsuite/lib/gdb.exp 2016-10-22 09:45:15.106007986 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/testsuite/lib/gdb.exp 2017-02-26 19:15:28.564824836 +0100
|
||||||
+++ gdb-7.12/gdb/testsuite/lib/gdb.exp 2016-10-22 09:45:15.858013534 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/lib/gdb.exp 2017-02-26 19:15:36.607882387 +0100
|
||||||
@@ -173,6 +173,11 @@
|
@@ -178,6 +178,11 @@
|
||||||
send_gdb "y\n"
|
send_gdb "y\n"
|
||||||
exp_continue
|
exp_continue
|
||||||
}
|
}
|
||||||
@ -3698,10 +3698,10 @@ Index: gdb-7.12/gdb/testsuite/lib/gdb.exp
|
|||||||
-re "Discard symbol table from .*y or n.*$" {
|
-re "Discard symbol table from .*y or n.*$" {
|
||||||
send_gdb "y\n"
|
send_gdb "y\n"
|
||||||
exp_continue
|
exp_continue
|
||||||
Index: gdb-7.12/gdb/testsuite/lib/pascal.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/lib/pascal.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.12.orig/gdb/testsuite/lib/pascal.exp 2016-08-01 17:50:21.000000000 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/testsuite/lib/pascal.exp 2017-02-26 19:15:28.565824844 +0100
|
||||||
+++ gdb-7.12/gdb/testsuite/lib/pascal.exp 2016-10-22 09:45:15.859013541 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/lib/pascal.exp 2017-02-26 19:15:36.607882387 +0100
|
||||||
@@ -37,6 +37,9 @@
|
@@ -37,6 +37,9 @@
|
||||||
global pascal_compiler_is_fpc
|
global pascal_compiler_is_fpc
|
||||||
global gpc_compiler
|
global gpc_compiler
|
||||||
|
185
gdb-archer.patch
185
gdb-archer.patch
@ -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 cfee64ee869a6a6e4ab0b64af149d4cf59517d80
|
commit e2c0cbf93cf20667be449a75d2ada5d377ddb090
|
||||||
|
|
||||||
tromey/python
|
tromey/python
|
||||||
|
|
||||||
@ -16,10 +16,10 @@ 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 5af6103..9c69cb0 100644
|
index 268c2c6..4045ef7 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
|
@@ -2345,6 +2345,12 @@ stamp-h: $(srcdir)/config.in config.status
|
||||||
CONFIG_LINKS= \
|
CONFIG_LINKS= \
|
||||||
$(SHELL) config.status
|
$(SHELL) config.status
|
||||||
|
|
||||||
@ -33,21 +33,22 @@ index 5af6103..9c69cb0 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 3f23516..b5d6390 100644
|
index 304d4b0..d2007a4 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 = \
|
@@ -77,7 +77,11 @@ PYTHON_FILE_LIST = \
|
||||||
|
gdb/types.py \
|
||||||
gdb/unwinder.py \
|
gdb/unwinder.py \
|
||||||
gdb/prompt.py \
|
|
||||||
gdb/xmethod.py \
|
gdb/xmethod.py \
|
||||||
+ gdb/types.py \
|
+ gdb/types.py \
|
||||||
gdb/command/__init__.py \
|
gdb/command/__init__.py \
|
||||||
+ gdb/command/ignore_errors.py \
|
+ gdb/command/ignore_errors.py \
|
||||||
+ gdb/command/pahole.py \
|
+ gdb/command/pahole.py \
|
||||||
gdb/command/xmethods.py \
|
+ gdb/command/xmethods.py \
|
||||||
|
gdb/command/explore.py \
|
||||||
gdb/command/frame_filters.py \
|
gdb/command/frame_filters.py \
|
||||||
gdb/command/unwinders.py \
|
gdb/command/pretty_printers.py \
|
||||||
@@ -78,6 +81,8 @@ PYTHON_FILE_LIST = \
|
@@ -89,6 +93,8 @@ PYTHON_FILE_LIST = \
|
||||||
gdb/function/as_string.py \
|
gdb/function/as_string.py \
|
||||||
gdb/function/caller_is.py \
|
gdb/function/caller_is.py \
|
||||||
gdb/function/strfns.py \
|
gdb/function/strfns.py \
|
||||||
@ -57,10 +58,10 @@ index 3f23516..b5d6390 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 f5dde61..1d92bd6 100644
|
index 962325b..589e22c 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.
|
@@ -1230,6 +1230,16 @@ for remote debugging.
|
||||||
Run using @var{device} for your program's standard input and output.
|
Run using @var{device} for your program's standard input and output.
|
||||||
@c FIXME: kingdon thinks there is more to -tty. Investigate.
|
@c FIXME: kingdon thinks there is more to -tty. Investigate.
|
||||||
|
|
||||||
@ -78,7 +79,7 @@ index f5dde61..1d92bd6 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 a17e37d..c56068b 100644
|
index c3ea203..a3bdb98 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:
|
||||||
@ -111,7 +112,7 @@ index 05a38b2..9801fdf 100644
|
|||||||
set variable $gdb_init_done = 1
|
set variable $gdb_init_done = 1
|
||||||
|
|
||||||
diff --git a/gdb/main.c b/gdb/main.c
|
diff --git a/gdb/main.c b/gdb/main.c
|
||||||
index 5477379..b7e413f 100644
|
index 30e27c2..0460c28 100644
|
||||||
--- a/gdb/main.c
|
--- a/gdb/main.c
|
||||||
+++ b/gdb/main.c
|
+++ b/gdb/main.c
|
||||||
@@ -33,6 +33,7 @@
|
@@ -33,6 +33,7 @@
|
||||||
@ -122,16 +123,16 @@ index 5477379..b7e413f 100644
|
|||||||
#include "source.h"
|
#include "source.h"
|
||||||
#include "cli/cli-cmds.h"
|
#include "cli/cli-cmds.h"
|
||||||
#include "objfiles.h"
|
#include "objfiles.h"
|
||||||
@@ -459,6 +460,8 @@ captured_main (void *data)
|
@@ -459,7 +460,7 @@ struct cmdarg
|
||||||
char *cdarg = NULL;
|
};
|
||||||
char *ttyarg = NULL;
|
|
||||||
|
|
||||||
+ int python_script = 0;
|
static void
|
||||||
+
|
-captured_main_1 (struct captured_main_args *context)
|
||||||
/* These are static so that we can take their address in an
|
+captured_main_1 (struct captured_main_args *context, int &python_script)
|
||||||
initializer. */
|
{
|
||||||
static int print_help;
|
int argc = context->argc;
|
||||||
@@ -663,10 +666,14 @@ captured_main (void *data)
|
char **argv = context->argv;
|
||||||
|
@@ -674,10 +675,14 @@ captured_main_1 (struct captured_main_args *context)
|
||||||
{"args", no_argument, &set_args, 1},
|
{"args", no_argument, &set_args, 1},
|
||||||
{"l", required_argument, 0, 'l'},
|
{"l", required_argument, 0, 'l'},
|
||||||
{"return-child-result", no_argument, &return_child_result, 1},
|
{"return-child-result", no_argument, &return_child_result, 1},
|
||||||
@ -147,7 +148,7 @@ index 5477379..b7e413f 100644
|
|||||||
{
|
{
|
||||||
int option_index;
|
int option_index;
|
||||||
|
|
||||||
@@ -684,6 +691,9 @@ captured_main (void *data)
|
@@ -695,6 +700,9 @@ captured_main_1 (struct captured_main_args *context)
|
||||||
case 0:
|
case 0:
|
||||||
/* Long option that just sets a flag. */
|
/* Long option that just sets a flag. */
|
||||||
break;
|
break;
|
||||||
@ -157,7 +158,7 @@ index 5477379..b7e413f 100644
|
|||||||
case OPT_SE:
|
case OPT_SE:
|
||||||
symarg = optarg;
|
symarg = optarg;
|
||||||
execarg = optarg;
|
execarg = optarg;
|
||||||
@@ -864,7 +874,31 @@ captured_main (void *data)
|
@@ -853,7 +861,31 @@ captured_main_1 (struct captured_main_args *context)
|
||||||
|
|
||||||
/* Now that gdb_init has created the initial inferior, we're in
|
/* Now that gdb_init has created the initial inferior, we're in
|
||||||
position to set args for that inferior. */
|
position to set args for that inferior. */
|
||||||
@ -190,7 +191,7 @@ index 5477379..b7e413f 100644
|
|||||||
{
|
{
|
||||||
/* The remaining options are the command-line options for the
|
/* The remaining options are the command-line options for the
|
||||||
inferior. The first one is the sym/exec file, and the rest
|
inferior. The first one is the sym/exec file, and the rest
|
||||||
@@ -1127,7 +1161,8 @@ captured_main (void *data)
|
@@ -1123,7 +1155,8 @@ captured_main_1 (struct captured_main_args *context)
|
||||||
|
|
||||||
/* Read in the old history after all the command files have been
|
/* Read in the old history after all the command files have been
|
||||||
read. */
|
read. */
|
||||||
@ -200,9 +201,14 @@ index 5477379..b7e413f 100644
|
|||||||
|
|
||||||
if (batch_flag)
|
if (batch_flag)
|
||||||
{
|
{
|
||||||
@@ -1138,13 +1173,25 @@ captured_main (void *data)
|
@@ -1136,16 +1169,29 @@ static void
|
||||||
/* Show time and/or space usage. */
|
captured_main (void *data)
|
||||||
do_cleanups (pre_stat_chain);
|
{
|
||||||
|
struct captured_main_args *context = (struct captured_main_args *) data;
|
||||||
|
+ int python_script = 0;
|
||||||
|
|
||||||
|
- captured_main_1 (context);
|
||||||
|
+ captured_main_1 (context, python_script);
|
||||||
|
|
||||||
- /* NOTE: cagney/1999-11-07: There is probably no reason for not
|
- /* NOTE: cagney/1999-11-07: There is probably no reason for not
|
||||||
- moving this loop and the code found in captured_command_loop()
|
- moving this loop and the code found in captured_command_loop()
|
||||||
@ -211,16 +217,16 @@ index 5477379..b7e413f 100644
|
|||||||
- while (1)
|
- while (1)
|
||||||
+#if HAVE_PYTHON
|
+#if HAVE_PYTHON
|
||||||
+ if (python_script)
|
+ if (python_script)
|
||||||
{
|
+ {
|
||||||
- catch_errors (captured_command_loop, 0, "", RETURN_MASK_ALL);
|
|
||||||
+ extern int pagination_enabled;
|
+ extern int pagination_enabled;
|
||||||
+ pagination_enabled = 0;
|
+ pagination_enabled = 0;
|
||||||
+ run_python_script (argc - optind, &argv[optind]);
|
+ run_python_script (context->argc - optind, &context->argv[optind]);
|
||||||
+ return 1;
|
+ return;
|
||||||
+ }
|
+ }
|
||||||
+ else
|
+ else
|
||||||
+#endif
|
+#endif
|
||||||
+ {
|
{
|
||||||
|
- catch_errors (captured_command_loop, 0, "", RETURN_MASK_ALL);
|
||||||
+ /* NOTE: cagney/1999-11-07: There is probably no reason for not
|
+ /* NOTE: cagney/1999-11-07: There is probably no reason for not
|
||||||
+ moving this loop and the code found in captured_command_loop()
|
+ moving this loop and the code found in captured_command_loop()
|
||||||
+ into the command_loop() proper. The main thing holding back that
|
+ into the command_loop() proper. The main thing holding back that
|
||||||
@ -232,7 +238,7 @@ index 5477379..b7e413f 100644
|
|||||||
}
|
}
|
||||||
/* No exit -- exit is through quit_command. */
|
/* No exit -- exit is through quit_command. */
|
||||||
}
|
}
|
||||||
@@ -1187,6 +1234,12 @@ print_gdb_help (struct ui_file *stream)
|
@@ -1188,6 +1234,12 @@ print_gdb_help (struct ui_file *stream)
|
||||||
fputs_unfiltered (_("\
|
fputs_unfiltered (_("\
|
||||||
This is the GNU debugger. Usage:\n\n\
|
This is the GNU debugger. Usage:\n\n\
|
||||||
gdb [options] [executable-file [core-file or process-id]]\n\
|
gdb [options] [executable-file [core-file or process-id]]\n\
|
||||||
@ -245,7 +251,7 @@ index 5477379..b7e413f 100644
|
|||||||
gdb [options] --args executable-file [inferior-arguments ...]\n\n\
|
gdb [options] --args executable-file [inferior-arguments ...]\n\n\
|
||||||
"), stream);
|
"), stream);
|
||||||
fputs_unfiltered (_("\
|
fputs_unfiltered (_("\
|
||||||
@@ -1231,6 +1284,13 @@ Output and user interface control:\n\n\
|
@@ -1232,6 +1284,13 @@ Output and user interface control:\n\n\
|
||||||
#endif
|
#endif
|
||||||
fputs_unfiltered (_("\
|
fputs_unfiltered (_("\
|
||||||
--dbx DBX compatibility mode.\n\
|
--dbx DBX compatibility mode.\n\
|
||||||
@ -442,8 +448,22 @@ index 0000000..8742680
|
|||||||
+ return wanted == found
|
+ return wanted == found
|
||||||
+
|
+
|
||||||
+InScope ()
|
+InScope ()
|
||||||
|
diff --git a/gdb/python/python-internal.h b/gdb/python/python-internal.h
|
||||||
|
index 4dd413d..2ad4071 100644
|
||||||
|
--- a/gdb/python/python-internal.h
|
||||||
|
+++ b/gdb/python/python-internal.h
|
||||||
|
@@ -551,6 +551,9 @@ class gdbpy_enter_varobj : public gdbpy_enter
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
+struct cleanup *ensure_python_env (struct gdbarch *gdbarch,
|
||||||
|
+ const struct language_defn *language);
|
||||||
|
+
|
||||||
|
extern struct gdbarch *python_gdbarch;
|
||||||
|
extern const struct language_defn *python_language;
|
||||||
|
|
||||||
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 621e201..703a1a0 100644
|
index 73fb3d0..0789c16 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 +475,37 @@ index 621e201..703a1a0 100644
|
|||||||
#include "target.h"
|
#include "target.h"
|
||||||
#include "gdbthread.h"
|
#include "gdbthread.h"
|
||||||
#include "interps.h"
|
#include "interps.h"
|
||||||
@@ -1263,6 +1265,92 @@ gdbpy_print_stack (void)
|
@@ -242,6 +244,29 @@ gdbpy_enter::~gdbpy_enter ()
|
||||||
|
restore_active_ext_lang (m_previous_active);
|
||||||
|
}
|
||||||
|
|
||||||
|
+static void
|
||||||
|
+restore_python_env (void *p)
|
||||||
|
+{
|
||||||
|
+ gdbpy_enter *env = (gdbpy_enter *) p;
|
||||||
|
+
|
||||||
|
+ delete env;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+/* Called before entering the Python interpreter to install the
|
||||||
|
+ current language and architecture to be used for Python values.
|
||||||
|
+ Also set the active extension language for GDB so that SIGINT's
|
||||||
|
+ are directed our way, and if necessary install the right SIGINT
|
||||||
|
+ handler. */
|
||||||
|
+
|
||||||
|
+struct cleanup *
|
||||||
|
+ensure_python_env (struct gdbarch *gdbarch,
|
||||||
|
+ const struct language_defn *language)
|
||||||
|
+{
|
||||||
|
+ gdbpy_enter *env = new gdbpy_enter (gdbarch, language);
|
||||||
|
+
|
||||||
|
+ return make_cleanup (restore_python_env, env);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
/* Set the quit flag. */
|
||||||
|
|
||||||
|
static void
|
||||||
|
@@ -1192,6 +1217,92 @@ gdbpy_print_stack (void)
|
||||||
|
|
||||||
/* Return the current Progspace.
|
/* Return the current Progspace.
|
||||||
There always is one. */
|
There always is one. */
|
||||||
@ -473,7 +523,7 @@ index 621e201..703a1a0 100644
|
|||||||
+ if (! running_python_script || in_cli)
|
+ if (! running_python_script || in_cli)
|
||||||
+ return PyErr_Format (PyExc_RuntimeError, "cannot invoke CLI recursively");
|
+ return PyErr_Format (PyExc_RuntimeError, "cannot invoke CLI recursively");
|
||||||
+
|
+
|
||||||
+ if (ui_out_is_mi_like_p (current_uiout))
|
+ if (current_uiout->is_mi_like_p ())
|
||||||
+ return PyErr_Format (PyExc_RuntimeError, _("Cannot invoke CLI from MI."));
|
+ return PyErr_Format (PyExc_RuntimeError, _("Cannot invoke CLI from MI."));
|
||||||
+
|
+
|
||||||
+ in_cli = 1;
|
+ in_cli = 1;
|
||||||
@ -548,7 +598,7 @@ index 621e201..703a1a0 100644
|
|||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
gdbpy_get_current_progspace (PyObject *unused1, PyObject *unused2)
|
gdbpy_get_current_progspace (PyObject *unused1, PyObject *unused2)
|
||||||
@@ -1981,6 +2069,8 @@ PyMethodDef python_GdbMethods[] =
|
@@ -1888,6 +1999,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." },
|
||||||
@ -558,7 +608,7 @@ index 621e201..703a1a0 100644
|
|||||||
"Return a gdb parameter's value" },
|
"Return a gdb parameter's value" },
|
||||||
|
|
||||||
diff --git a/gdb/python/python.h b/gdb/python/python.h
|
diff --git a/gdb/python/python.h b/gdb/python/python.h
|
||||||
index b810187..a3620ab 100644
|
index e407faa..fc1c632 100644
|
||||||
--- a/gdb/python/python.h
|
--- a/gdb/python/python.h
|
||||||
+++ b/gdb/python/python.h
|
+++ b/gdb/python/python.h
|
||||||
@@ -25,4 +25,6 @@
|
@@ -25,4 +25,6 @@
|
||||||
@ -568,23 +618,8 @@ index b810187..a3620ab 100644
|
|||||||
+extern void run_python_script (int argc, char **argv);
|
+extern void run_python_script (int argc, char **argv);
|
||||||
+
|
+
|
||||||
#endif /* GDB_PYTHON_H */
|
#endif /* GDB_PYTHON_H */
|
||||||
diff --git a/gdb/testsuite/gdb.gdb/selftest.exp b/gdb/testsuite/gdb.gdb/selftest.exp
|
|
||||||
index 2fdd9e3..391900d 100644
|
|
||||||
--- a/gdb/testsuite/gdb.gdb/selftest.exp
|
|
||||||
+++ b/gdb/testsuite/gdb.gdb/selftest.exp
|
|
||||||
@@ -87,6 +87,10 @@ proc do_steps_and_nexts {} {
|
|
||||||
set description "step over cmdarg_vec initialization"
|
|
||||||
set command "step"
|
|
||||||
}
|
|
||||||
+ -re ".*python_script = 0.*$gdb_prompt $" {
|
|
||||||
+ set description "step over python_script initialization"
|
|
||||||
+ set command "step"
|
|
||||||
+ }
|
|
||||||
-re ".*pre_stat_chain = make_command_stats_cleanup.*$gdb_prompt $" {
|
|
||||||
set description "next over make_command_stats_cleanup and everything it calls"
|
|
||||||
set command "next"
|
|
||||||
diff --git a/gdb/testsuite/gdb.python/py-frame.exp b/gdb/testsuite/gdb.python/py-frame.exp
|
diff --git a/gdb/testsuite/gdb.python/py-frame.exp b/gdb/testsuite/gdb.python/py-frame.exp
|
||||||
index b5a4682..d5451a6 100644
|
index f5d4a3c..3546f7b 100644
|
||||||
--- a/gdb/testsuite/gdb.python/py-frame.exp
|
--- a/gdb/testsuite/gdb.python/py-frame.exp
|
||||||
+++ b/gdb/testsuite/gdb.python/py-frame.exp
|
+++ b/gdb/testsuite/gdb.python/py-frame.exp
|
||||||
@@ -95,6 +95,8 @@ gdb_test "python print ('result = %s' % f0.read_var ('a'))" " = 1" "test Frame.r
|
@@ -95,6 +95,8 @@ gdb_test "python print ('result = %s' % f0.read_var ('a'))" " = 1" "test Frame.r
|
||||||
@ -597,10 +632,10 @@ index b5a4682..d5451a6 100644
|
|||||||
gdb_test "python print ('result = %s' % (gdb.selected_frame ().read_register ('sp') == gdb.parse_and_eval ('\$sp')))" \
|
gdb_test "python print ('result = %s' % (gdb.selected_frame ().read_register ('sp') == gdb.parse_and_eval ('\$sp')))" \
|
||||||
" = True" \
|
" = True" \
|
||||||
diff --git a/gdb/testsuite/gdb.python/py-value.exp b/gdb/testsuite/gdb.python/py-value.exp
|
diff --git a/gdb/testsuite/gdb.python/py-value.exp b/gdb/testsuite/gdb.python/py-value.exp
|
||||||
index 57a9ba1..d90d85a 100644
|
index d9a4d20..c87e4d8 100644
|
||||||
--- a/gdb/testsuite/gdb.python/py-value.exp
|
--- a/gdb/testsuite/gdb.python/py-value.exp
|
||||||
+++ b/gdb/testsuite/gdb.python/py-value.exp
|
+++ b/gdb/testsuite/gdb.python/py-value.exp
|
||||||
@@ -397,6 +397,15 @@ proc test_value_after_death {} {
|
@@ -407,6 +407,15 @@ proc test_value_after_death {} {
|
||||||
"print value's type"
|
"print value's type"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -616,7 +651,7 @@ index 57a9ba1..d90d85a 100644
|
|||||||
# Regression test for invalid subscript operations. The bug was that
|
# Regression test for invalid subscript operations. The bug was that
|
||||||
# the type of the value was not being checked before allowing a
|
# the type of the value was not being checked before allowing a
|
||||||
# subscript operation to proceed.
|
# subscript operation to proceed.
|
||||||
@@ -526,6 +535,7 @@ test_value_in_inferior
|
@@ -536,6 +545,7 @@ test_value_in_inferior
|
||||||
test_inferior_function_call
|
test_inferior_function_call
|
||||||
test_lazy_strings
|
test_lazy_strings
|
||||||
test_value_after_death
|
test_value_after_death
|
||||||
@ -624,3 +659,35 @@ index 57a9ba1..d90d85a 100644
|
|||||||
|
|
||||||
# Test either C or C++ values.
|
# Test either C or C++ values.
|
||||||
|
|
||||||
|
diff --git a/gdb/varobj.c b/gdb/varobj.c
|
||||||
|
index 173abf3..c3abf66 100644
|
||||||
|
--- a/gdb/varobj.c
|
||||||
|
+++ b/gdb/varobj.c
|
||||||
|
@@ -226,6 +226,14 @@ is_root_p (const struct varobj *var)
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef HAVE_PYTHON
|
||||||
|
+/* Helper function to install a Python environment suitable for
|
||||||
|
+ use during operations on VAR. */
|
||||||
|
+struct cleanup *
|
||||||
|
+varobj_ensure_python_env (const struct varobj *var)
|
||||||
|
+{
|
||||||
|
+ return ensure_python_env (var->root->exp->gdbarch,
|
||||||
|
+ var->root->exp->language_defn);
|
||||||
|
+}
|
||||||
|
|
||||||
|
/* See python-internal.h. */
|
||||||
|
gdbpy_enter_varobj::gdbpy_enter_varobj (const struct varobj *var)
|
||||||
|
diff --git a/gdb/varobj.h b/gdb/varobj.h
|
||||||
|
index 989c8cd..fc7f177 100644
|
||||||
|
--- a/gdb/varobj.h
|
||||||
|
+++ b/gdb/varobj.h
|
||||||
|
@@ -320,6 +320,8 @@ extern int varobj_has_more (const struct varobj *var, int to);
|
||||||
|
|
||||||
|
extern int varobj_is_dynamic_p (const struct varobj *var);
|
||||||
|
|
||||||
|
+extern struct cleanup *varobj_ensure_python_env (const struct varobj *var);
|
||||||
|
+
|
||||||
|
extern int varobj_default_value_is_changeable_p (const struct varobj *var);
|
||||||
|
extern int varobj_value_is_changeable_p (const struct varobj *var);
|
||||||
|
|
||||||
|
@ -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.11.90.20160829/gdb/nat/linux-ptrace.c
|
Index: gdb-7.12.50.20170226/gdb/nat/linux-ptrace.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.90.20160829.orig/gdb/nat/linux-ptrace.c 2016-08-29 09:35:26.798230659 +0200
|
--- gdb-7.12.50.20170226.orig/gdb/nat/linux-ptrace.c 2017-02-26 21:27:14.780009449 +0100
|
||||||
+++ gdb-7.11.90.20160829/gdb/nat/linux-ptrace.c 2016-08-29 09:35:43.162384100 +0200
|
+++ gdb-7.12.50.20170226/gdb/nat/linux-ptrace.c 2017-02-26 21:27:18.838038193 +0100
|
||||||
@@ -25,6 +25,10 @@
|
@@ -27,6 +27,10 @@
|
||||||
#include "gdb_ptrace.h"
|
|
||||||
#include <sys/procfs.h>
|
#include <sys/procfs.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
+#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.11.90.20160829/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. */
|
||||||
@@ -49,6 +53,8 @@
|
@@ -51,6 +55,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.11.90.20160829/gdb/nat/linux-ptrace.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* See linux-ptrace.h. */
|
/* See linux-ptrace.h. */
|
||||||
@@ -592,6 +598,22 @@
|
@@ -594,6 +600,22 @@
|
||||||
linux_ptrace_test_ret_to_nx ();
|
linux_ptrace_test_ret_to_nx ();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -84,10 +84,10 @@ Index: gdb-7.11.90.20160829/gdb/nat/linux-ptrace.c
|
|||||||
/* Extract extended ptrace event from wait status. */
|
/* Extract extended ptrace event from wait status. */
|
||||||
|
|
||||||
int
|
int
|
||||||
Index: gdb-7.11.90.20160829/gdb/nat/linux-ptrace.h
|
Index: gdb-7.12.50.20170226/gdb/nat/linux-ptrace.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.90.20160829.orig/gdb/nat/linux-ptrace.h 2016-08-29 09:35:26.798230659 +0200
|
--- gdb-7.12.50.20170226.orig/gdb/nat/linux-ptrace.h 2017-02-26 21:27:14.780009449 +0100
|
||||||
+++ gdb-7.11.90.20160829/gdb/nat/linux-ptrace.h 2016-08-29 09:35:43.162384100 +0200
|
+++ gdb-7.12.50.20170226/gdb/nat/linux-ptrace.h 2017-02-26 21:27:18.838038193 +0100
|
||||||
@@ -185,6 +185,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);
|
||||||
|
|
||||||
@ -96,11 +96,11 @@ Index: gdb-7.11.90.20160829/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.11.90.20160829/gdb/configure.ac
|
Index: gdb-7.12.50.20170226/gdb/configure.ac
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.90.20160829.orig/gdb/configure.ac 2016-08-29 09:35:26.799230668 +0200
|
--- gdb-7.12.50.20170226.orig/gdb/configure.ac 2017-02-26 21:27:14.781009456 +0100
|
||||||
+++ gdb-7.11.90.20160829/gdb/configure.ac 2016-08-29 09:35:43.163384109 +0200
|
+++ gdb-7.12.50.20170226/gdb/configure.ac 2017-02-26 21:27:18.839038200 +0100
|
||||||
@@ -2108,6 +2108,10 @@
|
@@ -2092,6 +2092,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.11.90.20160829/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.11.90.20160829/gdb/gdbserver/configure.ac
|
Index: gdb-7.12.50.20170226/gdb/gdbserver/configure.ac
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.90.20160829.orig/gdb/gdbserver/configure.ac 2016-08-29 09:35:26.799230668 +0200
|
--- gdb-7.12.50.20170226.orig/gdb/gdbserver/configure.ac 2017-02-26 21:27:14.781009456 +0100
|
||||||
+++ gdb-7.11.90.20160829/gdb/gdbserver/configure.ac 2016-08-29 09:35:43.163384109 +0200
|
+++ gdb-7.12.50.20170226/gdb/gdbserver/configure.ac 2017-02-26 21:27:18.839038200 +0100
|
||||||
@@ -472,6 +472,10 @@
|
@@ -469,6 +469,10 @@
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -126,11 +126,11 @@ Index: gdb-7.11.90.20160829/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.11.90.20160829/gdb/gdbserver/linux-low.c
|
Index: gdb-7.12.50.20170226/gdb/gdbserver/linux-low.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.90.20160829.orig/gdb/gdbserver/linux-low.c 2016-08-29 09:35:26.801230687 +0200
|
--- gdb-7.12.50.20170226.orig/gdb/gdbserver/linux-low.c 2017-02-26 21:27:14.783009470 +0100
|
||||||
+++ gdb-7.11.90.20160829/gdb/gdbserver/linux-low.c 2016-08-29 09:35:43.165384128 +0200
|
+++ gdb-7.12.50.20170226/gdb/gdbserver/linux-low.c 2017-02-26 21:27:18.841038214 +0100
|
||||||
@@ -933,6 +933,29 @@
|
@@ -946,6 +946,29 @@
|
||||||
return lwp;
|
return lwp;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -160,7 +160,7 @@ Index: gdb-7.11.90.20160829/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. */
|
||||||
|
|
||||||
@@ -956,7 +979,7 @@
|
@@ -969,7 +992,7 @@
|
||||||
if (pid == 0)
|
if (pid == 0)
|
||||||
{
|
{
|
||||||
close_most_fds ();
|
close_most_fds ();
|
||||||
@ -169,31 +169,11 @@ Index: gdb-7.11.90.20160829/gdb/gdbserver/linux-low.c
|
|||||||
|
|
||||||
setpgid (0, 0);
|
setpgid (0, 0);
|
||||||
|
|
||||||
Index: gdb-7.11.90.20160829/gdb/inf-ptrace.c
|
Index: gdb-7.12.50.20170226/gdb/linux-nat.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.90.20160829.orig/gdb/inf-ptrace.c 2016-08-29 09:35:26.801230687 +0200
|
--- gdb-7.12.50.20170226.orig/gdb/linux-nat.c 2017-02-26 21:27:14.785009484 +0100
|
||||||
+++ gdb-7.11.90.20160829/gdb/inf-ptrace.c 2016-08-29 09:35:43.165384128 +0200
|
+++ gdb-7.12.50.20170226/gdb/linux-nat.c 2017-02-26 21:27:18.842038221 +0100
|
||||||
@@ -79,7 +79,15 @@
|
@@ -1110,6 +1110,7 @@
|
||||||
inf_ptrace_me (void)
|
|
||||||
{
|
|
||||||
/* "Trace me, Dr. Memory!" */
|
|
||||||
+ errno = 0;
|
|
||||||
ptrace (PT_TRACE_ME, 0, (PTRACE_TYPE_ARG3)0, 0);
|
|
||||||
+ if (errno != 0)
|
|
||||||
+ {
|
|
||||||
+ fprintf_unfiltered (gdb_stderr, _("Cannot create process: %s\n"),
|
|
||||||
+ safe_strerror (errno));
|
|
||||||
+ gdb_flush (gdb_stderr);
|
|
||||||
+ _exit (0177);
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Start a new inferior Unix child process. EXEC_FILE is the file to
|
|
||||||
Index: gdb-7.11.90.20160829/gdb/linux-nat.c
|
|
||||||
===================================================================
|
|
||||||
--- gdb-7.11.90.20160829.orig/gdb/linux-nat.c 2016-08-29 09:35:26.802230697 +0200
|
|
||||||
+++ gdb-7.11.90.20160829/gdb/linux-nat.c 2016-08-29 09:35:43.166384137 +0200
|
|
||||||
@@ -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 +181,7 @@ Index: gdb-7.11.90.20160829/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. */
|
||||||
@@ -1109,7 +1110,28 @@
|
@@ -1117,7 +1118,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 +211,11 @@ Index: gdb-7.11.90.20160829/gdb/linux-nat.c
|
|||||||
|
|
||||||
do_cleanups (restore_personality);
|
do_cleanups (restore_personality);
|
||||||
}
|
}
|
||||||
Index: gdb-7.11.90.20160829/gdb/config.in
|
Index: gdb-7.12.50.20170226/gdb/config.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.90.20160829.orig/gdb/config.in 2016-08-29 09:35:26.803230706 +0200
|
--- gdb-7.12.50.20170226.orig/gdb/config.in 2017-02-26 21:27:14.786009491 +0100
|
||||||
+++ gdb-7.11.90.20160829/gdb/config.in 2016-08-29 09:35:43.166384137 +0200
|
+++ gdb-7.12.50.20170226/gdb/config.in 2017-02-26 21:27:18.842038221 +0100
|
||||||
@@ -267,6 +267,9 @@
|
@@ -270,6 +270,9 @@
|
||||||
/* Define if librpm library is being used. */
|
/* Define if librpm library is being used. */
|
||||||
#undef HAVE_LIBRPM
|
#undef HAVE_LIBRPM
|
||||||
|
|
||||||
@ -245,7 +225,7 @@ Index: gdb-7.11.90.20160829/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
|
||||||
|
|
||||||
@@ -399,6 +402,9 @@
|
@@ -402,6 +405,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 +235,11 @@ Index: gdb-7.11.90.20160829/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.11.90.20160829/gdb/configure
|
Index: gdb-7.12.50.20170226/gdb/configure
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.90.20160829.orig/gdb/configure 2016-08-29 09:35:26.806230734 +0200
|
--- gdb-7.12.50.20170226.orig/gdb/configure 2017-02-26 21:27:14.790009519 +0100
|
||||||
+++ gdb-7.11.90.20160829/gdb/configure 2016-08-29 09:35:43.170384175 +0200
|
+++ gdb-7.12.50.20170226/gdb/configure 2017-02-26 21:27:18.846038249 +0100
|
||||||
@@ -14642,6 +14642,64 @@
|
@@ -15492,6 +15492,64 @@
|
||||||
_ACEOF
|
_ACEOF
|
||||||
|
|
||||||
|
|
||||||
@ -324,11 +304,11 @@ Index: gdb-7.11.90.20160829/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.11.90.20160829/gdb/gdbserver/config.in
|
Index: gdb-7.12.50.20170226/gdb/gdbserver/config.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.90.20160829.orig/gdb/gdbserver/config.in 2016-08-29 09:35:26.807230743 +0200
|
--- gdb-7.12.50.20170226.orig/gdb/gdbserver/config.in 2017-02-26 21:27:14.791009527 +0100
|
||||||
+++ gdb-7.11.90.20160829/gdb/gdbserver/config.in 2016-08-29 09:35:43.170384175 +0200
|
+++ gdb-7.12.50.20170226/gdb/gdbserver/config.in 2017-02-26 21:27:18.846038249 +0100
|
||||||
@@ -120,6 +120,9 @@
|
@@ -123,6 +123,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 +318,7 @@ Index: gdb-7.11.90.20160829/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
|
||||||
|
|
||||||
@@ -196,6 +199,9 @@
|
@@ -199,6 +202,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 +328,11 @@ Index: gdb-7.11.90.20160829/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.11.90.20160829/gdb/gdbserver/configure
|
Index: gdb-7.12.50.20170226/gdb/gdbserver/configure
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.90.20160829.orig/gdb/gdbserver/configure 2016-08-29 09:35:26.809230762 +0200
|
--- gdb-7.12.50.20170226.orig/gdb/gdbserver/configure 2017-02-26 21:27:14.793009541 +0100
|
||||||
+++ gdb-7.11.90.20160829/gdb/gdbserver/configure 2016-08-29 09:35:43.172384194 +0200
|
+++ gdb-7.12.50.20170226/gdb/gdbserver/configure 2017-02-26 21:27:18.848038263 +0100
|
||||||
@@ -7561,6 +7561,64 @@
|
@@ -8429,6 +8429,64 @@
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -1,44 +0,0 @@
|
|||||||
bison-3.0.4-4.fc24.x86_64
|
|
||||||
vs.
|
|
||||||
bison-2.7-4.el7.x86_64
|
|
||||||
|
|
||||||
bison:
|
|
||||||
8d0b7cef7df7fead44b9574cee342de336008625 tags/v3.0.1~2
|
|
||||||
parsers: rename YY_NULL as YY_NULLPTR to avoid conflicts with Flex
|
|
||||||
|
|
||||||
ada-lex.c:113:0: error: "YY_NULL" redefined [-Werror]
|
|
||||||
#define YY_NULL 0
|
|
||||||
|
|
||||||
ada-exp.c:158:0: note: this is the location of the previous definition
|
|
||||||
# define YY_NULL nullptr
|
|
||||||
|
|
||||||
*-exp.c cp-name-parser.c
|
|
||||||
vs.
|
|
||||||
ada-lex.c
|
|
||||||
|
|
||||||
# ifndef YY_NULL
|
|
||||||
# if defined __cplusplus && 201103L <= __cplusplus
|
|
||||||
# define YY_NULL nullptr
|
|
||||||
# else
|
|
||||||
# define YY_NULL 0
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
|
|
||||||
# ifndef YY_NULLPTR
|
|
||||||
# if defined __cplusplus && 201103L <= __cplusplus
|
|
||||||
# define YY_NULLPTR nullptr
|
|
||||||
# else
|
|
||||||
# define YY_NULLPTR 0
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
|
|
||||||
--- gdb-clean712/gdb/Makefile.in 2016-08-29 09:16:15.505393928 +0200
|
|
||||||
+++ gdb-clean712/gdb/Makefile.in 2016-09-07 13:32:34.744270346 +0200
|
|
||||||
@@ -1900,6 +1945,7 @@ po/$(PACKAGE).pot: force
|
|
||||||
-e 's/\([ \t;,(]\)free\([ \t]*[&(),]\)/\1xfree\2/g' \
|
|
||||||
-e 's/\([ \t;,(]\)free$$/\1xfree/g' \
|
|
||||||
-e '/^#line.*y.tab.c/d' \
|
|
||||||
+ -e 's/\<YY_NULL\>/YY_NULLPTR/g' \
|
|
||||||
< $@.tmp > $@
|
|
||||||
rm -f $@.tmp
|
|
||||||
.l.c:
|
|
@ -3,83 +3,32 @@ printed, but a default backtrace will occur in this case.
|
|||||||
|
|
||||||
--
|
--
|
||||||
|
|
||||||
Index: gdb-7.9.50.20150520/gdb/python/py-framefilter.c
|
Index: gdb-7.12.50.20170226/gdb/python/py-framefilter.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.9.50.20150520.orig/gdb/python/py-framefilter.c 2015-05-31 17:36:34.681952530 +0200
|
--- gdb-7.12.50.20170226.orig/gdb/python/py-framefilter.c 2017-02-26 21:33:23.150618708 +0100
|
||||||
+++ gdb-7.9.50.20150520/gdb/python/py-framefilter.c 2015-05-31 17:55:01.884788031 +0200
|
+++ gdb-7.12.50.20170226/gdb/python/py-framefilter.c 2017-02-26 21:33:29.993667179 +0100
|
||||||
@@ -1523,6 +1523,7 @@ gdbpy_apply_frame_filter (const struct e
|
@@ -1388,6 +1388,7 @@
|
||||||
PyObject *iterable;
|
htab_eq_pointer,
|
||||||
PyObject *item;
|
NULL));
|
||||||
htab_t levels_printed;
|
|
||||||
+ int count_printed = 0;
|
+ int count_printed = 0;
|
||||||
|
while (true)
|
||||||
if (!gdb_python_initialized)
|
{
|
||||||
return EXT_LANG_BT_NO_FILTERS;
|
gdbpy_ref<> item (PyIter_Next (iterable.get ()));
|
||||||
@@ -1543,24 +1544,7 @@ gdbpy_apply_frame_filter (const struct e
|
@@ -1397,7 +1398,7 @@
|
||||||
iterable = bootstrap_python_frame_filters (frame, frame_low, frame_high);
|
if (PyErr_Occurred ())
|
||||||
|
{
|
||||||
if (iterable == NULL)
|
gdbpy_print_stack ();
|
||||||
- {
|
- return EXT_LANG_BT_ERROR;
|
||||||
- /* Normally if there is an error GDB prints the exception,
|
+ return count_printed > 0 ? EXT_LANG_BT_ERROR : EXT_LANG_BT_NO_FILTERS;
|
||||||
- abandons the backtrace and exits. The user can then call "bt
|
}
|
||||||
- no-filters", and get a default backtrace (it would be
|
break;
|
||||||
- confusing to automatically start a standard backtrace halfway
|
}
|
||||||
- through a Python filtered backtrace). However in the case
|
@@ -1409,6 +1410,7 @@
|
||||||
- where GDB cannot initialize the frame filters (most likely
|
|
||||||
- due to incorrect auto-load paths), GDB has printed nothing.
|
|
||||||
- In this case it is OK to print the default backtrace after
|
|
||||||
- printing the error message. GDB returns EXT_LANG_BT_NO_FILTERS
|
|
||||||
- here to signify there are no filters after printing the
|
|
||||||
- initialization error. This return code will trigger a
|
|
||||||
- default backtrace. */
|
|
||||||
-
|
|
||||||
- gdbpy_print_stack ();
|
|
||||||
- do_cleanups (cleanups);
|
|
||||||
- return EXT_LANG_BT_NO_FILTERS;
|
|
||||||
- }
|
|
||||||
+ goto error_nothing_printed;
|
|
||||||
|
|
||||||
/* If iterable is None, then there are no frame filters registered.
|
|
||||||
If this is the case, defer to default GDB printing routines in MI
|
|
||||||
@@ -1591,15 +1575,40 @@ gdbpy_apply_frame_filter (const struct e
|
|
||||||
error and continue with other frames. */
|
error and continue with other frames. */
|
||||||
if (success == EXT_LANG_BT_ERROR)
|
if (success == EXT_LANG_BT_ERROR)
|
||||||
gdbpy_print_stack ();
|
gdbpy_print_stack ();
|
||||||
+
|
|
||||||
+ count_printed++;
|
+ count_printed++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (item == NULL && PyErr_Occurred ())
|
|
||||||
- goto error;
|
|
||||||
+ {
|
|
||||||
+ if (count_printed > 0)
|
|
||||||
+ goto error;
|
|
||||||
+ else
|
|
||||||
+ goto error_nothing_printed;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
done:
|
|
||||||
do_cleanups (cleanups);
|
|
||||||
return success;
|
return success;
|
||||||
|
|
||||||
+ /* Normally if there is an error GDB prints the exception,
|
|
||||||
+ abandons the backtrace and exits. The user can then call "bt
|
|
||||||
+ no-filters", and get a default backtrace (it would be
|
|
||||||
+ confusing to automatically start a standard backtrace halfway
|
|
||||||
+ through a Python filtered backtrace). However in the case
|
|
||||||
+ where GDB cannot initialize the frame filters (most likely
|
|
||||||
+ due to incorrect auto-load paths), GDB has printed nothing.
|
|
||||||
+ In this case it is OK to print the default backtrace after
|
|
||||||
+ printing the error message. GDB returns EXT_LANG_BT_NO_FILTERS
|
|
||||||
+ here to signify there are no filters after printing the
|
|
||||||
+ initialization error. This return code will trigger a
|
|
||||||
+ default backtrace. */
|
|
||||||
+
|
|
||||||
+ error_nothing_printed:
|
|
||||||
+ gdbpy_print_stack ();
|
|
||||||
+ do_cleanups (cleanups);
|
|
||||||
+ return EXT_LANG_BT_NO_FILTERS;
|
|
||||||
+
|
|
||||||
/* Exit and abandon backtrace on error, printing the exception that
|
|
||||||
is set. */
|
|
||||||
error:
|
|
||||||
|
@ -1,30 +1,30 @@
|
|||||||
https://bugzilla.redhat.com/show_bug.cgi?id=1020004
|
https://bugzilla.redhat.com/show_bug.cgi?id=1020004
|
||||||
|
|
||||||
Index: gdb-7.11.50.20160630/gdb/data-directory/Makefile.in
|
Index: gdb-7.12.50.20170207/gdb/data-directory/Makefile.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160630.orig/gdb/data-directory/Makefile.in 2016-07-03 16:32:13.788164041 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/data-directory/Makefile.in 2017-02-26 21:10:31.418894975 +0100
|
||||||
+++ gdb-7.11.50.20160630/gdb/data-directory/Makefile.in 2016-07-03 16:32:17.868198850 +0200
|
+++ gdb-7.12.50.20170207/gdb/data-directory/Makefile.in 2017-02-26 21:11:07.083147930 +0100
|
||||||
@@ -61,6 +61,8 @@
|
@@ -71,6 +71,8 @@
|
||||||
gdb/frames.py \
|
gdb/__init__.py \
|
||||||
gdb/FrameIterator.py \
|
|
||||||
gdb/FrameDecorator.py \
|
gdb/FrameDecorator.py \
|
||||||
|
gdb/FrameIterator.py \
|
||||||
+ gdb/FrameWrapper.py \
|
+ gdb/FrameWrapper.py \
|
||||||
+ gdb/backtrace.py \
|
+ gdb/backtrace.py \
|
||||||
gdb/types.py \
|
gdb/frames.py \
|
||||||
gdb/printing.py \
|
gdb/printing.py \
|
||||||
gdb/unwinder.py \
|
gdb/prompt.py \
|
||||||
@@ -77,6 +79,7 @@
|
@@ -83,6 +85,7 @@
|
||||||
gdb/command/pretty_printers.py \
|
gdb/command/pahole.py \
|
||||||
gdb/command/prompt.py \
|
gdb/command/xmethods.py \
|
||||||
gdb/command/explore.py \
|
gdb/command/explore.py \
|
||||||
+ gdb/command/backtrace.py \
|
+ gdb/command/backtrace.py \
|
||||||
gdb/function/__init__.py \
|
gdb/command/frame_filters.py \
|
||||||
gdb/function/as_string.py \
|
gdb/command/pretty_printers.py \
|
||||||
gdb/function/caller_is.py \
|
gdb/command/prompt.py \
|
||||||
Index: gdb-7.11.50.20160630/gdb/python/lib/gdb/FrameWrapper.py
|
Index: gdb-7.12.50.20170207/gdb/python/lib/gdb/FrameWrapper.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /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/python/lib/gdb/FrameWrapper.py 2016-07-03 16:32:17.869198859 +0200
|
+++ gdb-7.12.50.20170207/gdb/python/lib/gdb/FrameWrapper.py 2017-02-26 21:10:31.419894983 +0100
|
||||||
@@ -0,0 +1,122 @@
|
@@ -0,0 +1,122 @@
|
||||||
+# Wrapper API for frames.
|
+# Wrapper API for frames.
|
||||||
+
|
+
|
||||||
@ -62,7 +62,7 @@ Index: gdb-7.11.50.20160630/gdb/python/lib/gdb/FrameWrapper.py
|
|||||||
+ if val != None:
|
+ if val != None:
|
||||||
+ val = str (val)
|
+ val = str (val)
|
||||||
+ # FIXME: would be nice to have a more precise exception here.
|
+ # FIXME: would be nice to have a more precise exception here.
|
||||||
+ except RuntimeError, text:
|
+ except RuntimeError as text:
|
||||||
+ val = text
|
+ val = text
|
||||||
+ if val == None:
|
+ if val == None:
|
||||||
+ stream.write ("???")
|
+ stream.write ("???")
|
||||||
@ -148,10 +148,10 @@ Index: gdb-7.11.50.20160630/gdb/python/lib/gdb/FrameWrapper.py
|
|||||||
+
|
+
|
||||||
+ def __getattr__ (self, name):
|
+ def __getattr__ (self, name):
|
||||||
+ return getattr (self.frame, name)
|
+ return getattr (self.frame, name)
|
||||||
Index: gdb-7.11.50.20160630/gdb/python/lib/gdb/backtrace.py
|
Index: gdb-7.12.50.20170207/gdb/python/lib/gdb/backtrace.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /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/python/lib/gdb/backtrace.py 2016-07-03 16:32:17.869198859 +0200
|
+++ gdb-7.12.50.20170207/gdb/python/lib/gdb/backtrace.py 2017-02-26 21:10:31.419894983 +0100
|
||||||
@@ -0,0 +1,42 @@
|
@@ -0,0 +1,42 @@
|
||||||
+# Filtering backtrace.
|
+# Filtering backtrace.
|
||||||
+
|
+
|
||||||
@ -195,10 +195,10 @@ Index: gdb-7.11.50.20160630/gdb/python/lib/gdb/backtrace.py
|
|||||||
+ return iter
|
+ return iter
|
||||||
+ return old_frame_filter (iter)
|
+ return old_frame_filter (iter)
|
||||||
+
|
+
|
||||||
Index: gdb-7.11.50.20160630/gdb/python/lib/gdb/command/backtrace.py
|
Index: gdb-7.12.50.20170207/gdb/python/lib/gdb/command/backtrace.py
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /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/python/lib/gdb/command/backtrace.py 2016-07-03 16:32:17.869198859 +0200
|
+++ gdb-7.12.50.20170207/gdb/python/lib/gdb/command/backtrace.py 2017-02-26 21:10:31.419894983 +0100
|
||||||
@@ -0,0 +1,106 @@
|
@@ -0,0 +1,106 @@
|
||||||
+# New backtrace command.
|
+# New backtrace command.
|
||||||
+
|
+
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: gdb-7.11.50.20160630/gdb/doc/python.texi
|
Index: gdb-7.12.50.20170207/gdb/doc/python.texi
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160630.orig/gdb/doc/python.texi 2016-07-03 16:30:37.009338358 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/doc/python.texi 2017-02-26 21:03:56.414161880 +0100
|
||||||
+++ gdb-7.11.50.20160630/gdb/doc/python.texi 2016-07-03 16:30:42.812387867 +0200
|
+++ gdb-7.12.50.20170207/gdb/doc/python.texi 2017-02-26 21:03:57.448169033 +0100
|
||||||
@@ -229,6 +229,14 @@
|
@@ -229,6 +229,14 @@
|
||||||
return value is @code{None}. If @var{to_string} is @code{True}, the
|
return value is @code{None}. If @var{to_string} is @code{True}, the
|
||||||
@value{GDBN} virtual terminal will be temporarily set to unlimited width
|
@value{GDBN} virtual terminal will be temporarily set to unlimited width
|
||||||
@ -17,10 +17,10 @@ Index: gdb-7.11.50.20160630/gdb/doc/python.texi
|
|||||||
@end defun
|
@end defun
|
||||||
|
|
||||||
@findex gdb.breakpoints
|
@findex gdb.breakpoints
|
||||||
Index: gdb-7.11.50.20160630/gdb/python/python-internal.h
|
Index: gdb-7.12.50.20170207/gdb/python/python-internal.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160630.orig/gdb/python/python-internal.h 2016-07-03 16:30:37.010338366 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/python/python-internal.h 2017-02-26 21:03:56.415161887 +0100
|
||||||
+++ gdb-7.11.50.20160630/gdb/python/python-internal.h 2016-07-03 16:30:42.812387867 +0200
|
+++ gdb-7.12.50.20170207/gdb/python/python-internal.h 2017-02-26 21:03:57.448169033 +0100
|
||||||
@@ -140,6 +140,8 @@
|
@@ -140,6 +140,8 @@
|
||||||
#define PyGILState_Release(ARG) ((void)(ARG))
|
#define PyGILState_Release(ARG) ((void)(ARG))
|
||||||
#define PyEval_InitThreads()
|
#define PyEval_InitThreads()
|
||||||
@ -30,21 +30,19 @@ Index: gdb-7.11.50.20160630/gdb/python/python-internal.h
|
|||||||
#define PyEval_ReleaseLock()
|
#define PyEval_ReleaseLock()
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
Index: gdb-7.11.50.20160630/gdb/python/python.c
|
Index: gdb-7.12.50.20170207/gdb/python/python.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160630.orig/gdb/python/python.c 2016-07-03 16:30:37.011338375 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/python/python.c 2017-02-26 21:03:56.416161894 +0100
|
||||||
+++ gdb-7.11.50.20160630/gdb/python/python.c 2016-07-03 16:31:16.324673783 +0200
|
+++ gdb-7.12.50.20170207/gdb/python/python.c 2017-02-26 21:09:23.252423095 +0100
|
||||||
@@ -619,13 +619,18 @@
|
@@ -595,12 +595,16 @@
|
||||||
{
|
{
|
||||||
const char *arg;
|
const char *arg;
|
||||||
PyObject *from_tty_obj = NULL, *to_string_obj = NULL;
|
PyObject *from_tty_obj = NULL, *to_string_obj = NULL;
|
||||||
- int from_tty, to_string;
|
- int from_tty, to_string;
|
||||||
- static char *keywords[] = {"command", "from_tty", "to_string", NULL };
|
- static char *keywords[] = {"command", "from_tty", "to_string", NULL };
|
||||||
+ PyObject *release_gil_obj = NULL;
|
|
||||||
+ int from_tty, to_string, release_gil;
|
+ int from_tty, to_string, release_gil;
|
||||||
+ static char *keywords[] = {"command", "from_tty", "to_string",
|
+ static char *keywords[] = {"command", "from_tty", "to_string", "release_gil", NULL };
|
||||||
+ "release_gil", NULL };
|
+ PyObject *release_gil_obj = NULL;
|
||||||
char *result = NULL;
|
|
||||||
+ /* Initialize it just to avoid a GCC false warning. */
|
+ /* Initialize it just to avoid a GCC false warning. */
|
||||||
+ PyThreadState *state = NULL;
|
+ PyThreadState *state = NULL;
|
||||||
|
|
||||||
@ -57,7 +55,7 @@ Index: gdb-7.11.50.20160630/gdb/python/python.c
|
|||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
from_tty = 0;
|
from_tty = 0;
|
||||||
@@ -646,6 +651,15 @@
|
@@ -621,6 +625,15 @@
|
||||||
to_string = cmp;
|
to_string = cmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -70,11 +68,11 @@ Index: gdb-7.11.50.20160630/gdb/python/python.c
|
|||||||
+ release_gil = cmp;
|
+ release_gil = cmp;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
|
std::string to_string_res;
|
||||||
|
|
||||||
TRY
|
TRY
|
||||||
{
|
@@ -629,6 +642,13 @@
|
||||||
/* Copy the argument text in case the command modifies it. */
|
std::string copy (arg);
|
||||||
@@ -653,6 +667,13 @@
|
|
||||||
struct cleanup *cleanup = make_cleanup (xfree, copy);
|
|
||||||
struct interp *interp;
|
struct interp *interp;
|
||||||
|
|
||||||
+ /* In the case of long running GDB commands, allow the user to
|
+ /* In the case of long running GDB commands, allow the user to
|
||||||
@ -84,18 +82,17 @@ Index: gdb-7.11.50.20160630/gdb/python/python.c
|
|||||||
+ if (release_gil)
|
+ if (release_gil)
|
||||||
+ state = PyEval_SaveThread();
|
+ state = PyEval_SaveThread();
|
||||||
+
|
+
|
||||||
make_cleanup_restore_integer (¤t_ui->async);
|
scoped_restore save_async = make_scoped_restore (¤t_ui->async, 0);
|
||||||
current_ui->async = 0;
|
|
||||||
|
|
||||||
@@ -671,11 +692,23 @@
|
|
||||||
execute_command (copy, from_tty);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
scoped_restore save_uiout = make_scoped_restore (¤t_uiout);
|
||||||
|
@@ -643,10 +663,22 @@
|
||||||
|
to_string_res = execute_command_to_string (©[0], from_tty);
|
||||||
|
else
|
||||||
|
execute_command (©[0], from_tty);
|
||||||
|
+
|
||||||
+ /* Reacquire the GIL if it was released earlier. */
|
+ /* Reacquire the GIL if it was released earlier. */
|
||||||
+ if (release_gil)
|
+ if (release_gil)
|
||||||
+ PyEval_RestoreThread (state);
|
+ PyEval_RestoreThread (state);
|
||||||
+
|
|
||||||
do_cleanups (cleanup);
|
|
||||||
}
|
}
|
||||||
CATCH (except, RETURN_MASK_ALL)
|
CATCH (except, RETURN_MASK_ALL)
|
||||||
{
|
{
|
||||||
@ -112,8 +109,10 @@ Index: gdb-7.11.50.20160630/gdb/python/python.c
|
|||||||
}
|
}
|
||||||
END_CATCH
|
END_CATCH
|
||||||
|
|
||||||
--- /dev/null 2016-09-12 21:37:05.332693927 +0200
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.python/py-gil-mthread.c
|
||||||
+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.python/py-gil-mthread.c 2016-09-12 21:51:53.750317187 +0200
|
===================================================================
|
||||||
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.python/py-gil-mthread.c 2017-02-26 21:03:57.450169047 +0100
|
||||||
@@ -0,0 +1,13 @@
|
@@ -0,0 +1,13 @@
|
||||||
+#include <stdio.h>
|
+#include <stdio.h>
|
||||||
+#include <unistd.h>
|
+#include <unistd.h>
|
||||||
@ -128,8 +127,10 @@ Index: gdb-7.11.50.20160630/gdb/python/python.c
|
|||||||
+ printf ("Sleeping %d\n", i);
|
+ printf ("Sleeping %d\n", i);
|
||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
--- /dev/null 2016-09-12 21:37:05.332693927 +0200
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.python/py-gil-mthread.exp
|
||||||
+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.python/py-gil-mthread.exp 2016-09-12 21:52:38.605750360 +0200
|
===================================================================
|
||||||
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.python/py-gil-mthread.exp 2017-02-26 21:03:57.450169047 +0100
|
||||||
@@ -0,0 +1,69 @@
|
@@ -0,0 +1,69 @@
|
||||||
+# Copyright (C) 2014 Free Software Foundation, Inc.
|
+# Copyright (C) 2014 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
@ -200,8 +201,10 @@ Index: gdb-7.11.50.20160630/gdb/python/python.c
|
|||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
--- /dev/null 2016-09-12 21:37:05.332693927 +0200
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.python/py-gil-mthread.py
|
||||||
+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.python/py-gil-mthread.py 2016-09-12 21:59:02.668459286 +0200
|
===================================================================
|
||||||
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.python/py-gil-mthread.py 2017-02-26 21:03:57.450169047 +0100
|
||||||
@@ -0,0 +1,28 @@
|
@@ -0,0 +1,28 @@
|
||||||
+try:
|
+try:
|
||||||
+ import thread
|
+ import thread
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -137,11 +137,11 @@ Content-Type: text/x-patch
|
|||||||
Content-Transfer-Encoding: 7bit
|
Content-Transfer-Encoding: 7bit
|
||||||
Content-Disposition: attachment; filename=bitpos-tdep.patch
|
Content-Disposition: attachment; filename=bitpos-tdep.patch
|
||||||
|
|
||||||
Index: gdb-7.11.50.20160716/gdb/alpha-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/alpha-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/alpha-tdep.c 2016-07-16 14:35:45.390502718 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/alpha-tdep.c 2017-02-26 19:11:30.470121187 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/alpha-tdep.c 2016-07-16 14:35:47.511519788 +0200
|
+++ gdb-7.12.50.20170207/gdb/alpha-tdep.c 2017-02-26 19:11:48.269248546 +0100
|
||||||
@@ -299,17 +299,17 @@
|
@@ -300,17 +300,17 @@
|
||||||
{
|
{
|
||||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||||
int i;
|
int i;
|
||||||
@ -163,7 +163,7 @@ Index: gdb-7.11.50.20160716/gdb/alpha-tdep.c
|
|||||||
CORE_ADDR func_addr = find_function_addr (function, NULL);
|
CORE_ADDR func_addr = find_function_addr (function, NULL);
|
||||||
|
|
||||||
/* The ABI places the address of the called function in T12. */
|
/* The ABI places the address of the called function in T12. */
|
||||||
@@ -429,8 +429,8 @@
|
@@ -430,8 +430,8 @@
|
||||||
for (i = nargs; m_arg--, --i >= 0;)
|
for (i = nargs; m_arg--, --i >= 0;)
|
||||||
{
|
{
|
||||||
const gdb_byte *contents = m_arg->contents;
|
const gdb_byte *contents = m_arg->contents;
|
||||||
@ -174,7 +174,7 @@ Index: gdb-7.11.50.20160716/gdb/alpha-tdep.c
|
|||||||
|
|
||||||
/* Copy the bytes destined for registers into arg_reg_buffer. */
|
/* Copy the bytes destined for registers into arg_reg_buffer. */
|
||||||
if (offset < sizeof(arg_reg_buffer))
|
if (offset < sizeof(arg_reg_buffer))
|
||||||
@@ -442,7 +442,7 @@
|
@@ -443,7 +443,7 @@
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -183,11 +183,11 @@ Index: gdb-7.11.50.20160716/gdb/alpha-tdep.c
|
|||||||
memcpy (arg_reg_buffer + offset, contents, tlen);
|
memcpy (arg_reg_buffer + offset, contents, tlen);
|
||||||
offset += tlen;
|
offset += tlen;
|
||||||
contents += tlen;
|
contents += tlen;
|
||||||
Index: gdb-7.11.50.20160716/gdb/amd64-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/amd64-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/amd64-tdep.c 2016-07-16 14:35:45.391502726 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/amd64-tdep.c 2017-02-26 19:11:30.471121194 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/amd64-tdep.c 2016-07-16 14:35:47.512519796 +0200
|
+++ gdb-7.12.50.20170207/gdb/amd64-tdep.c 2017-02-26 19:12:53.685716623 +0100
|
||||||
@@ -729,7 +729,7 @@
|
@@ -730,7 +730,7 @@
|
||||||
gdb_byte *readbuf, const gdb_byte *writebuf)
|
gdb_byte *readbuf, const gdb_byte *writebuf)
|
||||||
{
|
{
|
||||||
enum amd64_reg_class theclass[2];
|
enum amd64_reg_class theclass[2];
|
||||||
@ -196,7 +196,20 @@ Index: gdb-7.11.50.20160716/gdb/amd64-tdep.c
|
|||||||
static int integer_regnum[] = { AMD64_RAX_REGNUM, AMD64_RDX_REGNUM };
|
static int integer_regnum[] = { AMD64_RAX_REGNUM, AMD64_RDX_REGNUM };
|
||||||
static int sse_regnum[] = { AMD64_XMM0_REGNUM, AMD64_XMM1_REGNUM };
|
static int sse_regnum[] = { AMD64_XMM0_REGNUM, AMD64_XMM1_REGNUM };
|
||||||
int integer_reg = 0;
|
int integer_reg = 0;
|
||||||
@@ -880,8 +880,8 @@
|
@@ -847,10 +847,10 @@
|
||||||
|
gdb_assert (regnum != -1);
|
||||||
|
|
||||||
|
if (readbuf)
|
||||||
|
- regcache_raw_read_part (regcache, regnum, offset, std::min (len, 8),
|
||||||
|
+ regcache_raw_read_part (regcache, regnum, offset, std::min (len, (LONGEST) 8),
|
||||||
|
readbuf + i * 8);
|
||||||
|
if (writebuf)
|
||||||
|
- regcache_raw_write_part (regcache, regnum, offset, std::min (len, 8),
|
||||||
|
+ regcache_raw_write_part (regcache, regnum, offset, std::min (len, (LONGEST) 8),
|
||||||
|
writebuf + i * 8);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -881,8 +881,8 @@
|
||||||
};
|
};
|
||||||
struct value **stack_args = XALLOCAVEC (struct value *, nargs);
|
struct value **stack_args = XALLOCAVEC (struct value *, nargs);
|
||||||
int num_stack_args = 0;
|
int num_stack_args = 0;
|
||||||
@ -207,7 +220,7 @@ Index: gdb-7.11.50.20160716/gdb/amd64-tdep.c
|
|||||||
int integer_reg = 0;
|
int integer_reg = 0;
|
||||||
int sse_reg = 0;
|
int sse_reg = 0;
|
||||||
int i;
|
int i;
|
||||||
@@ -893,7 +893,7 @@
|
@@ -894,7 +894,7 @@
|
||||||
for (i = 0; i < nargs; i++)
|
for (i = 0; i < nargs; i++)
|
||||||
{
|
{
|
||||||
struct type *type = value_type (args[i]);
|
struct type *type = value_type (args[i]);
|
||||||
@ -216,11 +229,20 @@ Index: gdb-7.11.50.20160716/gdb/amd64-tdep.c
|
|||||||
enum amd64_reg_class theclass[2];
|
enum amd64_reg_class theclass[2];
|
||||||
int needed_integer_regs = 0;
|
int needed_integer_regs = 0;
|
||||||
int needed_sse_regs = 0;
|
int needed_sse_regs = 0;
|
||||||
Index: gdb-7.11.50.20160716/gdb/amd64-windows-tdep.c
|
@@ -958,7 +958,7 @@
|
||||||
|
|
||||||
|
gdb_assert (regnum != -1);
|
||||||
|
memset (buf, 0, sizeof buf);
|
||||||
|
- memcpy (buf, valbuf + j * 8, std::min (len, 8));
|
||||||
|
+ memcpy (buf, valbuf + j * 8, std::min (len, (LONGEST) 8));
|
||||||
|
regcache_raw_write_part (regcache, regnum, offset, 8, buf);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Index: gdb-7.12.50.20170207/gdb/amd64-windows-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/amd64-windows-tdep.c 2016-07-16 14:35:45.393502742 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/amd64-windows-tdep.c 2017-02-26 19:11:30.472121202 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/amd64-windows-tdep.c 2016-07-16 14:35:47.512519796 +0200
|
+++ gdb-7.12.50.20170207/gdb/amd64-windows-tdep.c 2017-02-26 19:11:48.270248553 +0100
|
||||||
@@ -288,7 +288,7 @@
|
@@ -289,7 +289,7 @@
|
||||||
struct type *type, struct regcache *regcache,
|
struct type *type, struct regcache *regcache,
|
||||||
gdb_byte *readbuf, const gdb_byte *writebuf)
|
gdb_byte *readbuf, const gdb_byte *writebuf)
|
||||||
{
|
{
|
||||||
@ -229,11 +251,11 @@ Index: gdb-7.11.50.20160716/gdb/amd64-windows-tdep.c
|
|||||||
int regnum = -1;
|
int regnum = -1;
|
||||||
|
|
||||||
/* See if our value is returned through a register. If it is, then
|
/* See if our value is returned through a register. If it is, then
|
||||||
Index: gdb-7.11.50.20160716/gdb/arm-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/arm-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/arm-tdep.c 2016-07-16 14:35:45.400502798 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/arm-tdep.c 2017-02-26 19:11:30.477121237 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/arm-tdep.c 2016-07-16 14:36:30.328864376 +0200
|
+++ gdb-7.12.50.20170207/gdb/arm-tdep.c 2017-02-26 19:11:48.273248575 +0100
|
||||||
@@ -3443,7 +3443,7 @@
|
@@ -3485,7 +3485,7 @@
|
||||||
array). Vector types are not currently supported, matching the
|
array). Vector types are not currently supported, matching the
|
||||||
generic AAPCS support. */
|
generic AAPCS support. */
|
||||||
|
|
||||||
@ -242,7 +264,7 @@ Index: gdb-7.11.50.20160716/gdb/arm-tdep.c
|
|||||||
arm_vfp_cprc_sub_candidate (struct type *t,
|
arm_vfp_cprc_sub_candidate (struct type *t,
|
||||||
enum arm_vfp_cprc_base_type *base_type)
|
enum arm_vfp_cprc_base_type *base_type)
|
||||||
{
|
{
|
||||||
@@ -3526,7 +3526,7 @@
|
@@ -3568,7 +3568,7 @@
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -251,7 +273,7 @@ Index: gdb-7.11.50.20160716/gdb/arm-tdep.c
|
|||||||
unsigned unitlen;
|
unsigned unitlen;
|
||||||
|
|
||||||
count = arm_vfp_cprc_sub_candidate (TYPE_TARGET_TYPE (t),
|
count = arm_vfp_cprc_sub_candidate (TYPE_TARGET_TYPE (t),
|
||||||
@@ -3549,12 +3549,12 @@
|
@@ -3591,12 +3591,12 @@
|
||||||
|
|
||||||
case TYPE_CODE_STRUCT:
|
case TYPE_CODE_STRUCT:
|
||||||
{
|
{
|
||||||
@ -266,7 +288,7 @@ Index: gdb-7.11.50.20160716/gdb/arm-tdep.c
|
|||||||
|
|
||||||
if (!field_is_static (&TYPE_FIELD (t, i)))
|
if (!field_is_static (&TYPE_FIELD (t, i)))
|
||||||
sub_count = arm_vfp_cprc_sub_candidate (TYPE_FIELD_TYPE (t, i),
|
sub_count = arm_vfp_cprc_sub_candidate (TYPE_FIELD_TYPE (t, i),
|
||||||
@@ -3578,13 +3578,15 @@
|
@@ -3620,13 +3620,15 @@
|
||||||
|
|
||||||
case TYPE_CODE_UNION:
|
case TYPE_CODE_UNION:
|
||||||
{
|
{
|
||||||
@ -285,7 +307,7 @@ Index: gdb-7.11.50.20160716/gdb/arm-tdep.c
|
|||||||
if (sub_count == -1)
|
if (sub_count == -1)
|
||||||
return -1;
|
return -1;
|
||||||
count = (count > sub_count ? count : sub_count);
|
count = (count > sub_count ? count : sub_count);
|
||||||
@@ -3620,7 +3622,7 @@
|
@@ -3662,7 +3664,7 @@
|
||||||
int *count)
|
int *count)
|
||||||
{
|
{
|
||||||
enum arm_vfp_cprc_base_type b = VFP_CPRC_UNKNOWN;
|
enum arm_vfp_cprc_base_type b = VFP_CPRC_UNKNOWN;
|
||||||
@ -294,7 +316,7 @@ Index: gdb-7.11.50.20160716/gdb/arm-tdep.c
|
|||||||
if (c <= 0 || c > 4)
|
if (c <= 0 || c > 4)
|
||||||
return 0;
|
return 0;
|
||||||
*base_type = b;
|
*base_type = b;
|
||||||
@@ -3701,7 +3703,7 @@
|
@@ -3743,7 +3745,7 @@
|
||||||
|
|
||||||
for (argnum = 0; argnum < nargs; argnum++)
|
for (argnum = 0; argnum < nargs; argnum++)
|
||||||
{
|
{
|
||||||
@ -303,11 +325,11 @@ Index: gdb-7.11.50.20160716/gdb/arm-tdep.c
|
|||||||
struct type *arg_type;
|
struct type *arg_type;
|
||||||
struct type *target_type;
|
struct type *target_type;
|
||||||
enum type_code typecode;
|
enum type_code typecode;
|
||||||
Index: gdb-7.11.50.20160716/gdb/avr-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/avr-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/avr-tdep.c 2016-07-16 14:35:45.401502806 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/avr-tdep.c 2017-02-26 19:11:30.479121252 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/avr-tdep.c 2016-07-16 14:35:47.516519828 +0200
|
+++ gdb-7.12.50.20170207/gdb/avr-tdep.c 2017-02-26 19:11:48.273248575 +0100
|
||||||
@@ -1195,13 +1195,13 @@
|
@@ -1191,13 +1191,13 @@
|
||||||
|
|
||||||
struct stack_item
|
struct stack_item
|
||||||
{
|
{
|
||||||
@ -323,7 +345,7 @@ Index: gdb-7.11.50.20160716/gdb/avr-tdep.c
|
|||||||
{
|
{
|
||||||
struct stack_item *si;
|
struct stack_item *si;
|
||||||
si = XNEW (struct stack_item);
|
si = XNEW (struct stack_item);
|
||||||
@@ -1289,12 +1289,12 @@
|
@@ -1285,12 +1285,12 @@
|
||||||
|
|
||||||
for (i = 0; i < nargs; i++)
|
for (i = 0; i < nargs; i++)
|
||||||
{
|
{
|
||||||
@ -339,10 +361,10 @@ Index: gdb-7.11.50.20160716/gdb/avr-tdep.c
|
|||||||
|
|
||||||
/* Calculate the potential last register needed.
|
/* Calculate the potential last register needed.
|
||||||
E.g. For length 2, registers regnum and regnum-1 (say 25 and 24)
|
E.g. For length 2, registers regnum and regnum-1 (say 25 and 24)
|
||||||
Index: gdb-7.11.50.20160716/gdb/bfin-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/bfin-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/bfin-tdep.c 2016-07-16 14:35:45.401502806 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/bfin-tdep.c 2017-02-26 19:11:30.479121252 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/bfin-tdep.c 2016-07-16 14:35:47.516519828 +0200
|
+++ gdb-7.12.50.20170207/gdb/bfin-tdep.c 2017-02-26 19:11:48.273248575 +0100
|
||||||
@@ -502,7 +502,7 @@
|
@@ -502,7 +502,7 @@
|
||||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||||
int i;
|
int i;
|
||||||
@ -361,10 +383,10 @@ Index: gdb-7.11.50.20160716/gdb/bfin-tdep.c
|
|||||||
|
|
||||||
sp -= container_len;
|
sp -= container_len;
|
||||||
write_memory (sp, value_contents (args[i]), container_len);
|
write_memory (sp, value_contents (args[i]), container_len);
|
||||||
Index: gdb-7.11.50.20160716/gdb/cris-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/cris-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/cris-tdep.c 2016-07-16 14:35:45.403502823 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/cris-tdep.c 2017-02-26 19:11:30.480121259 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/cris-tdep.c 2016-07-16 14:35:47.517519836 +0200
|
+++ gdb-7.12.50.20170207/gdb/cris-tdep.c 2017-02-26 19:11:48.274248582 +0100
|
||||||
@@ -663,13 +663,13 @@
|
@@ -663,13 +663,13 @@
|
||||||
|
|
||||||
struct stack_item
|
struct stack_item
|
||||||
@ -399,10 +421,10 @@ Index: gdb-7.11.50.20160716/gdb/cris-tdep.c
|
|||||||
|
|
||||||
/* How may registers worth of storage do we need for this argument? */
|
/* How may registers worth of storage do we need for this argument? */
|
||||||
reg_demand = (len / 4) + (len % 4 != 0 ? 1 : 0);
|
reg_demand = (len / 4) + (len % 4 != 0 ? 1 : 0);
|
||||||
Index: gdb-7.11.50.20160716/gdb/h8300-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/h8300-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/h8300-tdep.c 2016-07-16 14:35:45.403502823 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/h8300-tdep.c 2017-02-26 19:11:30.481121266 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/h8300-tdep.c 2016-07-16 14:35:47.517519836 +0200
|
+++ gdb-7.12.50.20170207/gdb/h8300-tdep.c 2017-02-26 19:11:48.274248582 +0100
|
||||||
@@ -637,7 +637,7 @@
|
@@ -637,7 +637,7 @@
|
||||||
int struct_return, CORE_ADDR struct_addr)
|
int struct_return, CORE_ADDR struct_addr)
|
||||||
{
|
{
|
||||||
@ -435,11 +457,11 @@ Index: gdb-7.11.50.20160716/gdb/h8300-tdep.c
|
|||||||
|
|
||||||
for (offset = 0; offset < padded_len; offset += wordsize)
|
for (offset = 0; offset < padded_len; offset += wordsize)
|
||||||
{
|
{
|
||||||
Index: gdb-7.11.50.20160716/gdb/hppa-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/hppa-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/hppa-tdep.c 2016-07-16 14:35:45.405502839 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/hppa-tdep.c 2017-02-26 19:11:30.482121273 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/hppa-tdep.c 2016-07-16 14:35:47.518519844 +0200
|
+++ gdb-7.12.50.20170207/gdb/hppa-tdep.c 2017-02-26 19:11:48.275248589 +0100
|
||||||
@@ -991,7 +991,7 @@
|
@@ -988,7 +988,7 @@
|
||||||
{
|
{
|
||||||
struct value *arg = args[i];
|
struct value *arg = args[i];
|
||||||
struct type *type = value_type (arg);
|
struct type *type = value_type (arg);
|
||||||
@ -448,7 +470,7 @@ Index: gdb-7.11.50.20160716/gdb/hppa-tdep.c
|
|||||||
const bfd_byte *valbuf;
|
const bfd_byte *valbuf;
|
||||||
bfd_byte fptrbuf[8];
|
bfd_byte fptrbuf[8];
|
||||||
int regnum;
|
int regnum;
|
||||||
@@ -1186,7 +1186,7 @@
|
@@ -1183,7 +1183,7 @@
|
||||||
struct type *type, struct regcache *regcache,
|
struct type *type, struct regcache *regcache,
|
||||||
gdb_byte *readbuf, const gdb_byte *writebuf)
|
gdb_byte *readbuf, const gdb_byte *writebuf)
|
||||||
{
|
{
|
||||||
@ -457,11 +479,11 @@ Index: gdb-7.11.50.20160716/gdb/hppa-tdep.c
|
|||||||
int regnum, offset;
|
int regnum, offset;
|
||||||
|
|
||||||
if (len > 16)
|
if (len > 16)
|
||||||
Index: gdb-7.11.50.20160716/gdb/i386-darwin-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/i386-darwin-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/i386-darwin-tdep.c 2016-07-16 14:35:45.405502839 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/i386-darwin-tdep.c 2017-02-26 19:11:30.483121280 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/i386-darwin-tdep.c 2016-07-16 14:35:47.518519844 +0200
|
+++ gdb-7.12.50.20170207/gdb/i386-darwin-tdep.c 2017-02-26 19:11:48.275248589 +0100
|
||||||
@@ -163,7 +163,7 @@
|
@@ -167,7 +167,7 @@
|
||||||
|
|
||||||
for (write_pass = 0; write_pass < 2; write_pass++)
|
for (write_pass = 0; write_pass < 2; write_pass++)
|
||||||
{
|
{
|
||||||
@ -470,11 +492,11 @@ Index: gdb-7.11.50.20160716/gdb/i386-darwin-tdep.c
|
|||||||
int num_m128 = 0;
|
int num_m128 = 0;
|
||||||
|
|
||||||
if (struct_return)
|
if (struct_return)
|
||||||
Index: gdb-7.11.50.20160716/gdb/i386-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/i386-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/i386-tdep.c 2016-07-16 14:35:45.410502879 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/i386-tdep.c 2017-02-26 19:11:30.486121302 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/i386-tdep.c 2016-07-16 14:35:47.520519860 +0200
|
+++ gdb-7.12.50.20170207/gdb/i386-tdep.c 2017-02-26 19:11:48.277248603 +0100
|
||||||
@@ -2664,7 +2664,7 @@
|
@@ -2661,7 +2661,7 @@
|
||||||
gdb_byte buf[4];
|
gdb_byte buf[4];
|
||||||
int i;
|
int i;
|
||||||
int write_pass;
|
int write_pass;
|
||||||
@ -483,7 +505,7 @@ Index: gdb-7.11.50.20160716/gdb/i386-tdep.c
|
|||||||
|
|
||||||
/* Determine the total space required for arguments and struct
|
/* Determine the total space required for arguments and struct
|
||||||
return address in a first pass (allowing for 16-byte-aligned
|
return address in a first pass (allowing for 16-byte-aligned
|
||||||
@@ -2672,7 +2672,7 @@
|
@@ -2669,7 +2669,7 @@
|
||||||
|
|
||||||
for (write_pass = 0; write_pass < 2; write_pass++)
|
for (write_pass = 0; write_pass < 2; write_pass++)
|
||||||
{
|
{
|
||||||
@ -492,7 +514,7 @@ Index: gdb-7.11.50.20160716/gdb/i386-tdep.c
|
|||||||
|
|
||||||
if (struct_return)
|
if (struct_return)
|
||||||
{
|
{
|
||||||
@@ -2689,7 +2689,7 @@
|
@@ -2686,7 +2686,7 @@
|
||||||
|
|
||||||
for (i = 0; i < nargs; i++)
|
for (i = 0; i < nargs; i++)
|
||||||
{
|
{
|
||||||
@ -501,7 +523,7 @@ Index: gdb-7.11.50.20160716/gdb/i386-tdep.c
|
|||||||
|
|
||||||
if (write_pass)
|
if (write_pass)
|
||||||
{
|
{
|
||||||
@@ -2896,7 +2896,7 @@
|
@@ -2893,7 +2893,7 @@
|
||||||
{
|
{
|
||||||
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
|
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
|
||||||
enum type_code code = TYPE_CODE (type);
|
enum type_code code = TYPE_CODE (type);
|
||||||
@ -510,7 +532,7 @@ Index: gdb-7.11.50.20160716/gdb/i386-tdep.c
|
|||||||
|
|
||||||
gdb_assert (code == TYPE_CODE_STRUCT
|
gdb_assert (code == TYPE_CODE_STRUCT
|
||||||
|| code == TYPE_CODE_UNION
|
|| code == TYPE_CODE_UNION
|
||||||
@@ -3718,7 +3718,7 @@
|
@@ -3715,7 +3715,7 @@
|
||||||
i386_convert_register_p (struct gdbarch *gdbarch,
|
i386_convert_register_p (struct gdbarch *gdbarch,
|
||||||
int regnum, struct type *type)
|
int regnum, struct type *type)
|
||||||
{
|
{
|
||||||
@ -519,7 +541,7 @@ Index: gdb-7.11.50.20160716/gdb/i386-tdep.c
|
|||||||
|
|
||||||
/* Values may be spread across multiple registers. Most debugging
|
/* Values may be spread across multiple registers. Most debugging
|
||||||
formats aren't expressive enough to specify the locations, so
|
formats aren't expressive enough to specify the locations, so
|
||||||
@@ -3751,7 +3751,7 @@
|
@@ -3748,7 +3748,7 @@
|
||||||
int *optimizedp, int *unavailablep)
|
int *optimizedp, int *unavailablep)
|
||||||
{
|
{
|
||||||
struct gdbarch *gdbarch = get_frame_arch (frame);
|
struct gdbarch *gdbarch = get_frame_arch (frame);
|
||||||
@ -528,7 +550,7 @@ Index: gdb-7.11.50.20160716/gdb/i386-tdep.c
|
|||||||
|
|
||||||
if (i386_fp_regnum_p (gdbarch, regnum))
|
if (i386_fp_regnum_p (gdbarch, regnum))
|
||||||
return i387_register_to_value (frame, regnum, type, to,
|
return i387_register_to_value (frame, regnum, type, to,
|
||||||
@@ -3787,7 +3787,7 @@
|
@@ -3784,7 +3784,7 @@
|
||||||
i386_value_to_register (struct frame_info *frame, int regnum,
|
i386_value_to_register (struct frame_info *frame, int regnum,
|
||||||
struct type *type, const gdb_byte *from)
|
struct type *type, const gdb_byte *from)
|
||||||
{
|
{
|
||||||
@ -537,11 +559,11 @@ Index: gdb-7.11.50.20160716/gdb/i386-tdep.c
|
|||||||
|
|
||||||
if (i386_fp_regnum_p (get_frame_arch (frame), regnum))
|
if (i386_fp_regnum_p (get_frame_arch (frame), regnum))
|
||||||
{
|
{
|
||||||
Index: gdb-7.11.50.20160716/gdb/iq2000-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/iq2000-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/iq2000-tdep.c 2016-07-16 14:35:45.411502887 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/iq2000-tdep.c 2017-02-26 19:11:30.487121309 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/iq2000-tdep.c 2016-07-16 14:35:47.520519860 +0200
|
+++ gdb-7.12.50.20170207/gdb/iq2000-tdep.c 2017-02-26 19:11:48.277248603 +0100
|
||||||
@@ -646,8 +646,9 @@
|
@@ -651,8 +651,9 @@
|
||||||
const bfd_byte *val;
|
const bfd_byte *val;
|
||||||
bfd_byte buf[4];
|
bfd_byte buf[4];
|
||||||
struct type *type;
|
struct type *type;
|
||||||
@ -553,11 +575,11 @@ Index: gdb-7.11.50.20160716/gdb/iq2000-tdep.c
|
|||||||
/* Used to copy struct arguments into the stack. */
|
/* Used to copy struct arguments into the stack. */
|
||||||
CORE_ADDR struct_ptr;
|
CORE_ADDR struct_ptr;
|
||||||
|
|
||||||
Index: gdb-7.11.50.20160716/gdb/m32r-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/m32r-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/m32r-tdep.c 2016-07-16 14:35:45.411502887 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/m32r-tdep.c 2017-02-26 19:11:30.487121309 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/m32r-tdep.c 2016-07-16 14:35:47.520519860 +0200
|
+++ gdb-7.12.50.20170207/gdb/m32r-tdep.c 2017-02-26 19:11:48.278248610 +0100
|
||||||
@@ -685,7 +685,7 @@
|
@@ -678,7 +678,7 @@
|
||||||
CORE_ADDR regval;
|
CORE_ADDR regval;
|
||||||
gdb_byte *val;
|
gdb_byte *val;
|
||||||
gdb_byte valbuf[MAX_REGISTER_SIZE];
|
gdb_byte valbuf[MAX_REGISTER_SIZE];
|
||||||
@ -566,11 +588,11 @@ Index: gdb-7.11.50.20160716/gdb/m32r-tdep.c
|
|||||||
|
|
||||||
/* First force sp to a 4-byte alignment. */
|
/* First force sp to a 4-byte alignment. */
|
||||||
sp = sp & ~3;
|
sp = sp & ~3;
|
||||||
Index: gdb-7.11.50.20160716/gdb/m68k-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/m68k-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/m68k-tdep.c 2016-07-16 14:35:45.412502895 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/m68k-tdep.c 2017-02-26 19:11:30.488121316 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/m68k-tdep.c 2016-07-16 14:35:47.520519860 +0200
|
+++ gdb-7.12.50.20170207/gdb/m68k-tdep.c 2017-02-26 19:11:48.278248610 +0100
|
||||||
@@ -382,7 +382,7 @@
|
@@ -377,7 +377,7 @@
|
||||||
{
|
{
|
||||||
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
|
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
|
||||||
enum type_code code = TYPE_CODE (type);
|
enum type_code code = TYPE_CODE (type);
|
||||||
@ -579,7 +601,7 @@ Index: gdb-7.11.50.20160716/gdb/m68k-tdep.c
|
|||||||
|
|
||||||
gdb_assert (code == TYPE_CODE_STRUCT || code == TYPE_CODE_UNION
|
gdb_assert (code == TYPE_CODE_STRUCT || code == TYPE_CODE_UNION
|
||||||
|| code == TYPE_CODE_COMPLEX);
|
|| code == TYPE_CODE_COMPLEX);
|
||||||
@@ -514,9 +514,9 @@
|
@@ -509,9 +509,9 @@
|
||||||
for (i = nargs - 1; i >= 0; i--)
|
for (i = nargs - 1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
struct type *value_type = value_enclosing_type (args[i]);
|
struct type *value_type = value_enclosing_type (args[i]);
|
||||||
@ -592,11 +614,11 @@ Index: gdb-7.11.50.20160716/gdb/m68k-tdep.c
|
|||||||
|
|
||||||
/* Non-scalars bigger than 4 bytes are left aligned, others are
|
/* Non-scalars bigger than 4 bytes are left aligned, others are
|
||||||
right aligned. */
|
right aligned. */
|
||||||
Index: gdb-7.11.50.20160716/gdb/m88k-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/m88k-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/m88k-tdep.c 2016-07-16 14:35:45.412502895 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/m88k-tdep.c 2017-02-26 19:11:30.488121316 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/m88k-tdep.c 2016-07-16 14:35:47.521519868 +0200
|
+++ gdb-7.12.50.20170207/gdb/m88k-tdep.c 2017-02-26 19:11:48.278248610 +0100
|
||||||
@@ -257,13 +257,13 @@
|
@@ -253,13 +253,13 @@
|
||||||
{
|
{
|
||||||
struct gdbarch *gdbarch = get_regcache_arch (regcache);
|
struct gdbarch *gdbarch = get_regcache_arch (regcache);
|
||||||
int num_register_words = 0;
|
int num_register_words = 0;
|
||||||
@ -612,7 +634,7 @@ Index: gdb-7.11.50.20160716/gdb/m88k-tdep.c
|
|||||||
|
|
||||||
if (m88k_integral_or_pointer_p (type) && len < 4)
|
if (m88k_integral_or_pointer_p (type) && len < 4)
|
||||||
{
|
{
|
||||||
@@ -305,8 +305,8 @@
|
@@ -301,8 +301,8 @@
|
||||||
{
|
{
|
||||||
const bfd_byte *valbuf = value_contents (args[i]);
|
const bfd_byte *valbuf = value_contents (args[i]);
|
||||||
struct type *type = value_type (args[i]);
|
struct type *type = value_type (args[i]);
|
||||||
@ -623,11 +645,11 @@ Index: gdb-7.11.50.20160716/gdb/m88k-tdep.c
|
|||||||
|
|
||||||
if (m88k_in_register_p (type))
|
if (m88k_in_register_p (type))
|
||||||
{
|
{
|
||||||
Index: gdb-7.11.50.20160716/gdb/mep-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/mep-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/mep-tdep.c 2016-07-16 14:35:45.413502903 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/mep-tdep.c 2017-02-26 19:11:30.489121323 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/mep-tdep.c 2016-07-16 14:35:47.521519868 +0200
|
+++ gdb-7.12.50.20170207/gdb/mep-tdep.c 2017-02-26 19:11:48.279248618 +0100
|
||||||
@@ -2272,7 +2272,7 @@
|
@@ -2262,7 +2262,7 @@
|
||||||
|
|
||||||
for (i = 0; i < argc; i++)
|
for (i = 0; i < argc; i++)
|
||||||
{
|
{
|
||||||
@ -636,11 +658,11 @@ Index: gdb-7.11.50.20160716/gdb/mep-tdep.c
|
|||||||
|
|
||||||
if (arg_len > MEP_GPR_SIZE)
|
if (arg_len > MEP_GPR_SIZE)
|
||||||
{
|
{
|
||||||
Index: gdb-7.11.50.20160716/gdb/mips-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/mips-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/mips-tdep.c 2016-07-16 14:35:45.421502967 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/mips-tdep.c 2017-02-26 19:11:30.493121352 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/mips-tdep.c 2016-07-16 14:35:47.523519884 +0200
|
+++ gdb-7.12.50.20170207/gdb/mips-tdep.c 2017-02-26 19:11:48.281248632 +0100
|
||||||
@@ -455,7 +455,7 @@
|
@@ -474,7 +474,7 @@
|
||||||
mips_xfer_register (struct gdbarch *gdbarch, struct regcache *regcache,
|
mips_xfer_register (struct gdbarch *gdbarch, struct regcache *regcache,
|
||||||
int reg_num, int length,
|
int reg_num, int length,
|
||||||
enum bfd_endian endian, gdb_byte *in,
|
enum bfd_endian endian, gdb_byte *in,
|
||||||
@ -649,7 +671,7 @@ Index: gdb-7.11.50.20160716/gdb/mips-tdep.c
|
|||||||
{
|
{
|
||||||
int reg_offset = 0;
|
int reg_offset = 0;
|
||||||
|
|
||||||
@@ -478,8 +478,8 @@
|
@@ -497,8 +497,8 @@
|
||||||
}
|
}
|
||||||
if (mips_debug)
|
if (mips_debug)
|
||||||
fprintf_unfiltered (gdb_stderr,
|
fprintf_unfiltered (gdb_stderr,
|
||||||
@ -660,7 +682,7 @@ Index: gdb-7.11.50.20160716/gdb/mips-tdep.c
|
|||||||
if (mips_debug && out != NULL)
|
if (mips_debug && out != NULL)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@@ -4529,13 +4529,13 @@
|
@@ -4530,13 +4530,13 @@
|
||||||
gdb_byte valbuf[MAX_REGISTER_SIZE];
|
gdb_byte valbuf[MAX_REGISTER_SIZE];
|
||||||
struct value *arg = args[argnum];
|
struct value *arg = args[argnum];
|
||||||
struct type *arg_type = check_typedef (value_type (arg));
|
struct type *arg_type = check_typedef (value_type (arg));
|
||||||
@ -677,7 +699,7 @@ Index: gdb-7.11.50.20160716/gdb/mips-tdep.c
|
|||||||
|
|
||||||
/* The EABI passes structures that do not fit in a register by
|
/* The EABI passes structures that do not fit in a register by
|
||||||
reference. */
|
reference. */
|
||||||
@@ -4804,7 +4804,7 @@
|
@@ -4805,7 +4805,7 @@
|
||||||
|
|
||||||
static int
|
static int
|
||||||
mips_n32n64_fp_arg_chunk_p (struct gdbarch *gdbarch, struct type *arg_type,
|
mips_n32n64_fp_arg_chunk_p (struct gdbarch *gdbarch, struct type *arg_type,
|
||||||
@ -686,7 +708,7 @@ Index: gdb-7.11.50.20160716/gdb/mips-tdep.c
|
|||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
@@ -4819,7 +4819,7 @@
|
@@ -4820,7 +4820,7 @@
|
||||||
|
|
||||||
for (i = 0; i < TYPE_NFIELDS (arg_type); i++)
|
for (i = 0; i < TYPE_NFIELDS (arg_type); i++)
|
||||||
{
|
{
|
||||||
@ -695,7 +717,7 @@ Index: gdb-7.11.50.20160716/gdb/mips-tdep.c
|
|||||||
struct type *field_type;
|
struct type *field_type;
|
||||||
|
|
||||||
/* We're only looking at normal fields. */
|
/* We're only looking at normal fields. */
|
||||||
@@ -4861,7 +4861,7 @@
|
@@ -4862,7 +4862,7 @@
|
||||||
int argreg;
|
int argreg;
|
||||||
int float_argreg;
|
int float_argreg;
|
||||||
int argnum;
|
int argnum;
|
||||||
@ -704,7 +726,7 @@ Index: gdb-7.11.50.20160716/gdb/mips-tdep.c
|
|||||||
int stack_offset = 0;
|
int stack_offset = 0;
|
||||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||||
CORE_ADDR func_addr = find_function_addr (function, NULL);
|
CORE_ADDR func_addr = find_function_addr (function, NULL);
|
||||||
@@ -5212,11 +5212,11 @@
|
@@ -5213,11 +5213,11 @@
|
||||||
: MIPS_V0_REGNUM);
|
: MIPS_V0_REGNUM);
|
||||||
field < TYPE_NFIELDS (type); field++, regnum += 2)
|
field < TYPE_NFIELDS (type); field++, regnum += 2)
|
||||||
{
|
{
|
||||||
@ -720,7 +742,7 @@ Index: gdb-7.11.50.20160716/gdb/mips-tdep.c
|
|||||||
if (TYPE_LENGTH (TYPE_FIELD_TYPE (type, field)) == 16)
|
if (TYPE_LENGTH (TYPE_FIELD_TYPE (type, field)) == 16)
|
||||||
{
|
{
|
||||||
/* A 16-byte long double field goes in two consecutive
|
/* A 16-byte long double field goes in two consecutive
|
||||||
@@ -5258,8 +5258,8 @@
|
@@ -5259,8 +5259,8 @@
|
||||||
if (offset + xfer > TYPE_LENGTH (type))
|
if (offset + xfer > TYPE_LENGTH (type))
|
||||||
xfer = TYPE_LENGTH (type) - offset;
|
xfer = TYPE_LENGTH (type) - offset;
|
||||||
if (mips_debug)
|
if (mips_debug)
|
||||||
@ -731,7 +753,7 @@ Index: gdb-7.11.50.20160716/gdb/mips-tdep.c
|
|||||||
mips_xfer_register (gdbarch, regcache,
|
mips_xfer_register (gdbarch, regcache,
|
||||||
gdbarch_num_regs (gdbarch) + regnum,
|
gdbarch_num_regs (gdbarch) + regnum,
|
||||||
xfer, BFD_ENDIAN_UNKNOWN, readbuf, writebuf,
|
xfer, BFD_ENDIAN_UNKNOWN, readbuf, writebuf,
|
||||||
@@ -5317,7 +5317,7 @@
|
@@ -5318,7 +5318,7 @@
|
||||||
int argreg;
|
int argreg;
|
||||||
int float_argreg;
|
int float_argreg;
|
||||||
int argnum;
|
int argnum;
|
||||||
@ -740,7 +762,7 @@ Index: gdb-7.11.50.20160716/gdb/mips-tdep.c
|
|||||||
int stack_offset = 0;
|
int stack_offset = 0;
|
||||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||||
CORE_ADDR func_addr = find_function_addr (function, NULL);
|
CORE_ADDR func_addr = find_function_addr (function, NULL);
|
||||||
@@ -5381,13 +5381,13 @@
|
@@ -5382,13 +5382,13 @@
|
||||||
const gdb_byte *val;
|
const gdb_byte *val;
|
||||||
struct value *arg = args[argnum];
|
struct value *arg = args[argnum];
|
||||||
struct type *arg_type = check_typedef (value_type (arg));
|
struct type *arg_type = check_typedef (value_type (arg));
|
||||||
@ -757,7 +779,7 @@ Index: gdb-7.11.50.20160716/gdb/mips-tdep.c
|
|||||||
|
|
||||||
val = value_contents (arg);
|
val = value_contents (arg);
|
||||||
|
|
||||||
@@ -5842,8 +5842,8 @@
|
@@ -5843,8 +5843,8 @@
|
||||||
int argreg;
|
int argreg;
|
||||||
int float_argreg;
|
int float_argreg;
|
||||||
int argnum;
|
int argnum;
|
||||||
@ -768,7 +790,7 @@ Index: gdb-7.11.50.20160716/gdb/mips-tdep.c
|
|||||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||||
CORE_ADDR func_addr = find_function_addr (function, NULL);
|
CORE_ADDR func_addr = find_function_addr (function, NULL);
|
||||||
|
|
||||||
@@ -5903,13 +5903,13 @@
|
@@ -5904,13 +5904,13 @@
|
||||||
const gdb_byte *val;
|
const gdb_byte *val;
|
||||||
struct value *arg = args[argnum];
|
struct value *arg = args[argnum];
|
||||||
struct type *arg_type = check_typedef (value_type (arg));
|
struct type *arg_type = check_typedef (value_type (arg));
|
||||||
@ -785,11 +807,11 @@ Index: gdb-7.11.50.20160716/gdb/mips-tdep.c
|
|||||||
|
|
||||||
val = value_contents (arg);
|
val = value_contents (arg);
|
||||||
|
|
||||||
Index: gdb-7.11.50.20160716/gdb/mn10300-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/mn10300-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/mn10300-tdep.c 2016-07-16 14:35:45.422502976 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/mn10300-tdep.c 2017-02-26 19:11:30.494121359 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/mn10300-tdep.c 2016-07-16 14:35:47.524519892 +0200
|
+++ gdb-7.12.50.20170207/gdb/mn10300-tdep.c 2017-02-26 19:11:48.281248632 +0100
|
||||||
@@ -1225,7 +1225,7 @@
|
@@ -1219,7 +1219,7 @@
|
||||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||||
const int push_size = register_size (gdbarch, E_PC_REGNUM);
|
const int push_size = register_size (gdbarch, E_PC_REGNUM);
|
||||||
int regs_used;
|
int regs_used;
|
||||||
@ -798,11 +820,11 @@ Index: gdb-7.11.50.20160716/gdb/mn10300-tdep.c
|
|||||||
int stack_offset = 0;
|
int stack_offset = 0;
|
||||||
int argnum;
|
int argnum;
|
||||||
const gdb_byte *val;
|
const gdb_byte *val;
|
||||||
Index: gdb-7.11.50.20160716/gdb/mt-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/mt-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/mt-tdep.c 2016-07-16 14:35:45.423502984 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/mt-tdep.c 2017-02-26 19:11:30.495121366 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/mt-tdep.c 2016-07-16 14:35:47.524519892 +0200
|
+++ gdb-7.12.50.20170207/gdb/mt-tdep.c 2017-02-26 19:11:48.281248632 +0100
|
||||||
@@ -780,9 +780,9 @@
|
@@ -788,9 +788,9 @@
|
||||||
gdb_byte buf[MT_MAX_STRUCT_SIZE];
|
gdb_byte buf[MT_MAX_STRUCT_SIZE];
|
||||||
int argreg = MT_1ST_ARGREG;
|
int argreg = MT_1ST_ARGREG;
|
||||||
int split_param_len = 0;
|
int split_param_len = 0;
|
||||||
@ -814,11 +836,11 @@ Index: gdb-7.11.50.20160716/gdb/mt-tdep.c
|
|||||||
int i, j;
|
int i, j;
|
||||||
|
|
||||||
/* First handle however many args we can fit into MT_1ST_ARGREG thru
|
/* First handle however many args we can fit into MT_1ST_ARGREG thru
|
||||||
Index: gdb-7.11.50.20160716/gdb/ppc-sysv-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/ppc-sysv-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/ppc-sysv-tdep.c 2016-07-16 14:35:45.424502992 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/ppc-sysv-tdep.c 2017-02-26 19:11:30.496121373 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/ppc-sysv-tdep.c 2016-07-16 14:35:47.524519892 +0200
|
+++ gdb-7.12.50.20170207/gdb/ppc-sysv-tdep.c 2017-02-26 19:11:48.282248639 +0100
|
||||||
@@ -66,7 +66,7 @@
|
@@ -67,7 +67,7 @@
|
||||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||||
int opencl_abi = ppc_sysv_use_opencl_abi (value_type (function));
|
int opencl_abi = ppc_sysv_use_opencl_abi (value_type (function));
|
||||||
ULONGEST saved_sp;
|
ULONGEST saved_sp;
|
||||||
@ -827,7 +849,7 @@ Index: gdb-7.11.50.20160716/gdb/ppc-sysv-tdep.c
|
|||||||
int write_pass;
|
int write_pass;
|
||||||
|
|
||||||
gdb_assert (tdep->wordsize == 4);
|
gdb_assert (tdep->wordsize == 4);
|
||||||
@@ -97,9 +97,9 @@
|
@@ -98,9 +98,9 @@
|
||||||
/* Next available vector register for vector arguments. */
|
/* Next available vector register for vector arguments. */
|
||||||
int vreg = 2;
|
int vreg = 2;
|
||||||
/* Arguments start above the "LR save word" and "Back chain". */
|
/* Arguments start above the "LR save word" and "Back chain". */
|
||||||
@ -839,7 +861,7 @@ Index: gdb-7.11.50.20160716/gdb/ppc-sysv-tdep.c
|
|||||||
|
|
||||||
/* If the function is returning a `struct', then the first word
|
/* If the function is returning a `struct', then the first word
|
||||||
(which will be passed in r3) is used for struct return
|
(which will be passed in r3) is used for struct return
|
||||||
@@ -118,7 +118,7 @@
|
@@ -119,7 +119,7 @@
|
||||||
{
|
{
|
||||||
struct value *arg = args[argno];
|
struct value *arg = args[argno];
|
||||||
struct type *type = check_typedef (value_type (arg));
|
struct type *type = check_typedef (value_type (arg));
|
||||||
@ -848,7 +870,7 @@ Index: gdb-7.11.50.20160716/gdb/ppc-sysv-tdep.c
|
|||||||
const bfd_byte *val = value_contents (arg);
|
const bfd_byte *val = value_contents (arg);
|
||||||
|
|
||||||
if (TYPE_CODE (type) == TYPE_CODE_FLT && len <= 8
|
if (TYPE_CODE (type) == TYPE_CODE_FLT && len <= 8
|
||||||
@@ -1283,11 +1283,11 @@
|
@@ -1284,11 +1284,11 @@
|
||||||
|
|
||||||
static void
|
static void
|
||||||
ppc64_sysv_abi_push_val (struct gdbarch *gdbarch,
|
ppc64_sysv_abi_push_val (struct gdbarch *gdbarch,
|
||||||
@ -862,11 +884,11 @@ Index: gdb-7.11.50.20160716/gdb/ppc-sysv-tdep.c
|
|||||||
|
|
||||||
/* Enforce alignment of stack location, if requested. */
|
/* Enforce alignment of stack location, if requested. */
|
||||||
if (align > tdep->wordsize)
|
if (align > tdep->wordsize)
|
||||||
Index: gdb-7.11.50.20160716/gdb/rl78-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/rl78-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/rl78-tdep.c 2016-07-16 14:35:45.424502992 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/rl78-tdep.c 2017-02-26 19:11:30.496121373 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/rl78-tdep.c 2016-07-16 14:35:47.525519900 +0200
|
+++ gdb-7.12.50.20170207/gdb/rl78-tdep.c 2017-02-26 19:11:48.282248639 +0100
|
||||||
@@ -1336,8 +1336,8 @@
|
@@ -1352,8 +1352,8 @@
|
||||||
for (i = nargs - 1; i >= 0; i--)
|
for (i = nargs - 1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
struct type *value_type = value_enclosing_type (args[i]);
|
struct type *value_type = value_enclosing_type (args[i]);
|
||||||
@ -877,10 +899,10 @@ Index: gdb-7.11.50.20160716/gdb/rl78-tdep.c
|
|||||||
|
|
||||||
sp -= container_len;
|
sp -= container_len;
|
||||||
write_memory (rl78_make_data_address (sp),
|
write_memory (rl78_make_data_address (sp),
|
||||||
Index: gdb-7.11.50.20160716/gdb/rs6000-aix-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/rs6000-aix-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/rs6000-aix-tdep.c 2016-07-16 14:35:45.425503000 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/rs6000-aix-tdep.c 2017-02-26 19:11:30.497121380 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/rs6000-aix-tdep.c 2016-07-16 14:35:47.525519900 +0200
|
+++ gdb-7.12.50.20170207/gdb/rs6000-aix-tdep.c 2017-02-26 19:11:48.282248639 +0100
|
||||||
@@ -186,9 +186,9 @@
|
@@ -186,9 +186,9 @@
|
||||||
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
|
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
|
||||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||||
@ -902,10 +924,10 @@ Index: gdb-7.11.50.20160716/gdb/rs6000-aix-tdep.c
|
|||||||
|
|
||||||
if (argbytes)
|
if (argbytes)
|
||||||
{
|
{
|
||||||
Index: gdb-7.11.50.20160716/gdb/s390-linux-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/s390-linux-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/s390-linux-tdep.c 2016-07-16 14:35:45.427503016 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/s390-linux-tdep.c 2017-02-26 19:11:30.499121395 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/s390-linux-tdep.c 2016-07-16 14:35:47.526519908 +0200
|
+++ gdb-7.12.50.20170207/gdb/s390-linux-tdep.c 2017-02-26 19:11:48.284248654 +0100
|
||||||
@@ -3125,7 +3125,7 @@
|
@@ -3125,7 +3125,7 @@
|
||||||
/* Determine whether N is a power of two. */
|
/* Determine whether N is a power of two. */
|
||||||
|
|
||||||
@ -924,11 +946,11 @@ Index: gdb-7.11.50.20160716/gdb/s390-linux-tdep.c
|
|||||||
int write_mode = as->regcache != NULL;
|
int write_mode = as->regcache != NULL;
|
||||||
|
|
||||||
if (s390_function_arg_float (type))
|
if (s390_function_arg_float (type))
|
||||||
Index: gdb-7.11.50.20160716/gdb/score-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/score-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/score-tdep.c 2016-07-16 14:35:45.428503024 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/score-tdep.c 2017-02-26 19:11:30.499121395 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/score-tdep.c 2016-07-16 14:35:47.527519916 +0200
|
+++ gdb-7.12.50.20170207/gdb/score-tdep.c 2017-02-26 19:11:48.284248654 +0100
|
||||||
@@ -514,7 +514,7 @@
|
@@ -525,7 +525,7 @@
|
||||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||||
int argnum;
|
int argnum;
|
||||||
int argreg;
|
int argreg;
|
||||||
@ -937,11 +959,11 @@ Index: gdb-7.11.50.20160716/gdb/score-tdep.c
|
|||||||
CORE_ADDR stack_offset = 0;
|
CORE_ADDR stack_offset = 0;
|
||||||
CORE_ADDR addr = 0;
|
CORE_ADDR addr = 0;
|
||||||
|
|
||||||
Index: gdb-7.11.50.20160716/gdb/sh-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/sh-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/sh-tdep.c 2016-07-16 14:35:45.429503032 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/sh-tdep.c 2017-02-26 19:11:30.500121402 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/sh-tdep.c 2016-07-16 14:35:47.527519916 +0200
|
+++ gdb-7.12.50.20170207/gdb/sh-tdep.c 2017-02-26 19:11:48.285248661 +0100
|
||||||
@@ -805,7 +805,7 @@
|
@@ -814,7 +814,7 @@
|
||||||
static int
|
static int
|
||||||
sh_use_struct_convention (int renesas_abi, struct type *type)
|
sh_use_struct_convention (int renesas_abi, struct type *type)
|
||||||
{
|
{
|
||||||
@ -950,7 +972,7 @@ Index: gdb-7.11.50.20160716/gdb/sh-tdep.c
|
|||||||
int nelem = TYPE_NFIELDS (type);
|
int nelem = TYPE_NFIELDS (type);
|
||||||
|
|
||||||
/* The Renesas ABI returns aggregate types always on stack. */
|
/* The Renesas ABI returns aggregate types always on stack. */
|
||||||
@@ -907,7 +907,7 @@
|
@@ -916,7 +916,7 @@
|
||||||
|
|
||||||
/* Helper function to justify value in register according to endianess. */
|
/* Helper function to justify value in register according to endianess. */
|
||||||
static const gdb_byte *
|
static const gdb_byte *
|
||||||
@ -959,7 +981,7 @@ Index: gdb-7.11.50.20160716/gdb/sh-tdep.c
|
|||||||
{
|
{
|
||||||
static gdb_byte valbuf[4];
|
static gdb_byte valbuf[4];
|
||||||
|
|
||||||
@@ -1067,7 +1067,8 @@
|
@@ -1076,7 +1076,8 @@
|
||||||
struct type *type;
|
struct type *type;
|
||||||
CORE_ADDR regval;
|
CORE_ADDR regval;
|
||||||
const gdb_byte *val;
|
const gdb_byte *val;
|
||||||
@ -969,7 +991,7 @@ Index: gdb-7.11.50.20160716/gdb/sh-tdep.c
|
|||||||
int pass_on_stack = 0;
|
int pass_on_stack = 0;
|
||||||
int treat_as_flt;
|
int treat_as_flt;
|
||||||
int last_reg_arg = INT_MAX;
|
int last_reg_arg = INT_MAX;
|
||||||
@@ -1208,7 +1209,8 @@
|
@@ -1217,7 +1218,8 @@
|
||||||
struct type *type;
|
struct type *type;
|
||||||
CORE_ADDR regval;
|
CORE_ADDR regval;
|
||||||
const gdb_byte *val;
|
const gdb_byte *val;
|
||||||
@ -979,11 +1001,11 @@ Index: gdb-7.11.50.20160716/gdb/sh-tdep.c
|
|||||||
int pass_on_stack = 0;
|
int pass_on_stack = 0;
|
||||||
int last_reg_arg = INT_MAX;
|
int last_reg_arg = INT_MAX;
|
||||||
|
|
||||||
Index: gdb-7.11.50.20160716/gdb/sh64-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/sh64-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/sh64-tdep.c 2016-07-16 14:35:45.430503040 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/sh64-tdep.c 2017-02-26 19:11:30.501121409 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/sh64-tdep.c 2016-07-16 14:35:47.528519925 +0200
|
+++ gdb-7.12.50.20170207/gdb/sh64-tdep.c 2017-02-26 19:11:48.285248661 +0100
|
||||||
@@ -1060,7 +1060,7 @@
|
@@ -1062,7 +1062,7 @@
|
||||||
CORE_ADDR struct_addr)
|
CORE_ADDR struct_addr)
|
||||||
{
|
{
|
||||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||||
@ -992,7 +1014,7 @@ Index: gdb-7.11.50.20160716/gdb/sh64-tdep.c
|
|||||||
int int_argreg;
|
int int_argreg;
|
||||||
int float_arg_index = 0;
|
int float_arg_index = 0;
|
||||||
int double_arg_index = 0;
|
int double_arg_index = 0;
|
||||||
@@ -1069,7 +1069,7 @@
|
@@ -1071,7 +1071,7 @@
|
||||||
CORE_ADDR regval;
|
CORE_ADDR regval;
|
||||||
const gdb_byte *val;
|
const gdb_byte *val;
|
||||||
gdb_byte valbuf[8];
|
gdb_byte valbuf[8];
|
||||||
@ -1001,11 +1023,11 @@ Index: gdb-7.11.50.20160716/gdb/sh64-tdep.c
|
|||||||
int argreg_size;
|
int argreg_size;
|
||||||
int fp_args[12];
|
int fp_args[12];
|
||||||
|
|
||||||
Index: gdb-7.11.50.20160716/gdb/sparc-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/sparc-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/sparc-tdep.c 2016-07-16 14:35:45.431503048 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/sparc-tdep.c 2017-02-26 19:11:30.502121416 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/sparc-tdep.c 2016-07-16 14:35:47.528519925 +0200
|
+++ gdb-7.12.50.20170207/gdb/sparc-tdep.c 2017-02-26 19:11:48.286248668 +0100
|
||||||
@@ -525,7 +525,7 @@
|
@@ -566,7 +566,7 @@
|
||||||
for (i = 0; i < nargs; i++)
|
for (i = 0; i < nargs; i++)
|
||||||
{
|
{
|
||||||
struct type *type = value_type (args[i]);
|
struct type *type = value_type (args[i]);
|
||||||
@ -1014,11 +1036,11 @@ Index: gdb-7.11.50.20160716/gdb/sparc-tdep.c
|
|||||||
|
|
||||||
if (sparc_structure_or_union_p (type)
|
if (sparc_structure_or_union_p (type)
|
||||||
|| (sparc_floating_p (type) && len == 16)
|
|| (sparc_floating_p (type) && len == 16)
|
||||||
Index: gdb-7.11.50.20160716/gdb/sparc64-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/sparc64-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/sparc64-tdep.c 2016-07-16 14:35:45.432503056 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/sparc64-tdep.c 2017-02-26 19:11:30.503121423 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/sparc64-tdep.c 2016-07-16 14:35:47.528519925 +0200
|
+++ gdb-7.12.50.20170207/gdb/sparc64-tdep.c 2017-02-26 19:11:48.286248668 +0100
|
||||||
@@ -636,7 +636,8 @@
|
@@ -670,7 +670,8 @@
|
||||||
|
|
||||||
static void
|
static void
|
||||||
sparc64_store_floating_fields (struct regcache *regcache, struct type *type,
|
sparc64_store_floating_fields (struct regcache *regcache, struct type *type,
|
||||||
@ -1026,9 +1048,9 @@ Index: gdb-7.11.50.20160716/gdb/sparc64-tdep.c
|
|||||||
+ const gdb_byte *valbuf, int element,
|
+ const gdb_byte *valbuf, int element,
|
||||||
+ LONGEST bitpos)
|
+ LONGEST bitpos)
|
||||||
{
|
{
|
||||||
|
struct gdbarch *gdbarch = get_regcache_arch (regcache);
|
||||||
int len = TYPE_LENGTH (type);
|
int len = TYPE_LENGTH (type);
|
||||||
|
@@ -714,7 +715,7 @@
|
||||||
@@ -678,7 +679,7 @@
|
|
||||||
for (i = 0; i < TYPE_NFIELDS (type); i++)
|
for (i = 0; i < TYPE_NFIELDS (type); i++)
|
||||||
{
|
{
|
||||||
struct type *subtype = check_typedef (TYPE_FIELD_TYPE (type, i));
|
struct type *subtype = check_typedef (TYPE_FIELD_TYPE (type, i));
|
||||||
@ -1037,16 +1059,16 @@ Index: gdb-7.11.50.20160716/gdb/sparc64-tdep.c
|
|||||||
|
|
||||||
sparc64_store_floating_fields (regcache, subtype, valbuf,
|
sparc64_store_floating_fields (regcache, subtype, valbuf,
|
||||||
element, subpos);
|
element, subpos);
|
||||||
@@ -710,7 +711,7 @@
|
@@ -746,7 +747,7 @@
|
||||||
|
|
||||||
static void
|
static void
|
||||||
sparc64_extract_floating_fields (struct regcache *regcache, struct type *type,
|
sparc64_extract_floating_fields (struct regcache *regcache, struct type *type,
|
||||||
- gdb_byte *valbuf, int bitpos)
|
- gdb_byte *valbuf, int bitpos)
|
||||||
+ gdb_byte *valbuf, LONGEST bitpos)
|
+ gdb_byte *valbuf, LONGEST bitpos)
|
||||||
{
|
{
|
||||||
if (sparc64_floating_p (type))
|
struct gdbarch *gdbarch = get_regcache_arch (regcache);
|
||||||
{
|
|
||||||
@@ -747,7 +748,7 @@
|
@@ -786,7 +787,7 @@
|
||||||
for (i = 0; i < TYPE_NFIELDS (type); i++)
|
for (i = 0; i < TYPE_NFIELDS (type); i++)
|
||||||
{
|
{
|
||||||
struct type *subtype = check_typedef (TYPE_FIELD_TYPE (type, i));
|
struct type *subtype = check_typedef (TYPE_FIELD_TYPE (type, i));
|
||||||
@ -1055,7 +1077,7 @@ Index: gdb-7.11.50.20160716/gdb/sparc64-tdep.c
|
|||||||
|
|
||||||
sparc64_extract_floating_fields (regcache, subtype, valbuf, subpos);
|
sparc64_extract_floating_fields (regcache, subtype, valbuf, subpos);
|
||||||
}
|
}
|
||||||
@@ -780,7 +781,7 @@
|
@@ -819,7 +820,7 @@
|
||||||
for (i = 0; i < nargs; i++)
|
for (i = 0; i < nargs; i++)
|
||||||
{
|
{
|
||||||
struct type *type = value_type (args[i]);
|
struct type *type = value_type (args[i]);
|
||||||
@ -1064,7 +1086,7 @@ Index: gdb-7.11.50.20160716/gdb/sparc64-tdep.c
|
|||||||
|
|
||||||
if (sparc64_structure_or_union_p (type)
|
if (sparc64_structure_or_union_p (type)
|
||||||
|| (sparc64_complex_floating_p (type) && len == 32))
|
|| (sparc64_complex_floating_p (type) && len == 32))
|
||||||
@@ -880,7 +881,7 @@
|
@@ -919,7 +920,7 @@
|
||||||
{
|
{
|
||||||
const gdb_byte *valbuf = value_contents (args[i]);
|
const gdb_byte *valbuf = value_contents (args[i]);
|
||||||
struct type *type = value_type (args[i]);
|
struct type *type = value_type (args[i]);
|
||||||
@ -1073,11 +1095,11 @@ Index: gdb-7.11.50.20160716/gdb/sparc64-tdep.c
|
|||||||
int regnum = -1;
|
int regnum = -1;
|
||||||
gdb_byte buf[16];
|
gdb_byte buf[16];
|
||||||
|
|
||||||
Index: gdb-7.11.50.20160716/gdb/spu-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/spu-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/spu-tdep.c 2016-07-16 14:35:45.433503064 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/spu-tdep.c 2017-02-26 19:11:30.503121423 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/spu-tdep.c 2016-07-16 14:35:47.529519932 +0200
|
+++ gdb-7.12.50.20170207/gdb/spu-tdep.c 2017-02-26 19:11:48.287248675 +0100
|
||||||
@@ -1429,7 +1429,7 @@
|
@@ -1430,7 +1430,7 @@
|
||||||
struct value *arg = args[i];
|
struct value *arg = args[i];
|
||||||
struct type *type = check_typedef (value_type (arg));
|
struct type *type = check_typedef (value_type (arg));
|
||||||
const gdb_byte *contents = value_contents (arg);
|
const gdb_byte *contents = value_contents (arg);
|
||||||
@ -1086,7 +1108,7 @@ Index: gdb-7.11.50.20160716/gdb/spu-tdep.c
|
|||||||
|
|
||||||
/* If the argument doesn't wholly fit into registers, it and
|
/* If the argument doesn't wholly fit into registers, it and
|
||||||
all subsequent arguments go to the stack. */
|
all subsequent arguments go to the stack. */
|
||||||
@@ -1461,7 +1461,7 @@
|
@@ -1462,7 +1462,7 @@
|
||||||
{
|
{
|
||||||
struct value *arg = args[i];
|
struct value *arg = args[i];
|
||||||
struct type *type = check_typedef (value_type (arg));
|
struct type *type = check_typedef (value_type (arg));
|
||||||
@ -1095,11 +1117,11 @@ Index: gdb-7.11.50.20160716/gdb/spu-tdep.c
|
|||||||
int preferred_slot;
|
int preferred_slot;
|
||||||
|
|
||||||
if (spu_scalar_value_p (type))
|
if (spu_scalar_value_p (type))
|
||||||
Index: gdb-7.11.50.20160716/gdb/tic6x-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/tic6x-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/tic6x-tdep.c 2016-07-16 14:35:45.433503064 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/tic6x-tdep.c 2017-02-26 19:11:30.504121430 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/tic6x-tdep.c 2016-07-16 14:35:47.529519932 +0200
|
+++ gdb-7.12.50.20170207/gdb/tic6x-tdep.c 2017-02-26 19:11:48.287248675 +0100
|
||||||
@@ -892,7 +892,7 @@
|
@@ -899,7 +899,7 @@
|
||||||
int argreg = 0;
|
int argreg = 0;
|
||||||
int argnum;
|
int argnum;
|
||||||
int stack_offset = 4;
|
int stack_offset = 4;
|
||||||
@ -1108,7 +1130,7 @@ Index: gdb-7.11.50.20160716/gdb/tic6x-tdep.c
|
|||||||
CORE_ADDR func_addr = find_function_addr (function, NULL);
|
CORE_ADDR func_addr = find_function_addr (function, NULL);
|
||||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||||
struct type *func_type = value_type (function);
|
struct type *func_type = value_type (function);
|
||||||
@@ -926,7 +926,7 @@
|
@@ -933,7 +933,7 @@
|
||||||
/* Now make space on the stack for the args. */
|
/* Now make space on the stack for the args. */
|
||||||
for (argnum = 0; argnum < nargs; argnum++)
|
for (argnum = 0; argnum < nargs; argnum++)
|
||||||
{
|
{
|
||||||
@ -1117,7 +1139,7 @@ Index: gdb-7.11.50.20160716/gdb/tic6x-tdep.c
|
|||||||
if (argnum >= 10 - argreg)
|
if (argnum >= 10 - argreg)
|
||||||
references_offset += len;
|
references_offset += len;
|
||||||
stack_offset += len;
|
stack_offset += len;
|
||||||
@@ -945,7 +945,7 @@
|
@@ -952,7 +952,7 @@
|
||||||
const gdb_byte *val;
|
const gdb_byte *val;
|
||||||
struct value *arg = args[argnum];
|
struct value *arg = args[argnum];
|
||||||
struct type *arg_type = check_typedef (value_type (arg));
|
struct type *arg_type = check_typedef (value_type (arg));
|
||||||
@ -1126,7 +1148,7 @@ Index: gdb-7.11.50.20160716/gdb/tic6x-tdep.c
|
|||||||
enum type_code typecode = TYPE_CODE (arg_type);
|
enum type_code typecode = TYPE_CODE (arg_type);
|
||||||
|
|
||||||
val = value_contents (arg);
|
val = value_contents (arg);
|
||||||
@@ -1105,7 +1105,8 @@
|
@@ -1112,7 +1112,8 @@
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
internal_error (__FILE__, __LINE__,
|
internal_error (__FILE__, __LINE__,
|
||||||
@ -1136,11 +1158,11 @@ Index: gdb-7.11.50.20160716/gdb/tic6x-tdep.c
|
|||||||
|
|
||||||
addr = sp + stack_offset;
|
addr = sp + stack_offset;
|
||||||
write_memory (addr, val, len);
|
write_memory (addr, val, len);
|
||||||
Index: gdb-7.11.50.20160716/gdb/tilegx-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/tilegx-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/tilegx-tdep.c 2016-07-16 14:35:45.434503072 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/tilegx-tdep.c 2017-02-26 19:11:30.504121430 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/tilegx-tdep.c 2016-07-16 14:35:47.530519941 +0200
|
+++ gdb-7.12.50.20170207/gdb/tilegx-tdep.c 2017-02-26 19:11:48.287248675 +0100
|
||||||
@@ -288,7 +288,7 @@
|
@@ -289,7 +289,7 @@
|
||||||
CORE_ADDR stack_dest = sp;
|
CORE_ADDR stack_dest = sp;
|
||||||
int argreg = TILEGX_R0_REGNUM;
|
int argreg = TILEGX_R0_REGNUM;
|
||||||
int i, j;
|
int i, j;
|
||||||
@ -1149,10 +1171,10 @@ Index: gdb-7.11.50.20160716/gdb/tilegx-tdep.c
|
|||||||
static const gdb_byte four_zero_words[16] = { 0 };
|
static const gdb_byte four_zero_words[16] = { 0 };
|
||||||
|
|
||||||
/* If struct_return is 1, then the struct return address will
|
/* If struct_return is 1, then the struct return address will
|
||||||
Index: gdb-7.11.50.20160716/gdb/v850-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/v850-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/v850-tdep.c 2016-07-16 14:35:45.434503072 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/v850-tdep.c 2017-02-26 19:11:30.505121438 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/v850-tdep.c 2016-07-16 14:35:47.530519941 +0200
|
+++ gdb-7.12.50.20170207/gdb/v850-tdep.c 2017-02-26 19:11:48.288248682 +0100
|
||||||
@@ -1019,7 +1019,7 @@
|
@@ -1019,7 +1019,7 @@
|
||||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||||
int argreg;
|
int argreg;
|
||||||
@ -1171,10 +1193,10 @@ Index: gdb-7.11.50.20160716/gdb/v850-tdep.c
|
|||||||
gdb_byte *val;
|
gdb_byte *val;
|
||||||
gdb_byte valbuf[v850_reg_size];
|
gdb_byte valbuf[v850_reg_size];
|
||||||
|
|
||||||
Index: gdb-7.11.50.20160716/gdb/vax-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/vax-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/vax-tdep.c 2016-07-16 14:35:45.435503080 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/vax-tdep.c 2017-02-26 19:11:30.505121438 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/vax-tdep.c 2016-07-16 14:35:47.530519941 +0200
|
+++ gdb-7.12.50.20170207/gdb/vax-tdep.c 2017-02-26 19:11:48.288248682 +0100
|
||||||
@@ -111,7 +111,7 @@
|
@@ -111,7 +111,7 @@
|
||||||
struct gdbarch *gdbarch = get_regcache_arch (regcache);
|
struct gdbarch *gdbarch = get_regcache_arch (regcache);
|
||||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||||
@ -1193,10 +1215,10 @@ Index: gdb-7.11.50.20160716/gdb/vax-tdep.c
|
|||||||
|
|
||||||
sp -= (len + 3) & ~3;
|
sp -= (len + 3) & ~3;
|
||||||
count += (len + 3) / 4;
|
count += (len + 3) / 4;
|
||||||
Index: gdb-7.11.50.20160716/gdb/xstormy16-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/xstormy16-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/xstormy16-tdep.c 2016-07-16 14:35:45.435503080 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/xstormy16-tdep.c 2017-02-26 19:11:30.506121445 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/xstormy16-tdep.c 2016-07-16 14:35:47.530519941 +0200
|
+++ gdb-7.12.50.20170207/gdb/xstormy16-tdep.c 2017-02-26 19:11:48.288248682 +0100
|
||||||
@@ -233,8 +233,9 @@
|
@@ -233,8 +233,9 @@
|
||||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||||
CORE_ADDR stack_dest = sp;
|
CORE_ADDR stack_dest = sp;
|
||||||
@ -1209,11 +1231,11 @@ Index: gdb-7.11.50.20160716/gdb/xstormy16-tdep.c
|
|||||||
const gdb_byte *val;
|
const gdb_byte *val;
|
||||||
gdb_byte buf[xstormy16_pc_size];
|
gdb_byte buf[xstormy16_pc_size];
|
||||||
|
|
||||||
Index: gdb-7.11.50.20160716/gdb/xtensa-tdep.c
|
Index: gdb-7.12.50.20170207/gdb/xtensa-tdep.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.50.20160716.orig/gdb/xtensa-tdep.c 2016-07-16 14:35:45.437503096 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/xtensa-tdep.c 2017-02-26 19:11:30.507121452 +0100
|
||||||
+++ gdb-7.11.50.20160716/gdb/xtensa-tdep.c 2016-07-16 14:35:47.531519949 +0200
|
+++ gdb-7.12.50.20170207/gdb/xtensa-tdep.c 2017-02-26 19:11:48.289248689 +0100
|
||||||
@@ -1638,8 +1638,7 @@
|
@@ -1639,8 +1639,7 @@
|
||||||
|
|
||||||
if (len > (callsize > 8 ? 8 : 16))
|
if (len > (callsize > 8 ? 8 : 16))
|
||||||
internal_error (__FILE__, __LINE__,
|
internal_error (__FILE__, __LINE__,
|
||||||
@ -1223,7 +1245,7 @@ Index: gdb-7.11.50.20160716/gdb/xtensa-tdep.c
|
|||||||
areg = arreg_number (gdbarch,
|
areg = arreg_number (gdbarch,
|
||||||
gdbarch_tdep (gdbarch)->a0_base + 2 + callsize, wb);
|
gdbarch_tdep (gdbarch)->a0_base + 2 + callsize, wb);
|
||||||
|
|
||||||
@@ -1713,18 +1712,18 @@
|
@@ -1714,18 +1713,18 @@
|
||||||
{
|
{
|
||||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||||
int i;
|
int i;
|
||||||
@ -1245,7 +1267,7 @@ Index: gdb-7.11.50.20160716/gdb/xtensa-tdep.c
|
|||||||
int regno; /* regno if in register. */
|
int regno; /* regno if in register. */
|
||||||
} u;
|
} u;
|
||||||
};
|
};
|
||||||
@@ -1748,9 +1747,10 @@
|
@@ -1749,9 +1748,10 @@
|
||||||
{
|
{
|
||||||
struct value *arg = args[i];
|
struct value *arg = args[i];
|
||||||
struct type *arg_type = check_typedef (value_type (arg));
|
struct type *arg_type = check_typedef (value_type (arg));
|
||||||
@ -1259,7 +1281,7 @@ Index: gdb-7.11.50.20160716/gdb/xtensa-tdep.c
|
|||||||
switch (TYPE_CODE (arg_type))
|
switch (TYPE_CODE (arg_type))
|
||||||
{
|
{
|
||||||
case TYPE_CODE_INT:
|
case TYPE_CODE_INT:
|
||||||
@@ -1820,8 +1820,8 @@
|
@@ -1821,8 +1821,8 @@
|
||||||
info->align = TYPE_LENGTH (builtin_type (gdbarch)->builtin_long);
|
info->align = TYPE_LENGTH (builtin_type (gdbarch)->builtin_long);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1269,7 +1291,7 @@ Index: gdb-7.11.50.20160716/gdb/xtensa-tdep.c
|
|||||||
|
|
||||||
/* Align size and onstack_size. */
|
/* Align size and onstack_size. */
|
||||||
size = (size + info->align - 1) & ~(info->align - 1);
|
size = (size + info->align - 1) & ~(info->align - 1);
|
||||||
@@ -1866,7 +1866,7 @@
|
@@ -1867,7 +1867,7 @@
|
||||||
|
|
||||||
if (info->onstack)
|
if (info->onstack)
|
||||||
{
|
{
|
||||||
@ -1278,7 +1300,7 @@ Index: gdb-7.11.50.20160716/gdb/xtensa-tdep.c
|
|||||||
CORE_ADDR offset = sp + info->u.offset;
|
CORE_ADDR offset = sp + info->u.offset;
|
||||||
|
|
||||||
/* Odd-sized structs are aligned to the lower side of a memory
|
/* Odd-sized structs are aligned to the lower side of a memory
|
||||||
@@ -1882,7 +1882,7 @@
|
@@ -1883,7 +1883,7 @@
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1,80 +0,0 @@
|
|||||||
http://sourceware.org/ml/gdb-patches/2016-09/msg00082.html
|
|
||||||
Subject: [testsuite patch] Fix false FAIL in gdb.cp/casts.exp
|
|
||||||
|
|
||||||
|
|
||||||
--ikeVEW9yuYc//A+q
|
|
||||||
Content-Type: text/plain; charset=us-ascii
|
|
||||||
Content-Disposition: inline
|
|
||||||
|
|
||||||
Hi,
|
|
||||||
|
|
||||||
gcc-6.2.1-1.fc26.x86_64
|
|
||||||
|
|
||||||
gdb compile failed, /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/casts.cc:40:10: error: expected primary-expression before 'int'
|
|
||||||
decltype(int x)
|
|
||||||
^~~
|
|
||||||
/home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/casts.cc:40:10: error: expected ')' before 'int'
|
|
||||||
/home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/casts.cc:40:1: error: expected unqualified-id before 'decltype'
|
|
||||||
decltype(int x)
|
|
||||||
^~~~~~~~
|
|
||||||
/home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/casts.cc: In function 'int main(int, char**)':
|
|
||||||
/home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/casts.cc:59:14: error: expected primary-expression before 'decltype'
|
|
||||||
double y = decltype(2);
|
|
||||||
^~~~~~~~
|
|
||||||
|
|
||||||
'decltype' is a registered keyword since C++11 which is now a default for GCC.
|
|
||||||
|
|
||||||
OK for check-in?
|
|
||||||
|
|
||||||
|
|
||||||
Jan
|
|
||||||
|
|
||||||
--ikeVEW9yuYc//A+q
|
|
||||||
Content-Type: text/plain; charset=us-ascii
|
|
||||||
Content-Disposition: inline; filename=1
|
|
||||||
|
|
||||||
gdb/testsuite/ChangeLog
|
|
||||||
2016-09-11 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
||||||
|
|
||||||
* gdb.cp/casts.cc: Rename decltype to int_to_double.
|
|
||||||
* gdb.cp/casts.exp (whatis decltype(5)): Rename to ...
|
|
||||||
(whatis int_to_double(5)): ... here.
|
|
||||||
|
|
||||||
diff --git a/gdb/testsuite/gdb.cp/casts.cc b/gdb/testsuite/gdb.cp/casts.cc
|
|
||||||
index 43f112f..4f68ba0 100644
|
|
||||||
--- a/gdb/testsuite/gdb.cp/casts.cc
|
|
||||||
+++ b/gdb/testsuite/gdb.cp/casts.cc
|
|
||||||
@@ -37,7 +37,7 @@ struct DoublyDerived : public VirtuallyDerived,
|
|
||||||
// Confuse a simpler approach.
|
|
||||||
|
|
||||||
double
|
|
||||||
-decltype(int x)
|
|
||||||
+int_to_double(int x)
|
|
||||||
{
|
|
||||||
return x + 2.0;
|
|
||||||
}
|
|
||||||
@@ -56,7 +56,7 @@ main (int argc, char **argv)
|
|
||||||
Alpha *ad = &derived;
|
|
||||||
Alpha *add = &doublyderived;
|
|
||||||
|
|
||||||
- double y = decltype(2);
|
|
||||||
+ double y = int_to_double(2);
|
|
||||||
|
|
||||||
return 0; /* breakpoint spot: casts.exp: 1 */
|
|
||||||
}
|
|
||||||
diff --git a/gdb/testsuite/gdb.cp/casts.exp b/gdb/testsuite/gdb.cp/casts.exp
|
|
||||||
index 34a2492..5798098 100644
|
|
||||||
--- a/gdb/testsuite/gdb.cp/casts.exp
|
|
||||||
+++ b/gdb/testsuite/gdb.cp/casts.exp
|
|
||||||
@@ -112,7 +112,7 @@ gdb_test "print reinterpret_cast<A &> (*b)" " = \\(A \\&\\) @$hex: {a = 42}" \
|
|
||||||
|
|
||||||
# Test that keyword shadowing works.
|
|
||||||
|
|
||||||
-gdb_test "whatis decltype(5)" " = double"
|
|
||||||
+gdb_test "whatis int_to_double(5)" " = double"
|
|
||||||
|
|
||||||
# Basic tests using typeof.
|
|
||||||
|
|
||||||
|
|
||||||
--ikeVEW9yuYc//A+q--
|
|
||||||
|
|
@ -1,79 +0,0 @@
|
|||||||
http://sourceware.org/ml/gdb-patches/2016-09/msg00083.html
|
|
||||||
Subject: [testsuite patch] Fix C++11 compilation failure for gdb.cp/m-static.exp
|
|
||||||
|
|
||||||
|
|
||||||
--y0ulUmNC+osPPQO6
|
|
||||||
Content-Type: text/plain; charset=iso-2022-jp
|
|
||||||
Content-Disposition: inline
|
|
||||||
|
|
||||||
Hi,
|
|
||||||
|
|
||||||
gcc-6.2.1-1.fc26.x86_64
|
|
||||||
|
|
||||||
g++ -std=c++03:
|
|
||||||
no warnings
|
|
||||||
|
|
||||||
g++:
|
|
||||||
In file included from /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.cc:79:0:
|
|
||||||
/home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.h:9:34: error: $B!F(Bconstexpr$B!G(B needed for in-class initialization of static data member $B!F(Bconst float gnu_obj_4::somewhere$B!G(B of non-integral type [-fpermissive]
|
|
||||||
static const float somewhere = 3.14159;
|
|
||||||
^~~~~~~
|
|
||||||
|
|
||||||
clang++:
|
|
||||||
In file included from /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.cc:79:
|
|
||||||
/home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.h:9:22: warning: in-class initializer for static data member of type 'const float' is a GNU extension [-Wgnu-static-float-init]
|
|
||||||
static const float somewhere = 3.14159;
|
|
||||||
^ ~~~~~~~
|
|
||||||
1 warning generated.
|
|
||||||
|
|
||||||
clang++ -std=c++11:
|
|
||||||
In file included from /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.cc:79:
|
|
||||||
/home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.h:9:22: error: in-class initializer for static data member of type 'const float' requires 'constexpr' specifier [-Wstatic-float-init]
|
|
||||||
static const float somewhere = 3.14159;
|
|
||||||
^ ~~~~~~~
|
|
||||||
/home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.h:9:3: note: add 'constexpr'
|
|
||||||
static const float somewhere = 3.14159;
|
|
||||||
^
|
|
||||||
constexpr
|
|
||||||
1 error generated.
|
|
||||||
|
|
||||||
OK for check-in?
|
|
||||||
|
|
||||||
After the fix out of the 4 combinations above only this one remains non-empty:
|
|
||||||
|
|
||||||
clang++:
|
|
||||||
In file included from /home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.cc:79:
|
|
||||||
/home/jkratoch/redhat/gdb-clean/gdb/testsuite/gdb.cp/m-static.h:9:22: warning: in-class initializer for static data member of type 'const float' is a GNU extension [-Wgnu-static-float-init]
|
|
||||||
static const float somewhere = 3.14159;
|
|
||||||
^ ~~~~~~~
|
|
||||||
1 warning generated.
|
|
||||||
|
|
||||||
|
|
||||||
Jan
|
|
||||||
|
|
||||||
--y0ulUmNC+osPPQO6
|
|
||||||
Content-Type: text/plain; charset=us-ascii
|
|
||||||
Content-Disposition: inline; filename=1
|
|
||||||
|
|
||||||
gdb/testsuite/ChangeLog
|
|
||||||
2016-09-11 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
||||||
|
|
||||||
* gdb.cp/m-static.h (gnu_obj_4::somewhere): Use constexpr for C++11.
|
|
||||||
|
|
||||||
diff --git a/gdb/testsuite/gdb.cp/m-static.h b/gdb/testsuite/gdb.cp/m-static.h
|
|
||||||
index bcedfff..2992463 100644
|
|
||||||
--- a/gdb/testsuite/gdb.cp/m-static.h
|
|
||||||
+++ b/gdb/testsuite/gdb.cp/m-static.h
|
|
||||||
@@ -6,6 +6,9 @@ class gnu_obj_4
|
|
||||||
static const int elsewhere;
|
|
||||||
static const int nowhere;
|
|
||||||
static const int everywhere = 317;
|
|
||||||
+#if __cplusplus >= 201103L
|
|
||||||
+ constexpr
|
|
||||||
+#endif
|
|
||||||
static const float somewhere = 3.14159;
|
|
||||||
|
|
||||||
// try to ensure test4 is actually allocated
|
|
||||||
|
|
||||||
--y0ulUmNC+osPPQO6--
|
|
||||||
|
|
@ -1,83 +0,0 @@
|
|||||||
http://sourceware.org/ml/gdb-patches/2016-10/msg00652.html
|
|
||||||
Subject: [testsuite patch] Fix false FAIL for gdb.base/morestack.exp
|
|
||||||
|
|
||||||
|
|
||||||
--HlL+5n6rz5pIUxbD
|
|
||||||
Content-Type: text/plain; charset=us-ascii
|
|
||||||
Content-Disposition: inline
|
|
||||||
|
|
||||||
Hi,
|
|
||||||
|
|
||||||
since
|
|
||||||
[commit] [testsuite patch] Fix gcc_compiled for gcc 6 & 7
|
|
||||||
https://sourceware.org/ml/gdb-patches/2016-10/msg00620.html
|
|
||||||
|
|
||||||
there has started running again
|
|
||||||
Running gdb/testsuite/gdb.base/morestack.exp ...
|
|
||||||
+FAIL: gdb.base/morestack.exp: continue
|
|
||||||
+PASS: gdb.base/morestack.exp: up 3000
|
|
||||||
|
|
||||||
but as you can see it FAILs now - on Fedora 24 x86_64 (although for example it
|
|
||||||
still PASSes on CentOS-7.2 x86_64).
|
|
||||||
|
|
||||||
Program received signal SIGSEGV, Segmentation fault.
|
|
||||||
0x00007ffff787c7bb in malloc_consolidate (av=av@entry=0x7ffff7bbcb00 <main_arena>) at malloc.c:4181
|
|
||||||
4181 unlink(av, nextchunk, bck, fwd);
|
|
||||||
(gdb) bt
|
|
||||||
#0 0x00007ffff787c7bb in malloc_consolidate (av=av@entry=0x7ffff7bbcb00 <main_arena>) at malloc.c:4181
|
|
||||||
#1 0x00007ffff787f235 in _int_malloc (av=av@entry=0x7ffff7bbcb00 <main_arena>, bytes=bytes@entry=1024) at malloc.c:3448
|
|
||||||
[...]
|
|
||||||
#8 0x00007ffff784c5ac in _IO_vfprintf_internal (s=0x7ffff7bbd600 <_IO_2_1_stdout_>, format=<optimized out>, ap=ap@entry=0x7ffff77fd7f8) at vfprintf.c:1631
|
|
||||||
#9 0x00007ffff7853939 in __printf (format=<optimized out>) at printf.c:33
|
|
||||||
#10 0x0000000000400d6b in down ()
|
|
||||||
#11 0x0000000000400f2c in __morestack ()
|
|
||||||
#12 0x0000000000400dda in down ()
|
|
||||||
[...]
|
|
||||||
|
|
||||||
This apparently is due to - man gcc - -fsplit-stack:
|
|
||||||
When code compiled with -fsplit-stack calls code compiled without
|
|
||||||
-fsplit-stack, there may not be much stack space available for the
|
|
||||||
latter code to run. If compiling all code, including library code,
|
|
||||||
with -fsplit-stack is not an option, then the linker can fix up these
|
|
||||||
calls so that the code compiled without -fsplit-stack always has
|
|
||||||
a large stack. Support for this is implemented in the gold linker in
|
|
||||||
GNU binutils release 2.21 and later.
|
|
||||||
|
|
||||||
Personally I do not understand why gold is not the default linker as GNU ld is
|
|
||||||
unusably slow (6x) for C++ but that is off-topic here.
|
|
||||||
|
|
||||||
OK for check-in?
|
|
||||||
|
|
||||||
|
|
||||||
Thanks,
|
|
||||||
Jan
|
|
||||||
|
|
||||||
--HlL+5n6rz5pIUxbD
|
|
||||||
Content-Type: text/plain; charset=us-ascii
|
|
||||||
Content-Disposition: inline; filename=1
|
|
||||||
|
|
||||||
gdb/testsuite/ChangeLog
|
|
||||||
2016-10-22 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
||||||
|
|
||||||
* gdb.base/morestack.exp: Try to build it using -fuse-ld=gold first.
|
|
||||||
|
|
||||||
diff --git a/gdb/testsuite/gdb.base/morestack.exp b/gdb/testsuite/gdb.base/morestack.exp
|
|
||||||
index 12f5d28..caa85b8 100644
|
|
||||||
--- a/gdb/testsuite/gdb.base/morestack.exp
|
|
||||||
+++ b/gdb/testsuite/gdb.base/morestack.exp
|
|
||||||
@@ -23,7 +23,11 @@ if {$gcc_compiled == 0} {
|
|
||||||
|
|
||||||
standard_testfile
|
|
||||||
|
|
||||||
-if { [prepare_for_testing ${testfile}.exp ${testfile} $srcfile {additional_flags=-fsplit-stack}] } {
|
|
||||||
+# -fuse-ld=gold is used for calling printf code built without -fsplit-stack
|
|
||||||
+# which could crash otherise. See GCC documentation of -fsplit-stack.
|
|
||||||
+set opts "additional_flags=-fsplit-stack"
|
|
||||||
+if { [prepare_for_testing ${testfile}.exp ${testfile} $srcfile [list $opts additional_flags=-fuse-ld=gold]] \
|
|
||||||
+ && [prepare_for_testing ${testfile}.exp ${testfile} $srcfile $opts] } {
|
|
||||||
return -1
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
--HlL+5n6rz5pIUxbD--
|
|
||||||
|
|
@ -1,759 +0,0 @@
|
|||||||
commit 2c29df25b7c2ff006b45afd80ee6dd734ebbd47c
|
|
||||||
Author: Sergio Durigan Junior <sergiodj@redhat.com>
|
|
||||||
Date: Sun Sep 11 16:53:09 2016 -0400
|
|
||||||
|
|
||||||
Fix false FAIL on gdb.base/stap-probe.exp, due to ICF optimization
|
|
||||||
|
|
||||||
GCC 6's ICF optimization pass is making the declaration of 'm1' and
|
|
||||||
'm2', on gdb.base/stap-probe.c, to be unified. However, this leads to
|
|
||||||
only one instance of the probe 'two' being created, which causes a
|
|
||||||
failure on the testsuite (which expects a multi-location breakpoint to
|
|
||||||
be inserted on the probe).
|
|
||||||
|
|
||||||
This patch fixes this failure by declaring a dummy variable on 'm1',
|
|
||||||
and using it as an argument to m1's version of probe 'two'. Since we
|
|
||||||
do not care about the contents of the functions nor about the
|
|
||||||
arguments of each probe 'two', this is OK.
|
|
||||||
|
|
||||||
gdb/testsuite/ChangeLog:
|
|
||||||
2016-09-11 Sergio Durigan Junior <sergiodj@redhat.com>
|
|
||||||
Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
||||||
|
|
||||||
* gdb.base/stap-probe.c (m1): New variable 'dummy', necessary to
|
|
||||||
make m1's definition to be different from m2's. Use 'dummy' as an
|
|
||||||
argument for probe 'two'.
|
|
||||||
|
|
||||||
### a/gdb/testsuite/ChangeLog
|
|
||||||
### b/gdb/testsuite/ChangeLog
|
|
||||||
## -1,3 +1,10 @@
|
|
||||||
+2016-09-11 Sergio Durigan Junior <sergiodj@redhat.com>
|
|
||||||
+ Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
||||||
+
|
|
||||||
+ * gdb.base/stap-probe.c (m1): New variable 'dummy', necessary to
|
|
||||||
+ make m1's definition to be different from m2's. Use 'dummy' as an
|
|
||||||
+ argument for probe 'two'.
|
|
||||||
+
|
|
||||||
2016-09-10 Jon Beniston <jon@beniston.com>
|
|
||||||
|
|
||||||
* lib/mi-support.exp (mi_gdb_target_load): Use target_sim_options
|
|
||||||
--- a/gdb/testsuite/gdb.base/stap-probe.c
|
|
||||||
+++ b/gdb/testsuite/gdb.base/stap-probe.c
|
|
||||||
@@ -53,8 +53,13 @@ struct funcs
|
|
||||||
static void
|
|
||||||
m1 (void)
|
|
||||||
{
|
|
||||||
+ /* m1 and m2 are equivalent, but because of some compiler
|
|
||||||
+ optimizations we have to make each of them unique. This is why
|
|
||||||
+ we have this dummy variable here. */
|
|
||||||
+ volatile int dummy = 0;
|
|
||||||
+
|
|
||||||
if (TEST2)
|
|
||||||
- STAP_PROBE (test, two);
|
|
||||||
+ STAP_PROBE1 (test, two, dummy);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
|
|
||||||
|
|
||||||
commit f389f6fef76d7cf8e8beb7061edff2155c284898
|
|
||||||
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
||||||
Date: Wed Oct 5 21:56:46 2016 +0200
|
|
||||||
|
|
||||||
testsuite: Fix recent GCC FAIL: gdb.arch/i386-signal.exp
|
|
||||||
|
|
||||||
gcc-6.2.1-2.fc24.x86_64
|
|
||||||
|
|
||||||
(gdb) backtrace 10^M
|
|
||||||
(gdb) FAIL: gdb.arch/i386-signal.exp: backtrace 10
|
|
||||||
|
|
||||||
(gdb) disas/s
|
|
||||||
Dump of assembler code for function main:
|
|
||||||
.../gdb/testsuite/gdb.arch/i386-signal.c:
|
|
||||||
30 {
|
|
||||||
0x000000000040057f <+0>: push %rbp
|
|
||||||
0x0000000000400580 <+1>: mov %rsp,%rbp
|
|
||||||
31 setup ();
|
|
||||||
0x0000000000400583 <+4>: callq 0x400590 <setup>
|
|
||||||
=> 0x0000000000400588 <+9>: mov $0x0,%eax
|
|
||||||
32 }
|
|
||||||
0x000000000040058d <+14>: pop %rbp
|
|
||||||
0x000000000040058e <+15>: retq
|
|
||||||
End of assembler dump.
|
|
||||||
|
|
||||||
The .exp patch is an obvious typo fix I think. The regex was written to
|
|
||||||
accept "ADDR in main" and I find it OK as checking .debug_line validity is not
|
|
||||||
the purpose of this testfile.
|
|
||||||
|
|
||||||
gcc-4.8.5-11.el7.x86_64 did not put the 'mov $0x0,%eax' instruction there at
|
|
||||||
all so there was no problem with .debug_line.
|
|
||||||
|
|
||||||
gdb/testsuite/ChangeLog
|
|
||||||
2016-10-05 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
||||||
|
|
||||||
* gdb.arch/i386-signal.exp (backtrace 10): Fix #2 typo.
|
|
||||||
|
|
||||||
### a/gdb/testsuite/ChangeLog
|
|
||||||
### b/gdb/testsuite/ChangeLog
|
|
||||||
## -1,3 +1,7 @@
|
|
||||||
+2016-10-05 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
||||||
+
|
|
||||||
+ * gdb.arch/i386-signal.exp (backtrace 10): Fix #2 typo.
|
|
||||||
+
|
|
||||||
2016-10-05 Yao Qi <yao.qi@linaro.org>
|
|
||||||
|
|
||||||
* lib/gdb.exp (support_complex_tests): Return zero if
|
|
||||||
--- a/gdb/testsuite/gdb.arch/i386-signal.exp
|
|
||||||
+++ b/gdb/testsuite/gdb.arch/i386-signal.exp
|
|
||||||
@@ -35,6 +35,6 @@ gdb_load ${binfile}
|
|
||||||
|
|
||||||
runto func
|
|
||||||
gdb_test "backtrace 10" \
|
|
||||||
- "#0 ($hex in )?func.*\r\n#1 <signal handler called>\r\n#2 ($hex in)?main.*"
|
|
||||||
+ "#0 ($hex in )?func.*\r\n#1 <signal handler called>\r\n#2 ($hex in )?main.*"
|
|
||||||
|
|
||||||
gdb_test "finish" "Run till exit from \#0 func.*<signal handler called>"
|
|
||||||
|
|
||||||
|
|
||||||
commit 20c2c024c1e89e402a57e8c3577fb9777709d9a4
|
|
||||||
Author: Carl E. Love <carll@oc4738070240.ibm.com>
|
|
||||||
Date: Fri Aug 19 11:06:38 2016 -0700
|
|
||||||
|
|
||||||
Fix missing files for ld when test suite not compiled in the source directory
|
|
||||||
|
|
||||||
This patch fixes an issues with six test suite expect files that do not
|
|
||||||
run correctly when the test suite is not built in the source directory. The
|
|
||||||
issue is these tests are not using the current "standard_testfile" call
|
|
||||||
but rather using the older set command to initialize the "testfile",
|
|
||||||
"srcfile" and "binprefix" variables or are missing the set for the
|
|
||||||
"binprefix" variable.
|
|
||||||
|
|
||||||
-----------------------------------------------
|
|
||||||
|
|
||||||
gdb/testsuite/ChangeLog
|
|
||||||
|
|
||||||
2016-08-19 Carl Love <cel@us.ibm.com>
|
|
||||||
|
|
||||||
* gdb.arch/altivec-regs.exp: Use standard_testfile instead of
|
|
||||||
maintaining separate logic for constructing the output path.
|
|
||||||
* gdb.arch/powerpc-d128-regs.exp: Likewise.
|
|
||||||
* gdb.arch/ppc-dfp.exp: Likewise.
|
|
||||||
* gdb.arch/ppc-fp.exp: Likewise.
|
|
||||||
* gdb.arch/vsx-regs.exp: Likewise.
|
|
||||||
* gdb.arch/altivec-abi.exp: Likewise, plus added local variable
|
|
||||||
binprefix for generating the additional binary files.
|
|
||||||
|
|
||||||
### a/gdb/testsuite/ChangeLog
|
|
||||||
### b/gdb/testsuite/ChangeLog
|
|
||||||
## -1,3 +1,14 @@
|
|
||||||
+2016-08-19 Carl Love <cel@us.ibm.com>
|
|
||||||
+
|
|
||||||
+ * gdb.arch/altivec-regs.exp: Use standard_testfile instead of
|
|
||||||
+ maintaining separate logic for constructing the output path.
|
|
||||||
+ * gdb.arch/powerpc-d128-regs.exp: Likewise.
|
|
||||||
+ * gdb.arch/ppc-dfp.exp: Likewise.
|
|
||||||
+ * gdb.arch/ppc-fp.exp: Likewise.
|
|
||||||
+ * gdb.arch/vsx-regs.exp: Likewise.
|
|
||||||
+ * gdb.arch/altivec-abi.exp: Likewise, plus added local variable
|
|
||||||
+ binprefix for generating the additional binary files.
|
|
||||||
+
|
|
||||||
2016-08-19 Pedro Alves <palves@redhat.com>
|
|
||||||
|
|
||||||
* gdb.trace/mi-trace-frame-collected.exp
|
|
||||||
--- a/gdb/testsuite/gdb.arch/altivec-abi.exp
|
|
||||||
+++ b/gdb/testsuite/gdb.arch/altivec-abi.exp
|
|
||||||
@@ -26,9 +26,7 @@ if {![istarget "powerpc*"] || [skip_altivec_tests]} then {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
-set testfile "altivec-abi"
|
|
||||||
-set binfile ${objdir}/${subdir}/${testfile}
|
|
||||||
-set srcfile ${testfile}.c
|
|
||||||
+standard_testfile
|
|
||||||
|
|
||||||
if [get_compiler_info] {
|
|
||||||
warning "get_compiler failed"
|
|
||||||
@@ -146,6 +144,8 @@ proc altivec_abi_tests { extra_flags force_abi } {
|
|
||||||
}
|
|
||||||
|
|
||||||
if [test_compiler_info gcc*] {
|
|
||||||
+ set binprefix ${binfile}
|
|
||||||
+
|
|
||||||
with_test_prefix "default ABI, auto" {
|
|
||||||
altivec_abi_tests "additional_flags=-maltivec" "auto"
|
|
||||||
}
|
|
||||||
@@ -156,23 +156,23 @@ if [test_compiler_info gcc*] {
|
|
||||||
# On 64-bit GNU/Linux with GCC 4.1 and 4.2, -mabi=no-altivec
|
|
||||||
# was broken, so skip those tests there.
|
|
||||||
if { ![is_lp64_target] || ![test_compiler_info "gcc-4-\[12\]-*"] } {
|
|
||||||
- set binfile ${objdir}/${subdir}/${testfile}-ge-ge
|
|
||||||
+ set binfile ${binprefix}-ge-ge
|
|
||||||
with_test_prefix "generic ABI, forced" {
|
|
||||||
altivec_abi_tests "additional_flags=-maltivec additional_flags=-mabi=no-altivec" "generic"
|
|
||||||
}
|
|
||||||
|
|
||||||
- set binfile ${objdir}/${subdir}/${testfile}-ge-auto
|
|
||||||
+ set binfile ${binprefix}-ge-auto
|
|
||||||
with_test_prefix "generic ABI, auto" {
|
|
||||||
altivec_abi_tests "additional_flags=-maltivec additional_flags=-mabi=no-altivec" "auto"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- set binfile ${objdir}/${subdir}/${testfile}-av-av
|
|
||||||
+ set binfile ${binprefix}-av-av
|
|
||||||
with_test_prefix "AltiVec ABI, forced" {
|
|
||||||
altivec_abi_tests "additional_flags=-maltivec additional_flags=-mabi=altivec" "altivec"
|
|
||||||
}
|
|
||||||
|
|
||||||
- set binfile ${objdir}/${subdir}/${testfile}-av-auto
|
|
||||||
+ set binfile ${binprefix}-av-auto
|
|
||||||
with_test_prefix "AltiVec ABI, auto" {
|
|
||||||
altivec_abi_tests "additional_flags=-maltivec additional_flags=-mabi=altivec" "auto"
|
|
||||||
}
|
|
||||||
--- a/gdb/testsuite/gdb.arch/altivec-regs.exp
|
|
||||||
+++ b/gdb/testsuite/gdb.arch/altivec-regs.exp
|
|
||||||
@@ -27,9 +27,7 @@ if {![istarget "powerpc*"] || [skip_altivec_tests]} then {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
-set testfile "altivec-regs"
|
|
||||||
-set binfile ${objdir}/${subdir}/${testfile}
|
|
||||||
-set srcfile ${testfile}.c
|
|
||||||
+standard_testfile
|
|
||||||
|
|
||||||
set compile_flags {debug nowarnings}
|
|
||||||
if [get_compiler_info] {
|
|
||||||
--- a/gdb/testsuite/gdb.arch/powerpc-d128-regs.exp
|
|
||||||
+++ b/gdb/testsuite/gdb.arch/powerpc-d128-regs.exp
|
|
||||||
@@ -25,9 +25,7 @@ if ![istarget "powerpc64*-*"] then {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
-set testfile "powerpc-d128-regs"
|
|
||||||
-set srcfile ${testfile}.c
|
|
||||||
-set binfile ${objdir}/${subdir}/${testfile}
|
|
||||||
+standard_testfile
|
|
||||||
|
|
||||||
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {quiet debug}] != "" } {
|
|
||||||
untested powerpc-d128-regs.exp
|
|
||||||
--- a/gdb/testsuite/gdb.arch/ppc-dfp.exp
|
|
||||||
+++ b/gdb/testsuite/gdb.arch/ppc-dfp.exp
|
|
||||||
@@ -21,9 +21,7 @@ if ![istarget "powerpc*"] then {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
-set testfile "ppc-dfp"
|
|
||||||
-set binfile ${objdir}/${subdir}/${testfile}
|
|
||||||
-set srcfile ${testfile}.c
|
|
||||||
+standard_testfile
|
|
||||||
|
|
||||||
if [get_compiler_info] {
|
|
||||||
warning "get_compiler failed"
|
|
||||||
--- a/gdb/testsuite/gdb.arch/ppc-fp.exp
|
|
||||||
+++ b/gdb/testsuite/gdb.arch/ppc-fp.exp
|
|
||||||
@@ -21,9 +21,7 @@ if ![istarget "powerpc*"] then {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
-set testfile "ppc-fp"
|
|
||||||
-set binfile ${objdir}/${subdir}/${testfile}
|
|
||||||
-set srcfile ${testfile}.c
|
|
||||||
+standard_testfile
|
|
||||||
|
|
||||||
if [get_compiler_info] {
|
|
||||||
warning "get_compiler failed"
|
|
||||||
--- a/gdb/testsuite/gdb.arch/vsx-regs.exp
|
|
||||||
+++ b/gdb/testsuite/gdb.arch/vsx-regs.exp
|
|
||||||
@@ -24,9 +24,7 @@ if {![istarget "powerpc*"] || [skip_vsx_tests]} then {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
-set testfile "vsx-regs"
|
|
||||||
-set binfile ${objdir}/${subdir}/${testfile}
|
|
||||||
-set srcfile ${testfile}.c
|
|
||||||
+standard_testfile
|
|
||||||
|
|
||||||
set compile_flags {debug nowarnings quiet}
|
|
||||||
if [get_compiler_info] {
|
|
||||||
|
|
||||||
|
|
||||||
http://sourceware.org/ml/gdb-patches/2016-10/msg00258.html
|
|
||||||
Subject: [testsuite obv] Use standard_output_file
|
|
||||||
|
|
||||||
From: Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
||||||
Date: Tue, 11 Oct 2016 16:43:58 +0200
|
|
||||||
Subject: [PATCH] testsuite: Use standard_output_file
|
|
||||||
Subject: [PATCH] testsuite: Use standard_output_file
|
|
||||||
|
|
||||||
gdb/testsuite/ChangeLog
|
|
||||||
2016-10-11 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
||||||
|
|
||||||
* gdb.arch/powerpc-prologue.exp: Use standard_output_file.
|
|
||||||
* gdb.arch/ppc64-symtab-cordic.exp: Likewise.
|
|
||||||
* gdb.arch/vsx-regs.exp: Likewise.
|
|
||||||
---
|
|
||||||
gdb/testsuite/ChangeLog | 6 ++++++
|
|
||||||
gdb/testsuite/gdb.arch/powerpc-prologue.exp | 2 +-
|
|
||||||
gdb/testsuite/gdb.arch/ppc64-symtab-cordic.exp | 4 ++--
|
|
||||||
gdb/testsuite/gdb.arch/vsx-regs.exp | 2 +-
|
|
||||||
4 files changed, 10 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
|
|
||||||
index 9c7df29..b6ba0ec 100644
|
|
||||||
### a/gdb/testsuite/ChangeLog
|
|
||||||
### b/gdb/testsuite/ChangeLog
|
|
||||||
## -1,3 +1,9 @@
|
|
||||||
+2016-10-11 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
||||||
+
|
|
||||||
+ * gdb.arch/powerpc-prologue.exp: Use standard_output_file
|
|
||||||
+ * gdb.arch/ppc64-symtab-cordic.exp: Likewise.
|
|
||||||
+ * gdb.arch/vsx-regs.exp: Likewise.
|
|
||||||
+
|
|
||||||
2016-10-07 Yao Qi <yao.qi@linaro.org>
|
|
||||||
|
|
||||||
* gdb.xml/tdesc-regs.exp: Set regdir to "arm/".
|
|
||||||
diff --git a/gdb/testsuite/gdb.arch/powerpc-prologue.exp b/gdb/testsuite/gdb.arch/powerpc-prologue.exp
|
|
||||||
index 341ae02..0c74d7e 100644
|
|
||||||
--- a/gdb/testsuite/gdb.arch/powerpc-prologue.exp
|
|
||||||
+++ b/gdb/testsuite/gdb.arch/powerpc-prologue.exp
|
|
||||||
@@ -24,7 +24,7 @@ if {[istarget *-*-aix*] || ![istarget "powerpc-*-*"]} then {
|
|
||||||
|
|
||||||
set testfile "powerpc-prologue"
|
|
||||||
set srcfile ${testfile}.c
|
|
||||||
-set binfile ${objdir}/${subdir}/${testfile}
|
|
||||||
+set binfile [standard_output_file ${testfile}]
|
|
||||||
|
|
||||||
# Don't use "debug", so that we don't have line information for the assembly
|
|
||||||
# fragments.
|
|
||||||
diff --git a/gdb/testsuite/gdb.arch/ppc64-symtab-cordic.exp b/gdb/testsuite/gdb.arch/ppc64-symtab-cordic.exp
|
|
||||||
index c8cb429..3fdc490 100644
|
|
||||||
--- a/gdb/testsuite/gdb.arch/ppc64-symtab-cordic.exp
|
|
||||||
+++ b/gdb/testsuite/gdb.arch/ppc64-symtab-cordic.exp
|
|
||||||
@@ -21,9 +21,9 @@ if {![istarget "powerpc*"] || ![is_lp64_target]} {
|
|
||||||
standard_testfile
|
|
||||||
|
|
||||||
set kobz2file ${srcdir}/${subdir}/cordic.ko.bz2
|
|
||||||
-set kofile ${objdir}/${subdir}/cordic.ko
|
|
||||||
+set kofile [standard_output_file cordic.ko]
|
|
||||||
set kodebugbz2file ${srcdir}/${subdir}/cordic.ko.debug.bz2
|
|
||||||
-set kodebugfile ${objdir}/${subdir}/cordic.ko.debug
|
|
||||||
+set kodebugfile [standard_output_file cordic.ko.debug]
|
|
||||||
|
|
||||||
if {[catch "system \"bzip2 -dc ${kobz2file} >${kofile}\""] != 0} {
|
|
||||||
untested "failed bzip2 for ${kobz2file}"
|
|
||||||
diff --git a/gdb/testsuite/gdb.arch/vsx-regs.exp b/gdb/testsuite/gdb.arch/vsx-regs.exp
|
|
||||||
index 307f12a..31e58e6 100644
|
|
||||||
--- a/gdb/testsuite/gdb.arch/vsx-regs.exp
|
|
||||||
+++ b/gdb/testsuite/gdb.arch/vsx-regs.exp
|
|
||||||
@@ -152,7 +152,7 @@ for {set i 0} {$i < 32} {incr i 1} {
|
|
||||||
# later when loading the core file (i.e., different register values for different
|
|
||||||
# vector register banks).
|
|
||||||
|
|
||||||
-set corefile "${objdir}/${subdir}/vsx-core.test"
|
|
||||||
+set corefile [standard_output_file vsx-core.test]
|
|
||||||
set core_supported [gdb_gcore_cmd "$corefile" "Save a VSX-enabled corefile"]
|
|
||||||
|
|
||||||
# Now run the F32~F63/VR0~VR31 tests.
|
|
||||||
--
|
|
||||||
2.7.4
|
|
||||||
|
|
||||||
|
|
||||||
http://sourceware.org/ml/gdb-patches/2016-10/msg00268.html
|
|
||||||
Subject: [testsuite obv] Fix gdb.arch/powerpc-prologue.c compilation
|
|
||||||
|
|
||||||
From: Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
||||||
Date: Tue, 11 Oct 2016 19:09:05 +0200
|
|
||||||
Subject: [PATCH] testsuite: Fix gdb.arch/powerpc-prologue.c compilation
|
|
||||||
Subject: [PATCH] testsuite: Fix gdb.arch/powerpc-prologue.c compilation
|
|
||||||
|
|
||||||
gcc-6.2.1
|
|
||||||
|
|
||||||
gdb compile failed, gdb/testsuite/gdb.arch/powerpc-prologue.c: In function 'main':
|
|
||||||
gdb/testsuite/gdb.arch/powerpc-prologue.c:32:3: warning: implicit declaration of function 'optimized_1' [-Wimplicit-function-declaration]
|
|
||||||
optimized_1 ();
|
|
||||||
^~~~~~~~~~~
|
|
||||||
|
|
||||||
gdb/testsuite/ChangeLog
|
|
||||||
2016-10-11 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
||||||
|
|
||||||
* gdb.arch/powerpc-prologue.c (optimized_1): New declaration.
|
|
||||||
---
|
|
||||||
gdb/testsuite/ChangeLog | 4 ++++
|
|
||||||
gdb/testsuite/gdb.arch/powerpc-prologue.c | 1 +
|
|
||||||
2 files changed, 5 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
|
|
||||||
index b6ba0ec..b4ccd4a 100644
|
|
||||||
### a/gdb/testsuite/ChangeLog
|
|
||||||
### b/gdb/testsuite/ChangeLog
|
|
||||||
## -1,5 +1,9 @@
|
|
||||||
2016-10-11 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
||||||
|
|
||||||
+ * gdb.arch/powerpc-prologue.c (optimized_1): New declaration.
|
|
||||||
+
|
|
||||||
+2016-10-11 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
||||||
+
|
|
||||||
* gdb.arch/powerpc-prologue.exp: Use standard_output_file
|
|
||||||
* gdb.arch/ppc64-symtab-cordic.exp: Likewise.
|
|
||||||
* gdb.arch/vsx-regs.exp: Likewise.
|
|
||||||
diff --git a/gdb/testsuite/gdb.arch/powerpc-prologue.c b/gdb/testsuite/gdb.arch/powerpc-prologue.c
|
|
||||||
index 6c10dfc..a1b8065 100644
|
|
||||||
--- a/gdb/testsuite/gdb.arch/powerpc-prologue.c
|
|
||||||
+++ b/gdb/testsuite/gdb.arch/powerpc-prologue.c
|
|
||||||
@@ -24,6 +24,7 @@
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void gdb2029 (void);
|
|
||||||
+void optimized_1 (void);
|
|
||||||
|
|
||||||
int
|
|
||||||
main (void)
|
|
||||||
--
|
|
||||||
2.7.4
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
http://sourceware.org/ml/gdb-patches/2016-10/msg00613.html
|
|
||||||
Subject: [testsuite patch] Fix gcc_compiled for gcc 6 & 7
|
|
||||||
|
|
||||||
|
|
||||||
--IS0zKkzwUGydFO0o
|
|
||||||
Content-Type: text/plain; charset=us-ascii
|
|
||||||
Content-Disposition: inline
|
|
||||||
|
|
||||||
Hi,
|
|
||||||
|
|
||||||
OK for check-in?
|
|
||||||
|
|
||||||
|
|
||||||
Jan
|
|
||||||
|
|
||||||
--IS0zKkzwUGydFO0o
|
|
||||||
Content-Type: text/plain; charset=us-ascii
|
|
||||||
Content-Disposition: inline; filename=1
|
|
||||||
|
|
||||||
gdb/testsuite/ChangeLog
|
|
||||||
2016-10-20 Jan Kratochvil <jan.kratochvil@redhat.com>
|
|
||||||
|
|
||||||
* lib/gdb.exp (get_compiler_info): Generalize gcc_compile regexp.
|
|
||||||
|
|
||||||
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
|
|
||||||
index 378eea0..7d9b198 100644
|
|
||||||
--- a/gdb/testsuite/lib/gdb.exp
|
|
||||||
+++ b/gdb/testsuite/lib/gdb.exp
|
|
||||||
@@ -3290,12 +3290,8 @@ proc get_compiler_info {{arg ""}} {
|
|
||||||
}
|
|
||||||
|
|
||||||
# Set the legacy symbols.
|
|
||||||
- set gcc_compiled 0
|
|
||||||
- if { [regexp "^gcc-1-" "$compiler_info" ] } { set gcc_compiled 1 }
|
|
||||||
- if { [regexp "^gcc-2-" "$compiler_info" ] } { set gcc_compiled 2 }
|
|
||||||
- if { [regexp "^gcc-3-" "$compiler_info" ] } { set gcc_compiled 3 }
|
|
||||||
- if { [regexp "^gcc-4-" "$compiler_info" ] } { set gcc_compiled 4 }
|
|
||||||
- if { [regexp "^gcc-5-" "$compiler_info" ] } { set gcc_compiled 5 }
|
|
||||||
+ set gcc_compiled 0
|
|
||||||
+ regexp "^gcc-(\[0-9\]+)-" "$compiler_info" matchall gcc_compiled
|
|
||||||
|
|
||||||
# Log what happened.
|
|
||||||
verbose -log "get_compiler_info: $compiler_info"
|
|
||||||
|
|
||||||
--IS0zKkzwUGydFO0o--
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
commit 1b7e3d2fb7036ce6f9d74e32dc052518f5cd45b6
|
|
||||||
Author: Nick Clifton <nickc@redhat.com>
|
|
||||||
Date: Fri Feb 3 09:04:21 2017 +0000
|
|
||||||
|
|
||||||
Fix compile time warning messages when compiling binutils with gcc 7.0.1.
|
|
||||||
|
|
||||||
PR 21096
|
|
||||||
bfd * coffcode.h (coff_write_object_contents): Enlarge size of
|
|
||||||
s_name_buf in order to avoid compile time warning about possible
|
|
||||||
integer truncation.
|
|
||||||
* elf32-nds32.c (nds32_elf_ex9_import_table): Mask off lower
|
|
||||||
32-bits of insn value before printing into buffer.
|
|
||||||
|
|
||||||
opcodes * aarch64-opc.c (print_register_list): Ensure that the register
|
|
||||||
list index will fir into the tb buffer.
|
|
||||||
(print_register_offset_address): Likewise.
|
|
||||||
* tic6x-dis.c (print_insn_tic6x): Increase size of func_unit_buf.
|
|
||||||
|
|
||||||
### a/bfd/ChangeLog
|
|
||||||
### b/bfd/ChangeLog
|
|
||||||
## -1,3 +1,12 @@
|
|
||||||
+2017-02-03 Nick Clifton <nickc@redhat.com>
|
|
||||||
+
|
|
||||||
+ PR 21096
|
|
||||||
+ * coffcode.h (coff_write_object_contents): Enlarge size of
|
|
||||||
+ s_name_buf in order to avoid compile time warning about possible
|
|
||||||
+ integer truncation.
|
|
||||||
+ * elf32-nds32.c (nds32_elf_ex9_import_table): Mask off lower
|
|
||||||
+ 32-bits of insn value before printing into buffer.
|
|
||||||
+
|
|
||||||
2017-02-02 Maciej W. Rozycki <macro@imgtec.com>
|
|
||||||
|
|
||||||
* elfxx-mips.c (mips_elf_hash_sort_data): Add
|
|
||||||
--- a/bfd/coffcode.h
|
|
||||||
+++ b/bfd/coffcode.h
|
|
||||||
@@ -3755,7 +3755,9 @@ coff_write_object_contents (bfd * abfd)
|
|
||||||
NUL-terminated. We use a temporary buffer so that we can still
|
|
||||||
sprintf all eight chars without splatting a terminating NUL
|
|
||||||
over the first byte of the following member (s_paddr). */
|
|
||||||
- char s_name_buf[SCNNMLEN + 1];
|
|
||||||
+ /* PR 21096: The +20 is to stop a bogus warning from gcc7 about
|
|
||||||
+ a possible buffer overflow. */
|
|
||||||
+ char s_name_buf[SCNNMLEN + 1 + 20];
|
|
||||||
|
|
||||||
/* An inherent limitation of the /nnnnnnn notation used to indicate
|
|
||||||
the offset of the long name in the string table is that we
|
|
||||||
@@ -3770,9 +3772,10 @@ coff_write_object_contents (bfd * abfd)
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
- /* snprintf not strictly necessary now we've verified the value
|
|
||||||
- has less than eight ASCII digits, but never mind. */
|
|
||||||
- snprintf (s_name_buf, SCNNMLEN + 1, "/%lu", (unsigned long) string_size);
|
|
||||||
+ /* We do not need to use snprintf here as we have already verfied
|
|
||||||
+ that string_size is not too big, plus we have an overlarge
|
|
||||||
+ buffer, just in case. */
|
|
||||||
+ sprintf (s_name_buf, "/%lu", (unsigned long) string_size);
|
|
||||||
/* Then strncpy takes care of any padding for us. */
|
|
||||||
strncpy (section.s_name, s_name_buf, SCNNMLEN);
|
|
||||||
string_size += len + 1;
|
|
||||||
--- a/bfd/elf32-nds32.c
|
|
||||||
+++ b/bfd/elf32-nds32.c
|
|
||||||
@@ -14949,7 +14949,6 @@ nds32_elf_ex9_import_table (struct bfd_link_info *info)
|
|
||||||
{
|
|
||||||
int num = 0;
|
|
||||||
bfd_byte *contents;
|
|
||||||
- unsigned long insn;
|
|
||||||
FILE *ex9_import_file;
|
|
||||||
int update_ex9_table;
|
|
||||||
struct elf_nds32_link_hash_table *table;
|
|
||||||
@@ -14963,6 +14962,7 @@ nds32_elf_ex9_import_table (struct bfd_link_info *info)
|
|
||||||
/* Read instructions from the input file and build the list. */
|
|
||||||
while (!feof (ex9_import_file))
|
|
||||||
{
|
|
||||||
+ unsigned long insn;
|
|
||||||
char *code;
|
|
||||||
struct elf_nds32_insn_times_entry *ptr;
|
|
||||||
size_t nread;
|
|
||||||
@@ -14973,7 +14973,7 @@ nds32_elf_ex9_import_table (struct bfd_link_info *info)
|
|
||||||
break;
|
|
||||||
insn = bfd_getb32 (contents);
|
|
||||||
code = bfd_malloc (sizeof (char) * 9);
|
|
||||||
- snprintf (code, 9, "%08lx", insn);
|
|
||||||
+ snprintf (code, 9, "%08lx", (insn & 0xffffffff));
|
|
||||||
ptr = bfd_malloc (sizeof (struct elf_nds32_insn_times_entry));
|
|
||||||
ptr->string = code;
|
|
||||||
ptr->order = num;
|
|
||||||
### a/opcodes/ChangeLog
|
|
||||||
### b/opcodes/ChangeLog
|
|
||||||
## -1,3 +1,11 @@
|
|
||||||
+2017-02-03 Nick Clifton <nickc@redhat.com>
|
|
||||||
+
|
|
||||||
+ PR 21096
|
|
||||||
+ * aarch64-opc.c (print_register_list): Ensure that the register
|
|
||||||
+ list index will fir into the tb buffer.
|
|
||||||
+ (print_register_offset_address): Likewise.
|
|
||||||
+ * tic6x-dis.c (print_insn_tic6x): Increase size of func_unit_buf.
|
|
||||||
+
|
|
||||||
2017-01-27 Alexis Deruell <alexis.deruelle@gmail.com>
|
|
||||||
|
|
||||||
PR 21056
|
|
||||||
--- a/opcodes/aarch64-opc.c
|
|
||||||
+++ b/opcodes/aarch64-opc.c
|
|
||||||
@@ -2865,7 +2865,8 @@ print_register_list (char *buf, size_t size, const aarch64_opnd_info *opnd,
|
|
||||||
|
|
||||||
/* Prepare the index if any. */
|
|
||||||
if (opnd->reglist.has_index)
|
|
||||||
- snprintf (tb, 8, "[%" PRIi64 "]", opnd->reglist.index);
|
|
||||||
+ /* PR 21096: The %100 is to silence a warning about possible truncation. */
|
|
||||||
+ snprintf (tb, 8, "[%" PRIi64 "]", (opnd->reglist.index % 100));
|
|
||||||
else
|
|
||||||
tb[0] = '\0';
|
|
||||||
|
|
||||||
@@ -2344,7 +2344,9 @@ print_register_offset_address (char *buf
|
|
||||||
if (print_extend_p)
|
|
||||||
{
|
|
||||||
if (print_amount_p)
|
|
||||||
- snprintf (tb, sizeof (tb), ",%s #%d", shift_name, opnd->shifter.amount);
|
|
||||||
+ snprintf (tb, sizeof (tb), ",%s #%d", shift_name,
|
|
||||||
+ /* PR 21096: The %100 is to silence a warning about possible truncation. */
|
|
||||||
+ (opnd->shifter.amount % 100));
|
|
||||||
else
|
|
||||||
snprintf (tb, sizeof (tb), ",%s", shift_name);
|
|
||||||
}
|
|
||||||
--- a/opcodes/tic6x-dis.c
|
|
||||||
+++ b/opcodes/tic6x-dis.c
|
|
||||||
@@ -316,7 +316,7 @@ print_insn_tic6x (bfd_vma addr, struct disassemble_info *info)
|
|
||||||
const char *parallel;
|
|
||||||
const char *cond = "";
|
|
||||||
const char *func_unit;
|
|
||||||
- char func_unit_buf[7];
|
|
||||||
+ char func_unit_buf[8];
|
|
||||||
unsigned int func_unit_side = 0;
|
|
||||||
unsigned int func_unit_data_side = 0;
|
|
||||||
unsigned int func_unit_cross = 0;
|
|
||||||
@@ -703,8 +703,9 @@ print_insn_tic6x (bfd_vma addr, struct disassemble_info *info)
|
|
||||||
if (opc->flags & TIC6X_FLAG_INSN16_BSIDE && func_unit_side == 1)
|
|
||||||
func_unit_cross = 1;
|
|
||||||
|
|
||||||
- snprintf (func_unit_buf, 7, " .%c%u%s%s", func_unit_char,
|
|
||||||
- func_unit_side, (func_unit_cross ? "X" : ""), data_str);
|
|
||||||
+ snprintf (func_unit_buf, sizeof func_unit_buf, " .%c%u%s%s",
|
|
||||||
+ func_unit_char, func_unit_side,
|
|
||||||
+ (func_unit_cross ? "X" : ""), data_str);
|
|
||||||
func_unit = func_unit_buf;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
commit db7b55faa1a11e632ddf57505c9bb64bc783471a
|
|
||||||
Author: Nick Clifton <nickc@redhat.com>
|
|
||||||
Date: Fri Dec 16 10:59:36 2016 +0000
|
|
||||||
|
|
||||||
Fix compile time warning building arm-dis.c
|
|
||||||
|
|
||||||
### a/opcodes/ChangeLog
|
|
||||||
### b/opcodes/ChangeLog
|
|
||||||
## -1,3 +1,8 @@
|
|
||||||
+2016-12-16 Nick Clifton <nickc@redhat.com>
|
|
||||||
+
|
|
||||||
+ * arm-dis.c (print_insn_thumb32): Fix compile time warning
|
|
||||||
+ computing value_in_comment.
|
|
||||||
+
|
|
||||||
2016-12-14 Maciej W. Rozycki <macro@imgtec.com>
|
|
||||||
|
|
||||||
* mips-dis.c (mips_convert_abiflags_ases): New function.
|
|
||||||
--- a/opcodes/arm-dis.c
|
|
||||||
+++ b/opcodes/arm-dis.c
|
|
||||||
@@ -5759,7 +5759,7 @@ print_insn_thumb32 (bfd_vma pc, struct disassemble_info *info, long given)
|
|
||||||
if (off || !U)
|
|
||||||
{
|
|
||||||
func (stream, ", #%c%u", U ? '+' : '-', off * 4);
|
|
||||||
- value_in_comment = off * 4 * U ? 1 : -1;
|
|
||||||
+ value_in_comment = (off && U) ? 1 : -1;
|
|
||||||
}
|
|
||||||
func (stream, "]");
|
|
||||||
if (W)
|
|
||||||
@@ -5771,7 +5771,7 @@ print_insn_thumb32 (bfd_vma pc, struct disassemble_info *info, long given)
|
|
||||||
if (W)
|
|
||||||
{
|
|
||||||
func (stream, "#%c%u", U ? '+' : '-', off * 4);
|
|
||||||
- value_in_comment = off * 4 * U ? 1 : -1;
|
|
||||||
+ value_in_comment = (off && U) ? 1 : -1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
commit 97e64e5ab19dbf6a9babd711e8deec5545520954
|
|
||||||
Author: Yao Qi <yao.qi@linaro.org>
|
|
||||||
Date: Fri Sep 23 17:27:26 2016 +0100
|
|
||||||
|
|
||||||
Replace sprintf with xsnprintf in nat/linux-osdata.c
|
|
||||||
|
|
||||||
I see the following build warning when I build GDB with GCC trunk.
|
|
||||||
|
|
||||||
../../binutils-gdb/gdb/nat/linux-osdata.c: In function ‘LONGEST linux_xfer_osdata_fds(gdb_byte*, ULONGEST, ULONGEST)’:
|
|
||||||
../../binutils-gdb/gdb/nat/linux-osdata.c:767:1: error: ‘%s’ directive writing between 0 and 255 bytes into a region of size 11 [-Werror=format-length=]
|
|
||||||
linux_xfer_osdata_fds (gdb_byte *readbuf,
|
|
||||||
^~~~~~~~~~~~~~~~~~~~~
|
|
||||||
../../binutils-gdb/gdb/nat/linux-osdata.c:800:51: note: format output between 7 and 262 bytes into a destination of size 17
|
|
||||||
sprintf (procentry, "/proc/%s", dp->d_name);
|
|
||||||
^
|
|
||||||
../../binutils-gdb/gdb/nat/linux-osdata.c: In function ‘LONGEST linux_xfer_osdata_threads(gdb_byte*, ULONGEST, ULONGEST)’:
|
|
||||||
../../binutils-gdb/gdb/nat/linux-osdata.c:555:1: error: ‘%s’ directive writing between 0 and 255 bytes into a region of size 11 [-Werror=format-length=]
|
|
||||||
linux_xfer_osdata_threads (gdb_byte *readbuf,
|
|
||||||
^~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
../../binutils-gdb/gdb/nat/linux-osdata.c:588:51: note: format output between 7 and 262 bytes into a destination of size 17
|
|
||||||
sprintf (procentry, "/proc/%s", dp->d_name);
|
|
||||||
^
|
|
||||||
cc1plus: all warnings being treated as errors
|
|
||||||
|
|
||||||
The warning is a false positive, but we can workaround it by replacing
|
|
||||||
sprintf with xsnprintf. On the other hand, it is always preferred to
|
|
||||||
use xsnprintf.
|
|
||||||
|
|
||||||
gdb:
|
|
||||||
|
|
||||||
2016-09-23 Yao Qi <yao.qi@linaro.org>
|
|
||||||
|
|
||||||
* nat/linux-osdata.c (linux_xfer_osdata_threads): Replace
|
|
||||||
sprintf with xsnprintf.
|
|
||||||
(linux_xfer_osdata_fds): Likewise.
|
|
||||||
|
|
||||||
### a/gdb/ChangeLog
|
|
||||||
### b/gdb/ChangeLog
|
|
||||||
## -1,3 +1,9 @@
|
|
||||||
+2016-09-23 Yao Qi <yao.qi@linaro.org>
|
|
||||||
+
|
|
||||||
+ * nat/linux-osdata.c (linux_xfer_osdata_threads): Replace
|
|
||||||
+ sprintf with xsnprintf.
|
|
||||||
+ (linux_xfer_osdata_fds): Likewise.
|
|
||||||
+
|
|
||||||
2016-09-23 Pedro Alves <palves@redhat.com>
|
|
||||||
|
|
||||||
* Makefile.in (SFILES): Add common/new-op.c.
|
|
||||||
--- a/gdb/nat/linux-osdata.c
|
|
||||||
+++ b/gdb/nat/linux-osdata.c
|
|
||||||
@@ -585,7 +585,8 @@ linux_xfer_osdata_threads (gdb_byte *readbuf,
|
|
||||||
|| NAMELEN (dp) > sizeof ("4294967295") - 1)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
- sprintf (procentry, "/proc/%s", dp->d_name);
|
|
||||||
+ xsnprintf (procentry, sizeof (procentry), "/proc/%s",
|
|
||||||
+ dp->d_name);
|
|
||||||
if (stat (procentry, &statbuf) == 0
|
|
||||||
&& S_ISDIR (statbuf.st_mode))
|
|
||||||
{
|
|
||||||
@@ -797,7 +798,8 @@ linux_xfer_osdata_fds (gdb_byte *readbuf,
|
|
||||||
|| NAMELEN (dp) > sizeof ("4294967295") - 1)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
- sprintf (procentry, "/proc/%s", dp->d_name);
|
|
||||||
+ xsnprintf (procentry, sizeof (procentry), "/proc/%s",
|
|
||||||
+ dp->d_name);
|
|
||||||
if (stat (procentry, &statbuf) == 0
|
|
||||||
&& S_ISDIR (statbuf.st_mode))
|
|
||||||
{
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
http://sourceware.org/ml/gdb-patches/2017-02/msg00226.html
|
|
||||||
Subject: [OB PATCH] Fix NULL pointer dereference
|
|
||||||
|
|
||||||
This commit fixes a segmentation fault on tab completion when
|
|
||||||
certain debuginfo is installed:
|
|
||||||
|
|
||||||
https://bugzilla.redhat.com/show_bug.cgi?id=1398387
|
|
||||||
|
|
||||||
gdb/ChangeLog:
|
|
||||||
|
|
||||||
* symtab.c (add_symtab_completions): Prevent NULL pointer
|
|
||||||
dereference.
|
|
||||||
---
|
|
||||||
gdb/ChangeLog | 5 +++++
|
|
||||||
gdb/symtab.c | 3 +++
|
|
||||||
2 files changed, 8 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/gdb/symtab.c b/gdb/symtab.c
|
|
||||||
index 356f480..2c141e5 100644
|
|
||||||
--- a/gdb/symtab.c
|
|
||||||
+++ b/gdb/symtab.c
|
|
||||||
@@ -5163,6 +5163,9 @@ add_symtab_completions (struct compunit_symtab *cust,
|
|
||||||
struct block_iterator iter;
|
|
||||||
int i;
|
|
||||||
|
|
||||||
+ if (cust == NULL)
|
|
||||||
+ return;
|
|
||||||
+
|
|
||||||
for (i = GLOBAL_BLOCK; i <= STATIC_BLOCK; i++)
|
|
||||||
{
|
|
||||||
QUIT;
|
|
||||||
--
|
|
||||||
1.8.3.1
|
|
||||||
|
|
@ -26,11 +26,11 @@ dbfd7140bf4c0500d1f5d192be781f83f78f7922
|
|||||||
gdb/value.h | 2 +
|
gdb/value.h | 2 +
|
||||||
23 files changed, 1242 insertions(+), 183 deletions(-)
|
23 files changed, 1242 insertions(+), 183 deletions(-)
|
||||||
|
|
||||||
diff --git a/gdb/dwarf2loc.c b/gdb/dwarf2loc.c
|
Index: gdb-7.12.50.20170207/gdb/dwarf2loc.c
|
||||||
index 548e468..560e16f 100644
|
===================================================================
|
||||||
--- a/gdb/dwarf2loc.c
|
--- gdb-7.12.50.20170207.orig/gdb/dwarf2loc.c 2017-02-07 20:47:32.161026214 +0100
|
||||||
+++ b/gdb/dwarf2loc.c
|
+++ gdb-7.12.50.20170207/gdb/dwarf2loc.c 2017-02-07 20:47:33.115033460 +0100
|
||||||
@@ -2601,11 +2601,14 @@ dwarf2_locexpr_baton_eval (const struct dwarf2_locexpr_baton *dlbaton,
|
@@ -2542,11 +2542,14 @@
|
||||||
/* See dwarf2loc.h. */
|
/* See dwarf2loc.h. */
|
||||||
|
|
||||||
int
|
int
|
||||||
@ -47,7 +47,7 @@ index 548e468..560e16f 100644
|
|||||||
if (prop == NULL)
|
if (prop == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
@@ -2629,7 +2632,7 @@ dwarf2_evaluate_property (const struct dynamic_prop *prop,
|
@@ -2570,7 +2573,7 @@
|
||||||
|
|
||||||
*value = value_as_address (val);
|
*value = value_as_address (val);
|
||||||
}
|
}
|
||||||
@ -56,7 +56,7 @@ index 548e468..560e16f 100644
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -2651,7 +2654,7 @@ dwarf2_evaluate_property (const struct dynamic_prop *prop,
|
@@ -2592,7 +2595,7 @@
|
||||||
if (!value_optimized_out (val))
|
if (!value_optimized_out (val))
|
||||||
{
|
{
|
||||||
*value = value_as_address (val);
|
*value = value_as_address (val);
|
||||||
@ -65,7 +65,7 @@ index 548e468..560e16f 100644
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2659,8 +2662,8 @@ dwarf2_evaluate_property (const struct dynamic_prop *prop,
|
@@ -2600,8 +2603,8 @@
|
||||||
|
|
||||||
case PROP_CONST:
|
case PROP_CONST:
|
||||||
*value = prop->data.const_val;
|
*value = prop->data.const_val;
|
||||||
@ -76,7 +76,7 @@ index 548e468..560e16f 100644
|
|||||||
case PROP_ADDR_OFFSET:
|
case PROP_ADDR_OFFSET:
|
||||||
{
|
{
|
||||||
struct dwarf2_property_baton *baton
|
struct dwarf2_property_baton *baton
|
||||||
@@ -2681,11 +2684,38 @@ dwarf2_evaluate_property (const struct dynamic_prop *prop,
|
@@ -2622,11 +2625,38 @@
|
||||||
val = value_at (baton->offset_info.type,
|
val = value_at (baton->offset_info.type,
|
||||||
pinfo->addr + baton->offset_info.offset);
|
pinfo->addr + baton->offset_info.offset);
|
||||||
*value = value_as_address (val);
|
*value = value_as_address (val);
|
||||||
@ -84,9 +84,8 @@ index 548e468..560e16f 100644
|
|||||||
+ rc = 1;
|
+ rc = 1;
|
||||||
}
|
}
|
||||||
+ break;
|
+ break;
|
||||||
}
|
+ }
|
||||||
|
+
|
||||||
- return 0;
|
|
||||||
+ if (rc == 1 && is_signed == 1)
|
+ if (rc == 1 && is_signed == 1)
|
||||||
+ {
|
+ {
|
||||||
+ /* If we have a valid return candidate and it's value is signed,
|
+ /* If we have a valid return candidate and it's value is signed,
|
||||||
@ -99,10 +98,11 @@ index 548e468..560e16f 100644
|
|||||||
+ /* Check if signed bit is set and sign-extend values. */
|
+ /* Check if signed bit is set and sign-extend values. */
|
||||||
+ if (*value & (neg_mask))
|
+ if (*value & (neg_mask))
|
||||||
+ *value |= (neg_mask );
|
+ *value |= (neg_mask );
|
||||||
+ }
|
}
|
||||||
+ return rc;
|
+ return rc;
|
||||||
+}
|
+}
|
||||||
+
|
|
||||||
|
- return 0;
|
||||||
+int
|
+int
|
||||||
+dwarf2_evaluate_property (const struct dynamic_prop *prop,
|
+dwarf2_evaluate_property (const struct dynamic_prop *prop,
|
||||||
+ struct frame_info *frame,
|
+ struct frame_info *frame,
|
||||||
@ -117,11 +117,11 @@ index 548e468..560e16f 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* See dwarf2loc.h. */
|
/* See dwarf2loc.h. */
|
||||||
diff --git a/gdb/dwarf2loc.h b/gdb/dwarf2loc.h
|
Index: gdb-7.12.50.20170207/gdb/dwarf2loc.h
|
||||||
index fa83459..da6b9cd 100644
|
===================================================================
|
||||||
--- a/gdb/dwarf2loc.h
|
--- gdb-7.12.50.20170207.orig/gdb/dwarf2loc.h 2017-02-07 20:47:32.162026222 +0100
|
||||||
+++ b/gdb/dwarf2loc.h
|
+++ gdb-7.12.50.20170207/gdb/dwarf2loc.h 2017-02-07 20:47:33.115033460 +0100
|
||||||
@@ -138,6 +138,12 @@ int dwarf2_evaluate_property (const struct dynamic_prop *prop,
|
@@ -138,6 +138,12 @@
|
||||||
struct property_addr_info *addr_stack,
|
struct property_addr_info *addr_stack,
|
||||||
CORE_ADDR *value);
|
CORE_ADDR *value);
|
||||||
|
|
||||||
@ -134,11 +134,11 @@ index fa83459..da6b9cd 100644
|
|||||||
/* A helper for the compiler interface that compiles a single dynamic
|
/* A helper for the compiler interface that compiles a single dynamic
|
||||||
property to C code.
|
property to C code.
|
||||||
|
|
||||||
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
|
Index: gdb-7.12.50.20170207/gdb/dwarf2read.c
|
||||||
index 6658a38..a1ac659 100644
|
===================================================================
|
||||||
--- a/gdb/dwarf2read.c
|
--- gdb-7.12.50.20170207.orig/gdb/dwarf2read.c 2017-02-07 20:47:32.168026268 +0100
|
||||||
+++ b/gdb/dwarf2read.c
|
+++ gdb-7.12.50.20170207/gdb/dwarf2read.c 2017-02-07 20:47:33.120033498 +0100
|
||||||
@@ -14952,7 +14952,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -14924,7 +14924,7 @@
|
||||||
struct type *base_type, *orig_base_type;
|
struct type *base_type, *orig_base_type;
|
||||||
struct type *range_type;
|
struct type *range_type;
|
||||||
struct attribute *attr;
|
struct attribute *attr;
|
||||||
@ -147,7 +147,7 @@ index 6658a38..a1ac659 100644
|
|||||||
int low_default_is_valid;
|
int low_default_is_valid;
|
||||||
int high_bound_is_count = 0;
|
int high_bound_is_count = 0;
|
||||||
const char *name;
|
const char *name;
|
||||||
@@ -14972,7 +14972,9 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -14944,7 +14944,9 @@
|
||||||
|
|
||||||
low.kind = PROP_CONST;
|
low.kind = PROP_CONST;
|
||||||
high.kind = PROP_CONST;
|
high.kind = PROP_CONST;
|
||||||
@ -157,7 +157,7 @@ index 6658a38..a1ac659 100644
|
|||||||
|
|
||||||
/* Set LOW_DEFAULT_IS_VALID if current language and DWARF version allow
|
/* Set LOW_DEFAULT_IS_VALID if current language and DWARF version allow
|
||||||
omitting DW_AT_lower_bound. */
|
omitting DW_AT_lower_bound. */
|
||||||
@@ -15006,6 +15008,13 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -14977,6 +14979,13 @@
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -171,7 +171,7 @@ index 6658a38..a1ac659 100644
|
|||||||
attr = dwarf2_attr (die, DW_AT_lower_bound, cu);
|
attr = dwarf2_attr (die, DW_AT_lower_bound, cu);
|
||||||
if (attr)
|
if (attr)
|
||||||
attr_to_dynamic_prop (attr, die, cu, &low);
|
attr_to_dynamic_prop (attr, die, cu, &low);
|
||||||
@@ -15082,7 +15091,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
|
@@ -15053,7 +15062,7 @@
|
||||||
&& !TYPE_UNSIGNED (base_type) && (high.data.const_val & negative_mask))
|
&& !TYPE_UNSIGNED (base_type) && (high.data.const_val & negative_mask))
|
||||||
high.data.const_val |= negative_mask;
|
high.data.const_val |= negative_mask;
|
||||||
|
|
||||||
@ -180,11 +180,11 @@ index 6658a38..a1ac659 100644
|
|||||||
|
|
||||||
if (high_bound_is_count)
|
if (high_bound_is_count)
|
||||||
TYPE_RANGE_DATA (range_type)->flag_upper_bound_is_count = 1;
|
TYPE_RANGE_DATA (range_type)->flag_upper_bound_is_count = 1;
|
||||||
diff --git a/gdb/eval.c b/gdb/eval.c
|
Index: gdb-7.12.50.20170207/gdb/eval.c
|
||||||
index 00a107c..91d8a03 100644
|
===================================================================
|
||||||
--- a/gdb/eval.c
|
--- gdb-7.12.50.20170207.orig/gdb/eval.c 2017-02-07 20:47:32.170026283 +0100
|
||||||
+++ b/gdb/eval.c
|
+++ gdb-7.12.50.20170207/gdb/eval.c 2017-02-07 20:47:33.121033506 +0100
|
||||||
@@ -399,29 +399,325 @@ init_array_element (struct value *array, struct value *element,
|
@@ -379,29 +379,325 @@
|
||||||
return index;
|
return index;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -209,11 +209,6 @@ index 00a107c..91d8a03 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;
|
||||||
@ -268,17 +263,21 @@ index 00a107c..91d8a03 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;
|
||||||
+
|
+
|
||||||
@ -372,7 +371,8 @@ index 00a107c..91d8a03 100644
|
|||||||
+
|
+
|
||||||
+ case SUBSCRIPT_INDEX:
|
+ case SUBSCRIPT_INDEX:
|
||||||
+ break;
|
+ break;
|
||||||
+
|
|
||||||
|
- return value_slice (array, low_bound, high_bound - low_bound + 1);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ array_type = TYPE_TARGET_TYPE (array_type);
|
+ array_type = TYPE_TARGET_TYPE (array_type);
|
||||||
@ -492,8 +492,7 @@ index 00a107c..91d8a03 100644
|
|||||||
+ struct type *range_type, *interim_array_type;
|
+ struct type *range_type, *interim_array_type;
|
||||||
+
|
+
|
||||||
+ int new_length;
|
+ int new_length;
|
||||||
|
+
|
||||||
- return value_slice (array, low_bound, high_bound - low_bound + 1);
|
|
||||||
+ /* The length of a sub-dimension with all elements between the
|
+ /* The length of a sub-dimension with all elements between the
|
||||||
+ bounds plus the start element itself. It may be modified by
|
+ bounds plus the start element itself. It may be modified by
|
||||||
+ a user provided stride value. */
|
+ a user provided stride value. */
|
||||||
@ -528,7 +527,7 @@ index 00a107c..91d8a03 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1810,19 +2106,8 @@ evaluate_subexp_standard (struct type *expect_type,
|
@@ -1790,19 +2086,8 @@
|
||||||
switch (code)
|
switch (code)
|
||||||
{
|
{
|
||||||
case TYPE_CODE_ARRAY:
|
case TYPE_CODE_ARRAY:
|
||||||
@ -549,7 +548,7 @@ index 00a107c..91d8a03 100644
|
|||||||
|
|
||||||
case TYPE_CODE_PTR:
|
case TYPE_CODE_PTR:
|
||||||
case TYPE_CODE_FUNC:
|
case TYPE_CODE_FUNC:
|
||||||
@@ -2223,49 +2508,6 @@ evaluate_subexp_standard (struct type *expect_type,
|
@@ -2203,49 +2488,6 @@
|
||||||
}
|
}
|
||||||
return (arg1);
|
return (arg1);
|
||||||
|
|
||||||
@ -599,7 +598,7 @@ index 00a107c..91d8a03 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)
|
||||||
@@ -3123,6 +3365,9 @@ calc_f77_array_dims (struct type *array_type)
|
@@ -3102,6 +3344,9 @@
|
||||||
int ndimen = 1;
|
int ndimen = 1;
|
||||||
struct type *tmp_type;
|
struct type *tmp_type;
|
||||||
|
|
||||||
@ -609,11 +608,11 @@ index 00a107c..91d8a03 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/expprint.c b/gdb/expprint.c
|
Index: gdb-7.12.50.20170207/gdb/expprint.c
|
||||||
index c37ecb0..214d58e 100644
|
===================================================================
|
||||||
--- a/gdb/expprint.c
|
--- gdb-7.12.50.20170207.orig/gdb/expprint.c 2017-02-07 20:47:32.170026283 +0100
|
||||||
+++ b/gdb/expprint.c
|
+++ gdb-7.12.50.20170207/gdb/expprint.c 2017-02-07 20:47:33.121033506 +0100
|
||||||
@@ -568,12 +568,10 @@ print_subexp_standard (struct expression *exp, int *pos,
|
@@ -568,12 +568,10 @@
|
||||||
*pos += 2;
|
*pos += 2;
|
||||||
|
|
||||||
fputs_filtered ("RANGE(", stream);
|
fputs_filtered ("RANGE(", stream);
|
||||||
@ -628,7 +627,7 @@ index c37ecb0..214d58e 100644
|
|||||||
print_subexp (exp, pos, stream, PREC_ABOVE_COMMA);
|
print_subexp (exp, pos, stream, PREC_ABOVE_COMMA);
|
||||||
fputs_filtered (")", stream);
|
fputs_filtered (")", stream);
|
||||||
return;
|
return;
|
||||||
@@ -1055,16 +1053,16 @@ dump_subexp_body_standard (struct expression *exp,
|
@@ -1055,16 +1053,16 @@
|
||||||
|
|
||||||
switch (range_type)
|
switch (range_type)
|
||||||
{
|
{
|
||||||
@ -649,7 +648,7 @@ index c37ecb0..214d58e 100644
|
|||||||
fputs_filtered ("Range 'EXP..EXP'", stream);
|
fputs_filtered ("Range 'EXP..EXP'", stream);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -1072,11 +1070,9 @@ dump_subexp_body_standard (struct expression *exp,
|
@@ -1072,11 +1070,9 @@
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -663,11 +662,11 @@ index c37ecb0..214d58e 100644
|
|||||||
elt = dump_subexp (exp, stream, elt);
|
elt = dump_subexp (exp, stream, elt);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
diff --git a/gdb/expression.h b/gdb/expression.h
|
Index: gdb-7.12.50.20170207/gdb/expression.h
|
||||||
index 4952d84..34ca54b 100644
|
===================================================================
|
||||||
--- a/gdb/expression.h
|
--- gdb-7.12.50.20170207.orig/gdb/expression.h 2017-02-07 20:47:32.170026283 +0100
|
||||||
+++ b/gdb/expression.h
|
+++ gdb-7.12.50.20170207/gdb/expression.h 2017-02-07 20:47:33.121033506 +0100
|
||||||
@@ -152,17 +152,17 @@ extern void dump_raw_expression (struct expression *,
|
@@ -154,17 +154,17 @@
|
||||||
struct ui_file *, char *);
|
struct ui_file *, char *);
|
||||||
extern void dump_prefix_expression (struct expression *, struct ui_file *);
|
extern void dump_prefix_expression (struct expression *, struct ui_file *);
|
||||||
|
|
||||||
@ -694,11 +693,11 @@ index 4952d84..34ca54b 100644
|
|||||||
};
|
};
|
||||||
|
|
||||||
#endif /* !defined (EXPRESSION_H) */
|
#endif /* !defined (EXPRESSION_H) */
|
||||||
diff --git a/gdb/f-exp.y b/gdb/f-exp.y
|
Index: gdb-7.12.50.20170207/gdb/f-exp.y
|
||||||
index e3148a3..71f1823 100644
|
===================================================================
|
||||||
--- a/gdb/f-exp.y
|
--- gdb-7.12.50.20170207.orig/gdb/f-exp.y 2017-02-07 20:47:32.171026290 +0100
|
||||||
+++ b/gdb/f-exp.y
|
+++ gdb-7.12.50.20170207/gdb/f-exp.y 2017-02-07 20:47:33.121033506 +0100
|
||||||
@@ -253,31 +253,63 @@ arglist : subrange
|
@@ -254,31 +254,63 @@
|
||||||
|
|
||||||
arglist : arglist ',' exp %prec ABOVE_COMMA
|
arglist : arglist ',' exp %prec ABOVE_COMMA
|
||||||
{ arglist_len++; }
|
{ arglist_len++; }
|
||||||
@ -767,11 +766,11 @@ index e3148a3..71f1823 100644
|
|||||||
write_exp_elt_opcode (pstate, OP_RANGE); }
|
write_exp_elt_opcode (pstate, OP_RANGE); }
|
||||||
;
|
;
|
||||||
|
|
||||||
diff --git a/gdb/f-valprint.c b/gdb/f-valprint.c
|
Index: gdb-7.12.50.20170207/gdb/f-valprint.c
|
||||||
index 08215e2..e6eca6a 100644
|
===================================================================
|
||||||
--- a/gdb/f-valprint.c
|
--- gdb-7.12.50.20170207.orig/gdb/f-valprint.c 2017-02-07 20:47:32.171026290 +0100
|
||||||
+++ b/gdb/f-valprint.c
|
+++ gdb-7.12.50.20170207/gdb/f-valprint.c 2017-02-07 20:47:33.122033513 +0100
|
||||||
@@ -121,8 +121,14 @@ f77_print_array_1 (int nss, int ndimensions, struct type *type,
|
@@ -121,8 +121,14 @@
|
||||||
|
|
||||||
if (nss != ndimensions)
|
if (nss != ndimensions)
|
||||||
{
|
{
|
||||||
@ -787,11 +786,11 @@ index 08215e2..e6eca6a 100644
|
|||||||
|
|
||||||
for (i = lowerbound;
|
for (i = lowerbound;
|
||||||
(i < upperbound + 1 && (*elts) < options->print_max);
|
(i < upperbound + 1 && (*elts) < options->print_max);
|
||||||
diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
|
Index: gdb-7.12.50.20170207/gdb/gdbtypes.c
|
||||||
index ec5c17a..eb83791 100644
|
===================================================================
|
||||||
--- a/gdb/gdbtypes.c
|
--- gdb-7.12.50.20170207.orig/gdb/gdbtypes.c 2017-02-07 20:47:32.173026306 +0100
|
||||||
+++ b/gdb/gdbtypes.c
|
+++ gdb-7.12.50.20170207/gdb/gdbtypes.c 2017-02-07 20:47:33.123033521 +0100
|
||||||
@@ -836,7 +836,8 @@ allocate_stub_method (struct type *type)
|
@@ -836,7 +836,8 @@
|
||||||
struct type *
|
struct type *
|
||||||
create_range_type (struct type *result_type, struct type *index_type,
|
create_range_type (struct type *result_type, struct type *index_type,
|
||||||
const struct dynamic_prop *low_bound,
|
const struct dynamic_prop *low_bound,
|
||||||
@ -801,7 +800,7 @@ index ec5c17a..eb83791 100644
|
|||||||
{
|
{
|
||||||
if (result_type == NULL)
|
if (result_type == NULL)
|
||||||
result_type = alloc_type_copy (index_type);
|
result_type = alloc_type_copy (index_type);
|
||||||
@@ -851,6 +852,7 @@ create_range_type (struct type *result_type, struct type *index_type,
|
@@ -851,6 +852,7 @@
|
||||||
TYPE_ZALLOC (result_type, sizeof (struct range_bounds));
|
TYPE_ZALLOC (result_type, sizeof (struct range_bounds));
|
||||||
TYPE_RANGE_DATA (result_type)->low = *low_bound;
|
TYPE_RANGE_DATA (result_type)->low = *low_bound;
|
||||||
TYPE_RANGE_DATA (result_type)->high = *high_bound;
|
TYPE_RANGE_DATA (result_type)->high = *high_bound;
|
||||||
@ -809,7 +808,7 @@ index ec5c17a..eb83791 100644
|
|||||||
|
|
||||||
if (low_bound->kind == PROP_CONST && low_bound->data.const_val >= 0)
|
if (low_bound->kind == PROP_CONST && low_bound->data.const_val >= 0)
|
||||||
TYPE_UNSIGNED (result_type) = 1;
|
TYPE_UNSIGNED (result_type) = 1;
|
||||||
@@ -879,7 +881,7 @@ struct type *
|
@@ -879,7 +881,7 @@
|
||||||
create_static_range_type (struct type *result_type, struct type *index_type,
|
create_static_range_type (struct type *result_type, struct type *index_type,
|
||||||
LONGEST low_bound, LONGEST high_bound)
|
LONGEST low_bound, LONGEST high_bound)
|
||||||
{
|
{
|
||||||
@ -818,7 +817,7 @@ index ec5c17a..eb83791 100644
|
|||||||
|
|
||||||
low.kind = PROP_CONST;
|
low.kind = PROP_CONST;
|
||||||
low.data.const_val = low_bound;
|
low.data.const_val = low_bound;
|
||||||
@@ -887,7 +889,11 @@ create_static_range_type (struct type *result_type, struct type *index_type,
|
@@ -887,7 +889,11 @@
|
||||||
high.kind = PROP_CONST;
|
high.kind = PROP_CONST;
|
||||||
high.data.const_val = high_bound;
|
high.data.const_val = high_bound;
|
||||||
|
|
||||||
@ -831,7 +830,7 @@ index ec5c17a..eb83791 100644
|
|||||||
|
|
||||||
return result_type;
|
return result_type;
|
||||||
}
|
}
|
||||||
@@ -1084,16 +1090,20 @@ create_array_type_with_stride (struct type *result_type,
|
@@ -1084,16 +1090,20 @@
|
||||||
&& (!type_not_associated (result_type)
|
&& (!type_not_associated (result_type)
|
||||||
&& !type_not_allocated (result_type)))
|
&& !type_not_allocated (result_type)))
|
||||||
{
|
{
|
||||||
@ -853,7 +852,7 @@ index ec5c17a..eb83791 100644
|
|||||||
else if (bit_stride > 0)
|
else if (bit_stride > 0)
|
||||||
TYPE_LENGTH (result_type) =
|
TYPE_LENGTH (result_type) =
|
||||||
(bit_stride * (high_bound - low_bound + 1) + 7) / 8;
|
(bit_stride * (high_bound - low_bound + 1) + 7) / 8;
|
||||||
@@ -1888,12 +1898,12 @@ resolve_dynamic_range (struct type *dyn_range_type,
|
@@ -1886,12 +1896,12 @@
|
||||||
CORE_ADDR value;
|
CORE_ADDR value;
|
||||||
struct type *static_range_type, *static_target_type;
|
struct type *static_range_type, *static_target_type;
|
||||||
const struct dynamic_prop *prop;
|
const struct dynamic_prop *prop;
|
||||||
@ -868,7 +867,7 @@ index ec5c17a..eb83791 100644
|
|||||||
{
|
{
|
||||||
low_bound.kind = PROP_CONST;
|
low_bound.kind = PROP_CONST;
|
||||||
low_bound.data.const_val = value;
|
low_bound.data.const_val = value;
|
||||||
@@ -1905,7 +1915,7 @@ resolve_dynamic_range (struct type *dyn_range_type,
|
@@ -1903,7 +1913,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
prop = &TYPE_RANGE_DATA (dyn_range_type)->high;
|
prop = &TYPE_RANGE_DATA (dyn_range_type)->high;
|
||||||
@ -877,7 +876,7 @@ index ec5c17a..eb83791 100644
|
|||||||
{
|
{
|
||||||
high_bound.kind = PROP_CONST;
|
high_bound.kind = PROP_CONST;
|
||||||
high_bound.data.const_val = value;
|
high_bound.data.const_val = value;
|
||||||
@@ -1920,12 +1930,20 @@ resolve_dynamic_range (struct type *dyn_range_type,
|
@@ -1918,12 +1928,20 @@
|
||||||
high_bound.data.const_val = 0;
|
high_bound.data.const_val = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -899,11 +898,11 @@ index ec5c17a..eb83791 100644
|
|||||||
TYPE_RANGE_DATA (static_range_type)->flag_bound_evaluated = 1;
|
TYPE_RANGE_DATA (static_range_type)->flag_bound_evaluated = 1;
|
||||||
return static_range_type;
|
return static_range_type;
|
||||||
}
|
}
|
||||||
diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
|
Index: gdb-7.12.50.20170207/gdb/gdbtypes.h
|
||||||
index 2dda074..bcc9200 100644
|
===================================================================
|
||||||
--- a/gdb/gdbtypes.h
|
--- gdb-7.12.50.20170207.orig/gdb/gdbtypes.h 2017-02-07 20:47:32.173026306 +0100
|
||||||
+++ b/gdb/gdbtypes.h
|
+++ gdb-7.12.50.20170207/gdb/gdbtypes.h 2017-02-07 20:47:33.123033521 +0100
|
||||||
@@ -577,6 +577,10 @@ struct range_bounds
|
@@ -550,6 +550,10 @@
|
||||||
|
|
||||||
struct dynamic_prop high;
|
struct dynamic_prop high;
|
||||||
|
|
||||||
@ -914,7 +913,7 @@ index 2dda074..bcc9200 100644
|
|||||||
/* True if HIGH range bound contains the number of elements in the
|
/* True if HIGH range bound contains the number of elements in the
|
||||||
subrange. This affects how the final hight bound is computed. */
|
subrange. This affects how the final hight bound is computed. */
|
||||||
|
|
||||||
@@ -739,7 +743,6 @@ struct main_type
|
@@ -712,7 +716,6 @@
|
||||||
/* * Union member used for range types. */
|
/* * Union member used for range types. */
|
||||||
|
|
||||||
struct range_bounds *bounds;
|
struct range_bounds *bounds;
|
||||||
@ -922,7 +921,7 @@ index 2dda074..bcc9200 100644
|
|||||||
} flds_bnds;
|
} flds_bnds;
|
||||||
|
|
||||||
/* * Slot to point to additional language-specific fields of this
|
/* * Slot to point to additional language-specific fields of this
|
||||||
@@ -1255,6 +1258,15 @@ extern void allocate_gnat_aux_type (struct type *);
|
@@ -1224,6 +1227,15 @@
|
||||||
TYPE_RANGE_DATA(range_type)->high.kind
|
TYPE_RANGE_DATA(range_type)->high.kind
|
||||||
#define TYPE_LOW_BOUND_KIND(range_type) \
|
#define TYPE_LOW_BOUND_KIND(range_type) \
|
||||||
TYPE_RANGE_DATA(range_type)->low.kind
|
TYPE_RANGE_DATA(range_type)->low.kind
|
||||||
@ -938,7 +937,7 @@ index 2dda074..bcc9200 100644
|
|||||||
|
|
||||||
/* Property accessors for the type data location. */
|
/* Property accessors for the type data location. */
|
||||||
#define TYPE_DATA_LOCATION(thistype) \
|
#define TYPE_DATA_LOCATION(thistype) \
|
||||||
@@ -1289,6 +1301,9 @@ extern void allocate_gnat_aux_type (struct type *);
|
@@ -1258,6 +1270,9 @@
|
||||||
TYPE_HIGH_BOUND_UNDEFINED(TYPE_INDEX_TYPE(arraytype))
|
TYPE_HIGH_BOUND_UNDEFINED(TYPE_INDEX_TYPE(arraytype))
|
||||||
#define TYPE_ARRAY_LOWER_BOUND_IS_UNDEFINED(arraytype) \
|
#define TYPE_ARRAY_LOWER_BOUND_IS_UNDEFINED(arraytype) \
|
||||||
TYPE_LOW_BOUND_UNDEFINED(TYPE_INDEX_TYPE(arraytype))
|
TYPE_LOW_BOUND_UNDEFINED(TYPE_INDEX_TYPE(arraytype))
|
||||||
@ -948,7 +947,7 @@ index 2dda074..bcc9200 100644
|
|||||||
|
|
||||||
#define TYPE_ARRAY_UPPER_BOUND_VALUE(arraytype) \
|
#define TYPE_ARRAY_UPPER_BOUND_VALUE(arraytype) \
|
||||||
(TYPE_HIGH_BOUND(TYPE_INDEX_TYPE((arraytype))))
|
(TYPE_HIGH_BOUND(TYPE_INDEX_TYPE((arraytype))))
|
||||||
@@ -1783,6 +1798,7 @@ extern struct type *create_array_type_with_stride
|
@@ -1767,6 +1782,7 @@
|
||||||
|
|
||||||
extern struct type *create_range_type (struct type *, struct type *,
|
extern struct type *create_range_type (struct type *, struct type *,
|
||||||
const struct dynamic_prop *,
|
const struct dynamic_prop *,
|
||||||
@ -956,11 +955,11 @@ index 2dda074..bcc9200 100644
|
|||||||
const struct dynamic_prop *);
|
const struct dynamic_prop *);
|
||||||
|
|
||||||
extern struct type *create_array_type (struct type *, struct type *,
|
extern struct type *create_array_type (struct type *, struct type *,
|
||||||
diff --git a/gdb/parse.c b/gdb/parse.c
|
Index: gdb-7.12.50.20170207/gdb/parse.c
|
||||||
index 2b00708..992af87 100644
|
===================================================================
|
||||||
--- a/gdb/parse.c
|
--- gdb-7.12.50.20170207.orig/gdb/parse.c 2017-02-07 20:47:32.174026313 +0100
|
||||||
+++ b/gdb/parse.c
|
+++ gdb-7.12.50.20170207/gdb/parse.c 2017-02-07 20:47:33.124033529 +0100
|
||||||
@@ -1006,22 +1006,20 @@ operator_length_standard (const struct expression *expr, int endpos,
|
@@ -1007,22 +1007,20 @@
|
||||||
|
|
||||||
case OP_RANGE:
|
case OP_RANGE:
|
||||||
oplen = 3;
|
oplen = 3;
|
||||||
@ -994,11 +993,11 @@ index 2b00708..992af87 100644
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
diff --git a/gdb/rust-exp.y b/gdb/rust-exp.y
|
Index: gdb-7.12.50.20170207/gdb/rust-exp.y
|
||||||
index aeb6058..b1b9633 100644
|
===================================================================
|
||||||
--- a/gdb/rust-exp.y
|
--- gdb-7.12.50.20170207.orig/gdb/rust-exp.y 2017-02-07 20:47:32.174026313 +0100
|
||||||
+++ b/gdb/rust-exp.y
|
+++ gdb-7.12.50.20170207/gdb/rust-exp.y 2017-02-07 20:47:33.124033529 +0100
|
||||||
@@ -2429,23 +2429,17 @@ convert_ast_to_expression (struct parser_state *state,
|
@@ -2409,23 +2409,17 @@
|
||||||
|
|
||||||
case OP_RANGE:
|
case OP_RANGE:
|
||||||
{
|
{
|
||||||
@ -1025,11 +1024,11 @@ index aeb6058..b1b9633 100644
|
|||||||
}
|
}
|
||||||
write_exp_elt_opcode (state, OP_RANGE);
|
write_exp_elt_opcode (state, OP_RANGE);
|
||||||
write_exp_elt_longcst (state, kind);
|
write_exp_elt_longcst (state, kind);
|
||||||
diff --git a/gdb/rust-lang.c b/gdb/rust-lang.c
|
Index: gdb-7.12.50.20170207/gdb/rust-lang.c
|
||||||
index 17b20c6..295002f 100644
|
===================================================================
|
||||||
--- a/gdb/rust-lang.c
|
--- gdb-7.12.50.20170207.orig/gdb/rust-lang.c 2017-02-07 20:47:32.175026321 +0100
|
||||||
+++ b/gdb/rust-lang.c
|
+++ gdb-7.12.50.20170207/gdb/rust-lang.c 2017-02-07 20:47:33.125033536 +0100
|
||||||
@@ -1241,9 +1241,9 @@ rust_range (struct expression *exp, int *pos, enum noside noside)
|
@@ -1315,9 +1315,9 @@
|
||||||
kind = (enum range_type) longest_to_int (exp->elts[*pos + 1].longconst);
|
kind = (enum range_type) longest_to_int (exp->elts[*pos + 1].longconst);
|
||||||
*pos += 3;
|
*pos += 3;
|
||||||
|
|
||||||
@ -1041,7 +1040,7 @@ index 17b20c6..295002f 100644
|
|||||||
high = evaluate_subexp (NULL_TYPE, exp, pos, noside);
|
high = evaluate_subexp (NULL_TYPE, exp, pos, noside);
|
||||||
|
|
||||||
if (noside == EVAL_SKIP)
|
if (noside == EVAL_SKIP)
|
||||||
@@ -1332,7 +1332,7 @@ rust_compute_range (struct type *type, struct value *range,
|
@@ -1406,7 +1406,7 @@
|
||||||
|
|
||||||
*low = 0;
|
*low = 0;
|
||||||
*high = 0;
|
*high = 0;
|
||||||
@ -1050,7 +1049,7 @@ index 17b20c6..295002f 100644
|
|||||||
|
|
||||||
if (TYPE_NFIELDS (type) == 0)
|
if (TYPE_NFIELDS (type) == 0)
|
||||||
return;
|
return;
|
||||||
@@ -1340,15 +1340,14 @@ rust_compute_range (struct type *type, struct value *range,
|
@@ -1414,15 +1414,14 @@
|
||||||
i = 0;
|
i = 0;
|
||||||
if (strcmp (TYPE_FIELD_NAME (type, 0), "start") == 0)
|
if (strcmp (TYPE_FIELD_NAME (type, 0), "start") == 0)
|
||||||
{
|
{
|
||||||
@ -1068,7 +1067,7 @@ index 17b20c6..295002f 100644
|
|||||||
*high = value_as_long (value_field (range, i));
|
*high = value_as_long (value_field (range, i));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1363,7 +1362,7 @@ rust_subscript (struct expression *exp, int *pos, enum noside noside,
|
@@ -1437,7 +1436,7 @@
|
||||||
struct type *rhstype;
|
struct type *rhstype;
|
||||||
LONGEST low, high_bound;
|
LONGEST low, high_bound;
|
||||||
/* Initialized to appease the compiler. */
|
/* Initialized to appease the compiler. */
|
||||||
@ -1077,7 +1076,7 @@ index 17b20c6..295002f 100644
|
|||||||
LONGEST high = 0;
|
LONGEST high = 0;
|
||||||
int want_slice = 0;
|
int want_slice = 0;
|
||||||
|
|
||||||
@@ -1425,7 +1424,7 @@ rust_subscript (struct expression *exp, int *pos, enum noside noside,
|
@@ -1499,7 +1498,7 @@
|
||||||
error (_("Cannot subscript non-array type"));
|
error (_("Cannot subscript non-array type"));
|
||||||
|
|
||||||
if (want_slice
|
if (want_slice
|
||||||
@ -1086,7 +1085,7 @@ index 17b20c6..295002f 100644
|
|||||||
low = low_bound;
|
low = low_bound;
|
||||||
if (low < 0)
|
if (low < 0)
|
||||||
error (_("Index less than zero"));
|
error (_("Index less than zero"));
|
||||||
@@ -1443,7 +1442,7 @@ rust_subscript (struct expression *exp, int *pos, enum noside noside,
|
@@ -1517,7 +1516,7 @@
|
||||||
CORE_ADDR addr;
|
CORE_ADDR addr;
|
||||||
struct value *addrval, *tem;
|
struct value *addrval, *tem;
|
||||||
|
|
||||||
@ -1095,11 +1094,10 @@ index 17b20c6..295002f 100644
|
|||||||
high = high_bound;
|
high = high_bound;
|
||||||
if (high < 0)
|
if (high < 0)
|
||||||
error (_("High index less than zero"));
|
error (_("High index less than zero"));
|
||||||
diff --git a/gdb/testsuite/gdb.fortran/static-arrays.exp b/gdb/testsuite/gdb.fortran/static-arrays.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/static-arrays.exp
|
||||||
new file mode 100644
|
===================================================================
|
||||||
index 0000000..cc9ecc0
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
--- /dev/null
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/static-arrays.exp 2017-02-07 20:47:33.125033536 +0100
|
||||||
+++ b/gdb/testsuite/gdb.fortran/static-arrays.exp
|
|
||||||
@@ -0,0 +1,421 @@
|
@@ -0,0 +1,421 @@
|
||||||
+# Copyright 2015 Free Software Foundation, Inc.
|
+# Copyright 2015 Free Software Foundation, Inc.
|
||||||
+#
|
+#
|
||||||
@ -1522,11 +1520,10 @@ index 0000000..cc9ecc0
|
|||||||
+gdb_test "print ar1\(3:7\) = 42" \
|
+gdb_test "print ar1\(3:7\) = 42" \
|
||||||
+ "Invalid cast." \
|
+ "Invalid cast." \
|
||||||
+ "Assignment of value to subarray"
|
+ "Assignment of value to subarray"
|
||||||
diff --git a/gdb/testsuite/gdb.fortran/static-arrays.f90 b/gdb/testsuite/gdb.fortran/static-arrays.f90
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/static-arrays.f90
|
||||||
new file mode 100644
|
===================================================================
|
||||||
index 0000000..f22fcbe
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
--- /dev/null
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/static-arrays.f90 2017-02-07 20:47:33.125033536 +0100
|
||||||
+++ b/gdb/testsuite/gdb.fortran/static-arrays.f90
|
|
||||||
@@ -0,0 +1,55 @@
|
@@ -0,0 +1,55 @@
|
||||||
+! Copyright 2015 Free Software Foundation, Inc.
|
+! Copyright 2015 Free Software Foundation, Inc.
|
||||||
+!
|
+!
|
||||||
@ -1583,11 +1580,11 @@ index 0000000..f22fcbe
|
|||||||
+program testprog
|
+program testprog
|
||||||
+ call sub
|
+ call sub
|
||||||
+end
|
+end
|
||||||
diff --git a/gdb/testsuite/gdb.fortran/vla-ptype.exp b/gdb/testsuite/gdb.fortran/vla-ptype.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/vla-ptype.exp
|
||||||
index 175661f..544d40a 100644
|
===================================================================
|
||||||
--- a/gdb/testsuite/gdb.fortran/vla-ptype.exp
|
--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.fortran/vla-ptype.exp 2017-02-07 20:47:32.176026328 +0100
|
||||||
+++ b/gdb/testsuite/gdb.fortran/vla-ptype.exp
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/vla-ptype.exp 2017-02-07 20:47:33.125033536 +0100
|
||||||
@@ -98,3 +98,7 @@ gdb_test "ptype vla2" "type = <not allocated>" "ptype vla2 not allocated"
|
@@ -98,3 +98,7 @@
|
||||||
gdb_test "ptype vla2(5, 45, 20)" \
|
gdb_test "ptype vla2(5, 45, 20)" \
|
||||||
"no such vector element \\\(vector not allocated\\\)" \
|
"no such vector element \\\(vector not allocated\\\)" \
|
||||||
"ptype vla2(5, 45, 20) not allocated"
|
"ptype vla2(5, 45, 20) not allocated"
|
||||||
@ -1595,11 +1592,11 @@ index 175661f..544d40a 100644
|
|||||||
+gdb_breakpoint [gdb_get_line_number "vla1-neg-bounds"]
|
+gdb_breakpoint [gdb_get_line_number "vla1-neg-bounds"]
|
||||||
+gdb_continue_to_breakpoint "vla1-neg-bounds"
|
+gdb_continue_to_breakpoint "vla1-neg-bounds"
|
||||||
+gdb_test "ptype vla1" "type = $real \\(-2:1,-5:4,-3:-1\\)" "ptype vla1 negative bounds"
|
+gdb_test "ptype vla1" "type = $real \\(-2:1,-5:4,-3:-1\\)" "ptype vla1 negative bounds"
|
||||||
diff --git a/gdb/testsuite/gdb.fortran/vla-sizeof.exp b/gdb/testsuite/gdb.fortran/vla-sizeof.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/vla-sizeof.exp
|
||||||
index 8010c0a..f8258a1 100644
|
===================================================================
|
||||||
--- a/gdb/testsuite/gdb.fortran/vla-sizeof.exp
|
--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.fortran/vla-sizeof.exp 2017-02-07 20:47:32.176026328 +0100
|
||||||
+++ b/gdb/testsuite/gdb.fortran/vla-sizeof.exp
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/vla-sizeof.exp 2017-02-07 20:47:33.126033544 +0100
|
||||||
@@ -44,3 +44,7 @@ gdb_test "print sizeof(pvla)" " = 0" "print sizeof non-associated pvla"
|
@@ -44,3 +44,7 @@
|
||||||
gdb_breakpoint [gdb_get_line_number "pvla-associated"]
|
gdb_breakpoint [gdb_get_line_number "pvla-associated"]
|
||||||
gdb_continue_to_breakpoint "pvla-associated"
|
gdb_continue_to_breakpoint "pvla-associated"
|
||||||
gdb_test "print sizeof(pvla)" " = 4000" "print sizeof associated pvla"
|
gdb_test "print sizeof(pvla)" " = 4000" "print sizeof associated pvla"
|
||||||
@ -1607,11 +1604,10 @@ index 8010c0a..f8258a1 100644
|
|||||||
+gdb_breakpoint [gdb_get_line_number "vla1-neg-bounds"]
|
+gdb_breakpoint [gdb_get_line_number "vla1-neg-bounds"]
|
||||||
+gdb_continue_to_breakpoint "vla1-neg-bounds"
|
+gdb_continue_to_breakpoint "vla1-neg-bounds"
|
||||||
+gdb_test "print sizeof(vla1)" " = 480" "print sizeof vla1 negative bounds"
|
+gdb_test "print sizeof(vla1)" " = 480" "print sizeof vla1 negative bounds"
|
||||||
diff --git a/gdb/testsuite/gdb.fortran/vla-stride.exp b/gdb/testsuite/gdb.fortran/vla-stride.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/vla-stride.exp
|
||||||
new file mode 100644
|
===================================================================
|
||||||
index 0000000..dcf15e5
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
--- /dev/null
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/vla-stride.exp 2017-02-07 20:47:33.126033544 +0100
|
||||||
+++ b/gdb/testsuite/gdb.fortran/vla-stride.exp
|
|
||||||
@@ -0,0 +1,44 @@
|
@@ -0,0 +1,44 @@
|
||||||
+# Copyright 2016 Free Software Foundation, Inc.
|
+# Copyright 2016 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
@ -1657,11 +1653,10 @@ index 0000000..dcf15e5
|
|||||||
+gdb_continue_to_breakpoint "single-element"
|
+gdb_continue_to_breakpoint "single-element"
|
||||||
+gdb_test "print pvla" " = \\\(5\\\)" "print single-element"
|
+gdb_test "print pvla" " = \\\(5\\\)" "print single-element"
|
||||||
+gdb_test "print pvla(1)" " = 5" "print one single-element"
|
+gdb_test "print pvla(1)" " = 5" "print one single-element"
|
||||||
diff --git a/gdb/testsuite/gdb.fortran/vla-stride.f90 b/gdb/testsuite/gdb.fortran/vla-stride.f90
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/vla-stride.f90
|
||||||
new file mode 100644
|
===================================================================
|
||||||
index 0000000..8d24252
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
--- /dev/null
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/vla-stride.f90 2017-02-07 20:47:33.126033544 +0100
|
||||||
+++ b/gdb/testsuite/gdb.fortran/vla-stride.f90
|
|
||||||
@@ -0,0 +1,29 @@
|
@@ -0,0 +1,29 @@
|
||||||
+! Copyright 2016 Free Software Foundation, Inc.
|
+! Copyright 2016 Free Software Foundation, Inc.
|
||||||
+!
|
+!
|
||||||
@ -1692,11 +1687,11 @@ index 0000000..8d24252
|
|||||||
+
|
+
|
||||||
+ pvla => null() ! single-element
|
+ pvla => null() ! single-element
|
||||||
+end program vla_stride
|
+end program vla_stride
|
||||||
diff --git a/gdb/testsuite/gdb.fortran/vla.f90 b/gdb/testsuite/gdb.fortran/vla.f90
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/vla.f90
|
||||||
index c76d24c..ef307b7 100644
|
===================================================================
|
||||||
--- a/gdb/testsuite/gdb.fortran/vla.f90
|
--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.fortran/vla.f90 2017-02-07 20:47:32.176026328 +0100
|
||||||
+++ b/gdb/testsuite/gdb.fortran/vla.f90
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/vla.f90 2017-02-07 20:47:33.126033544 +0100
|
||||||
@@ -54,4 +54,14 @@ program vla
|
@@ -54,4 +54,14 @@
|
||||||
|
|
||||||
allocate (vla3 (2,2)) ! vla2-deallocated
|
allocate (vla3 (2,2)) ! vla2-deallocated
|
||||||
vla3(:,:) = 13
|
vla3(:,:) = 13
|
||||||
@ -1711,35 +1706,34 @@ index c76d24c..ef307b7 100644
|
|||||||
+ l = allocated(vla1)
|
+ l = allocated(vla1)
|
||||||
+
|
+
|
||||||
end program vla
|
end program vla
|
||||||
diff --git a/gdb/valarith.c b/gdb/valarith.c
|
Index: gdb-7.12.50.20170207/gdb/valarith.c
|
||||||
index de6fcfd..9753506 100644
|
===================================================================
|
||||||
--- a/gdb/valarith.c
|
--- gdb-7.12.50.20170207.orig/gdb/valarith.c 2017-02-07 20:47:33.126033544 +0100
|
||||||
+++ b/gdb/valarith.c
|
+++ gdb-7.12.50.20170207/gdb/valarith.c 2017-02-07 20:48:29.114458788 +0100
|
||||||
@@ -193,11 +193,17 @@ value_subscripted_rvalue (struct value *array, LONGEST index, int lowerbound)
|
@@ -193,10 +193,16 @@
|
||||||
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));
|
||||||
ULONGEST elt_size = type_length_units (elt_type);
|
ULONGEST elt_size = type_length_units (elt_type);
|
||||||
- ULONGEST elt_offs = elt_size * (index - lowerbound);
|
- ULONGEST elt_offs = elt_size * (index - lowerbound);
|
||||||
+ LONGEST elt_offs = index - lowerbound;
|
+ LONGEST elt_offs = index - lowerbound;
|
||||||
+ LONGEST elt_stride = TYPE_BYTE_STRIDE (TYPE_INDEX_TYPE (array_type));
|
+ LONGEST elt_stride = TYPE_BYTE_STRIDE (TYPE_INDEX_TYPE (array_type));
|
||||||
struct value *v;
|
+
|
||||||
|
|
||||||
+ if (elt_stride != 0)
|
+ if (elt_stride != 0)
|
||||||
+ elt_offs *= elt_stride;
|
+ elt_offs *= elt_stride;
|
||||||
+ else
|
+ else
|
||||||
+ elt_offs *= elt_size;
|
+ elt_offs *= elt_size;
|
||||||
+
|
|
||||||
if (index < lowerbound || (!TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED (array_type)
|
if (index < lowerbound || (!TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED (array_type)
|
||||||
- && elt_offs >= type_length_units (array_type)))
|
- && elt_offs >= type_length_units (array_type)))
|
||||||
+ && abs (elt_offs) >= type_length_units (array_type)))
|
+ && abs (elt_offs) >= type_length_units (array_type)))
|
||||||
{
|
{
|
||||||
if (type_not_associated (array_type))
|
if (type_not_associated (array_type))
|
||||||
error (_("no such vector element (vector not associated)"));
|
error (_("no such vector element (vector not associated)"));
|
||||||
diff --git a/gdb/valops.c b/gdb/valops.c
|
Index: gdb-7.12.50.20170207/gdb/valops.c
|
||||||
index 40392e8..24ffacb 100644
|
===================================================================
|
||||||
--- a/gdb/valops.c
|
--- gdb-7.12.50.20170207.orig/gdb/valops.c 2017-02-07 20:47:33.127033551 +0100
|
||||||
+++ b/gdb/valops.c
|
+++ gdb-7.12.50.20170207/gdb/valops.c 2017-02-07 20:50:24.909338275 +0100
|
||||||
@@ -3775,56 +3775,191 @@ value_of_this_silent (const struct language_defn *lang)
|
@@ -3782,55 +3782,190 @@
|
||||||
struct value *
|
struct value *
|
||||||
value_slice (struct value *array, int lowbound, int length)
|
value_slice (struct value *array, int lowbound, int length)
|
||||||
{
|
{
|
||||||
@ -1789,6 +1783,10 @@ index 40392e8..24ffacb 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));
|
||||||
+
|
+
|
||||||
@ -1814,10 +1812,7 @@ index 40392e8..24ffacb 100644
|
|||||||
+
|
+
|
||||||
+ elt_size = TYPE_LENGTH (elt_type);
|
+ elt_size = TYPE_LENGTH (elt_type);
|
||||||
+ elt_offs = lowbound - ary_low_bound;
|
+ elt_offs = lowbound - ary_low_bound;
|
||||||
|
+
|
||||||
- if (lowbound < lowerbound || length < 0
|
|
||||||
- || lowbound + length - 1 > upperbound)
|
|
||||||
- error (_("slice out of range"));
|
|
||||||
+ elt_offs *= elt_size;
|
+ elt_offs *= elt_size;
|
||||||
+
|
+
|
||||||
+ /* Check for valid user input. In case of Fortran this was already done
|
+ /* Check for valid user input. In case of Fortran this was already done
|
||||||
@ -1864,8 +1859,15 @@ index 40392e8..24ffacb 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;
|
||||||
+
|
|
||||||
|
- if (VALUE_LVAL (array) == lval_memory && value_lazy (array))
|
||||||
|
- slice = allocate_value_lazy (slice_type);
|
||||||
+ /* When both CALL_COUNT and STRIDE_LENGTH equal 1, we can use the legacy
|
+ /* When both CALL_COUNT and STRIDE_LENGTH equal 1, we can use the legacy
|
||||||
+ code for subarrays. */
|
+ code for subarrays. */
|
||||||
+ if (call_count == 1 && stride_length == 1)
|
+ if (call_count == 1 && stride_length == 1)
|
||||||
@ -1873,15 +1875,9 @@ index 40392e8..24ffacb 100644
|
|||||||
+ element_type = TYPE_TARGET_TYPE (array_type);
|
+ element_type = TYPE_TARGET_TYPE (array_type);
|
||||||
+
|
+
|
||||||
+ slice_type = create_array_type (NULL, element_type, slice_range_type);
|
+ slice_type = create_array_type (NULL, element_type, slice_range_type);
|
||||||
|
+
|
||||||
- slice_type = create_array_type ((struct type *) NULL,
|
|
||||||
- element_type,
|
|
||||||
- slice_range_type);
|
|
||||||
- TYPE_CODE (slice_type) = TYPE_CODE (array_type);
|
|
||||||
+ TYPE_CODE (slice_type) = TYPE_CODE (array_type);
|
+ TYPE_CODE (slice_type) = TYPE_CODE (array_type);
|
||||||
|
+
|
||||||
- if (VALUE_LVAL (array) == lval_memory && value_lazy (array))
|
|
||||||
- slice = allocate_value_lazy (slice_type);
|
|
||||||
+ if (VALUE_LVAL (array) == lval_memory && value_lazy (array))
|
+ if (VALUE_LVAL (array) == lval_memory && value_lazy (array))
|
||||||
+ v = allocate_value_lazy (slice_type);
|
+ v = allocate_value_lazy (slice_type);
|
||||||
+ else
|
+ else
|
||||||
@ -1949,11 +1945,9 @@ index 40392e8..24ffacb 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
- set_value_component_location (slice, array);
|
- set_value_component_location (slice, array);
|
||||||
- VALUE_FRAME_ID (slice) = VALUE_FRAME_ID (array);
|
|
||||||
- set_value_offset (slice, value_offset (array) + offset);
|
- set_value_offset (slice, value_offset (array) + offset);
|
||||||
+ set_value_component_location (v, array);
|
+ set_value_component_location (v, array);
|
||||||
+ VALUE_REGNUM (v) = VALUE_REGNUM (array);
|
+ VALUE_REGNUM (v) = VALUE_REGNUM (array);
|
||||||
+ VALUE_FRAME_ID (v) = VALUE_FRAME_ID (array);
|
|
||||||
+ set_value_offset (v, value_offset (array) + elt_offs);
|
+ set_value_offset (v, value_offset (array) + elt_offs);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1962,11 +1956,11 @@ index 40392e8..24ffacb 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.12.50.20170207/gdb/value.h
|
||||||
index 0b417b4..9c37713 100644
|
===================================================================
|
||||||
--- a/gdb/value.h
|
--- gdb-7.12.50.20170207.orig/gdb/value.h 2017-02-07 20:47:32.178026343 +0100
|
||||||
+++ b/gdb/value.h
|
+++ gdb-7.12.50.20170207/gdb/value.h 2017-02-07 20:47:33.128033559 +0100
|
||||||
@@ -1057,6 +1057,8 @@ extern struct value *varying_to_slice (struct value *);
|
@@ -1106,6 +1106,8 @@
|
||||||
|
|
||||||
extern struct value *value_slice (struct value *, int, int);
|
extern struct value *value_slice (struct value *, int, int);
|
||||||
|
|
||||||
|
@ -23,24 +23,24 @@ git diff --stat -p gdb/master...gdb/users/bheckel/fortran-vla-strings
|
|||||||
gdb/valprint.c | 6 --
|
gdb/valprint.c | 6 --
|
||||||
20 files changed, 827 insertions(+), 110 deletions(-)
|
20 files changed, 827 insertions(+), 110 deletions(-)
|
||||||
|
|
||||||
Index: gdb-7.11.90.20160907/gdb/NEWS
|
Index: gdb-7.12.50.20170207/gdb/NEWS
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.90.20160907.orig/gdb/NEWS 2016-09-07 21:52:10.273563060 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/NEWS 2017-02-07 20:53:48.851887262 +0100
|
||||||
+++ gdb-7.11.90.20160907/gdb/NEWS 2016-09-07 21:53:22.708210416 +0200
|
+++ gdb-7.12.50.20170207/gdb/NEWS 2017-02-07 20:53:54.437929689 +0100
|
||||||
@@ -1,6 +1,8 @@
|
@@ -73,6 +73,8 @@
|
||||||
What has changed in GDB?
|
Erases all the flash memory regions reported by the target. This is
|
||||||
(Organized release by release)
|
equivalent to the CLI command flash-erase.
|
||||||
|
|
||||||
+* Fortran: Support pointers to dynamic types.
|
+* Fortran: Support pointers to dynamic types.
|
||||||
+
|
+
|
||||||
*** Changes in GDB 7.12
|
*** Changes in GDB 7.12
|
||||||
|
|
||||||
* GDB and GDBserver now build with a C++ compiler by default.
|
* GDB and GDBserver now build with a C++ compiler by default.
|
||||||
Index: gdb-7.11.90.20160907/gdb/c-valprint.c
|
Index: gdb-7.12.50.20170207/gdb/c-valprint.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.90.20160907.orig/gdb/c-valprint.c 2016-09-07 21:52:10.272563051 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/c-valprint.c 2017-02-07 20:53:48.851887262 +0100
|
||||||
+++ gdb-7.11.90.20160907/gdb/c-valprint.c 2016-09-07 21:53:22.708210416 +0200
|
+++ gdb-7.12.50.20170207/gdb/c-valprint.c 2017-02-07 20:53:54.437929689 +0100
|
||||||
@@ -645,6 +645,28 @@
|
@@ -646,6 +646,28 @@
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* normal case */
|
/* normal case */
|
||||||
@ -69,11 +69,11 @@ Index: gdb-7.11.90.20160907/gdb/c-valprint.c
|
|||||||
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, ") ");
|
||||||
Index: gdb-7.11.90.20160907/gdb/dwarf2read.c
|
Index: gdb-7.12.50.20170207/gdb/dwarf2read.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.90.20160907.orig/gdb/dwarf2read.c 2016-09-07 21:52:53.700951175 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/dwarf2read.c 2017-02-07 20:53:48.862887345 +0100
|
||||||
+++ gdb-7.11.90.20160907/gdb/dwarf2read.c 2016-09-07 21:54:02.140562825 +0200
|
+++ gdb-7.12.50.20170207/gdb/dwarf2read.c 2017-02-07 20:53:54.442929727 +0100
|
||||||
@@ -1764,7 +1764,8 @@
|
@@ -1768,7 +1768,8 @@
|
||||||
|
|
||||||
static int attr_to_dynamic_prop (const struct attribute *attr,
|
static int attr_to_dynamic_prop (const struct attribute *attr,
|
||||||
struct die_info *die, struct dwarf2_cu *cu,
|
struct die_info *die, struct dwarf2_cu *cu,
|
||||||
@ -83,7 +83,7 @@ Index: gdb-7.11.90.20160907/gdb/dwarf2read.c
|
|||||||
|
|
||||||
/* memory allocation interface */
|
/* memory allocation interface */
|
||||||
|
|
||||||
@@ -11446,7 +11447,7 @@
|
@@ -11399,7 +11400,7 @@
|
||||||
{
|
{
|
||||||
newobj->static_link
|
newobj->static_link
|
||||||
= XOBNEW (&objfile->objfile_obstack, struct dynamic_prop);
|
= XOBNEW (&objfile->objfile_obstack, struct dynamic_prop);
|
||||||
@ -92,7 +92,7 @@ Index: gdb-7.11.90.20160907/gdb/dwarf2read.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
cu->list_in_scope = &local_symbols;
|
cu->list_in_scope = &local_symbols;
|
||||||
@@ -14512,29 +14513,94 @@
|
@@ -14460,29 +14461,94 @@
|
||||||
struct gdbarch *gdbarch = get_objfile_arch (objfile);
|
struct gdbarch *gdbarch = get_objfile_arch (objfile);
|
||||||
struct type *type, *range_type, *index_type, *char_type;
|
struct type *type, *range_type, *index_type, *char_type;
|
||||||
struct attribute *attr;
|
struct attribute *attr;
|
||||||
@ -198,7 +198,7 @@ Index: gdb-7.11.90.20160907/gdb/dwarf2read.c
|
|||||||
char_type = language_string_char_type (cu->language_defn, gdbarch);
|
char_type = language_string_char_type (cu->language_defn, gdbarch);
|
||||||
type = create_string_type (NULL, char_type, range_type);
|
type = create_string_type (NULL, char_type, range_type);
|
||||||
|
|
||||||
@@ -14864,7 +14930,8 @@
|
@@ -14819,7 +14885,8 @@
|
||||||
|
|
||||||
static int
|
static int
|
||||||
attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die,
|
attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die,
|
||||||
@ -208,7 +208,7 @@ Index: gdb-7.11.90.20160907/gdb/dwarf2read.c
|
|||||||
{
|
{
|
||||||
struct dwarf2_property_baton *baton;
|
struct dwarf2_property_baton *baton;
|
||||||
struct obstack *obstack = &cu->objfile->objfile_obstack;
|
struct obstack *obstack = &cu->objfile->objfile_obstack;
|
||||||
@@ -14874,14 +14941,33 @@
|
@@ -14829,14 +14896,33 @@
|
||||||
|
|
||||||
if (attr_form_is_block (attr))
|
if (attr_form_is_block (attr))
|
||||||
{
|
{
|
||||||
@ -246,7 +246,7 @@ Index: gdb-7.11.90.20160907/gdb/dwarf2read.c
|
|||||||
}
|
}
|
||||||
else if (attr_form_is_ref (attr))
|
else if (attr_form_is_ref (attr))
|
||||||
{
|
{
|
||||||
@@ -14914,8 +15000,28 @@
|
@@ -14869,8 +14955,28 @@
|
||||||
baton = XOBNEW (obstack, struct dwarf2_property_baton);
|
baton = XOBNEW (obstack, struct dwarf2_property_baton);
|
||||||
baton->referenced_type = die_type (target_die, target_cu);
|
baton->referenced_type = die_type (target_die, target_cu);
|
||||||
baton->locexpr.per_cu = cu->per_cu;
|
baton->locexpr.per_cu = cu->per_cu;
|
||||||
@ -277,7 +277,7 @@ Index: gdb-7.11.90.20160907/gdb/dwarf2read.c
|
|||||||
prop->data.baton = baton;
|
prop->data.baton = baton;
|
||||||
prop->kind = PROP_LOCEXPR;
|
prop->kind = PROP_LOCEXPR;
|
||||||
gdb_assert (prop->data.baton != NULL);
|
gdb_assert (prop->data.baton != NULL);
|
||||||
@@ -15027,24 +15133,24 @@
|
@@ -14981,24 +15087,24 @@
|
||||||
|
|
||||||
attr = dwarf2_attr (die, DW_AT_byte_stride, cu);
|
attr = dwarf2_attr (die, DW_AT_byte_stride, cu);
|
||||||
if (attr)
|
if (attr)
|
||||||
@ -306,7 +306,7 @@ Index: gdb-7.11.90.20160907/gdb/dwarf2read.c
|
|||||||
{
|
{
|
||||||
/* If bounds are constant do the final calculation here. */
|
/* If bounds are constant do the final calculation here. */
|
||||||
if (low.kind == PROP_CONST && high.kind == PROP_CONST)
|
if (low.kind == PROP_CONST && high.kind == PROP_CONST)
|
||||||
@@ -22416,7 +22522,7 @@
|
@@ -22333,7 +22439,7 @@
|
||||||
attr = dwarf2_attr (die, DW_AT_allocated, cu);
|
attr = dwarf2_attr (die, DW_AT_allocated, cu);
|
||||||
if (attr_form_is_block (attr))
|
if (attr_form_is_block (attr))
|
||||||
{
|
{
|
||||||
@ -315,7 +315,7 @@ Index: gdb-7.11.90.20160907/gdb/dwarf2read.c
|
|||||||
add_dyn_prop (DYN_PROP_ALLOCATED, prop, type, objfile);
|
add_dyn_prop (DYN_PROP_ALLOCATED, prop, type, objfile);
|
||||||
}
|
}
|
||||||
else if (attr != NULL)
|
else if (attr != NULL)
|
||||||
@@ -22431,7 +22537,7 @@
|
@@ -22348,7 +22454,7 @@
|
||||||
attr = dwarf2_attr (die, DW_AT_associated, cu);
|
attr = dwarf2_attr (die, DW_AT_associated, cu);
|
||||||
if (attr_form_is_block (attr))
|
if (attr_form_is_block (attr))
|
||||||
{
|
{
|
||||||
@ -324,7 +324,7 @@ Index: gdb-7.11.90.20160907/gdb/dwarf2read.c
|
|||||||
add_dyn_prop (DYN_PROP_ASSOCIATED, prop, type, objfile);
|
add_dyn_prop (DYN_PROP_ASSOCIATED, prop, type, objfile);
|
||||||
}
|
}
|
||||||
else if (attr != NULL)
|
else if (attr != NULL)
|
||||||
@@ -22444,7 +22550,7 @@
|
@@ -22361,7 +22467,7 @@
|
||||||
|
|
||||||
/* Read DW_AT_data_location and set in type. */
|
/* Read DW_AT_data_location and set in type. */
|
||||||
attr = dwarf2_attr (die, DW_AT_data_location, cu);
|
attr = dwarf2_attr (die, DW_AT_data_location, cu);
|
||||||
@ -333,10 +333,10 @@ Index: gdb-7.11.90.20160907/gdb/dwarf2read.c
|
|||||||
add_dyn_prop (DYN_PROP_DATA_LOCATION, prop, type, objfile);
|
add_dyn_prop (DYN_PROP_DATA_LOCATION, prop, type, objfile);
|
||||||
|
|
||||||
if (dwarf2_per_objfile->die_type_hash == NULL)
|
if (dwarf2_per_objfile->die_type_hash == NULL)
|
||||||
Index: gdb-7.11.90.20160907/gdb/f-typeprint.c
|
Index: gdb-7.12.50.20170207/gdb/f-typeprint.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.90.20160907.orig/gdb/f-typeprint.c 2016-09-07 21:52:10.272563051 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/f-typeprint.c 2017-02-07 20:53:48.863887353 +0100
|
||||||
+++ gdb-7.11.90.20160907/gdb/f-typeprint.c 2016-09-07 21:53:22.713210461 +0200
|
+++ gdb-7.12.50.20170207/gdb/f-typeprint.c 2017-02-07 20:53:54.443929734 +0100
|
||||||
@@ -37,7 +37,7 @@
|
@@ -37,7 +37,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -486,11 +486,11 @@ Index: gdb-7.11.90.20160907/gdb/f-typeprint.c
|
|||||||
fputs_filtered ("\n", stream);
|
fputs_filtered ("\n", stream);
|
||||||
}
|
}
|
||||||
fprintfi_filtered (level, stream, "End Type ");
|
fprintfi_filtered (level, stream, "End Type ");
|
||||||
Index: gdb-7.11.90.20160907/gdb/gdbtypes.c
|
Index: gdb-7.12.50.20170207/gdb/gdbtypes.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.90.20160907.orig/gdb/gdbtypes.c 2016-09-07 21:52:53.703951202 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/gdbtypes.c 2017-02-07 20:53:48.865887368 +0100
|
||||||
+++ gdb-7.11.90.20160907/gdb/gdbtypes.c 2016-09-07 21:53:22.714210470 +0200
|
+++ gdb-7.12.50.20170207/gdb/gdbtypes.c 2017-02-07 20:53:54.444929742 +0100
|
||||||
@@ -1816,7 +1816,8 @@
|
@@ -1814,7 +1814,8 @@
|
||||||
type = check_typedef (type);
|
type = check_typedef (type);
|
||||||
|
|
||||||
/* We only want to recognize references at the outermost level. */
|
/* We only want to recognize references at the outermost level. */
|
||||||
@ -500,7 +500,7 @@ Index: gdb-7.11.90.20160907/gdb/gdbtypes.c
|
|||||||
type = check_typedef (TYPE_TARGET_TYPE (type));
|
type = check_typedef (TYPE_TARGET_TYPE (type));
|
||||||
|
|
||||||
/* Types that have a dynamic TYPE_DATA_LOCATION are considered
|
/* Types that have a dynamic TYPE_DATA_LOCATION are considered
|
||||||
@@ -1850,6 +1851,7 @@
|
@@ -1848,6 +1849,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
case TYPE_CODE_ARRAY:
|
case TYPE_CODE_ARRAY:
|
||||||
@ -508,7 +508,7 @@ Index: gdb-7.11.90.20160907/gdb/gdbtypes.c
|
|||||||
{
|
{
|
||||||
gdb_assert (TYPE_NFIELDS (type) == 1);
|
gdb_assert (TYPE_NFIELDS (type) == 1);
|
||||||
|
|
||||||
@@ -1962,7 +1964,8 @@
|
@@ -1960,7 +1962,8 @@
|
||||||
struct type *ary_dim;
|
struct type *ary_dim;
|
||||||
struct dynamic_prop *prop;
|
struct dynamic_prop *prop;
|
||||||
|
|
||||||
@ -518,7 +518,7 @@ Index: gdb-7.11.90.20160907/gdb/gdbtypes.c
|
|||||||
|
|
||||||
type = copy_type (type);
|
type = copy_type (type);
|
||||||
|
|
||||||
@@ -1987,13 +1990,17 @@
|
@@ -1985,13 +1988,17 @@
|
||||||
|
|
||||||
ary_dim = check_typedef (TYPE_TARGET_TYPE (elt_type));
|
ary_dim = check_typedef (TYPE_TARGET_TYPE (elt_type));
|
||||||
|
|
||||||
@ -539,7 +539,7 @@ Index: gdb-7.11.90.20160907/gdb/gdbtypes.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Resolve dynamic bounds of members of the union TYPE to static
|
/* Resolve dynamic bounds of members of the union TYPE to static
|
||||||
@@ -2123,6 +2130,28 @@
|
@@ -2121,6 +2128,28 @@
|
||||||
return resolved_type;
|
return resolved_type;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -568,7 +568,7 @@ Index: gdb-7.11.90.20160907/gdb/gdbtypes.c
|
|||||||
/* Worker for resolved_dynamic_type. */
|
/* Worker for resolved_dynamic_type. */
|
||||||
|
|
||||||
static struct type *
|
static struct type *
|
||||||
@@ -2171,7 +2200,12 @@
|
@@ -2169,7 +2198,12 @@
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -581,10 +581,10 @@ Index: gdb-7.11.90.20160907/gdb/gdbtypes.c
|
|||||||
resolved_type = resolve_dynamic_array (type, addr_stack);
|
resolved_type = resolve_dynamic_array (type, addr_stack);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.cp/vla-cxx.cc
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.cp/vla-cxx.cc
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.90.20160907.orig/gdb/testsuite/gdb.cp/vla-cxx.cc 2016-09-07 21:52:10.272563051 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.cp/vla-cxx.cc 2017-02-07 20:53:48.866887375 +0100
|
||||||
+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.cp/vla-cxx.cc 2016-09-07 21:53:22.714210470 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.cp/vla-cxx.cc 2017-02-07 20:53:54.444929742 +0100
|
||||||
@@ -15,6 +15,10 @@
|
@@ -15,6 +15,10 @@
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||||
@ -613,10 +613,10 @@ Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.cp/vla-cxx.cc
|
|||||||
+
|
+
|
||||||
return vla[2];
|
return vla[2];
|
||||||
}
|
}
|
||||||
Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.cp/vla-cxx.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.cp/vla-cxx.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.90.20160907.orig/gdb/testsuite/gdb.cp/vla-cxx.exp 2016-09-07 21:52:10.272563051 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.cp/vla-cxx.exp 2017-02-07 20:53:48.866887375 +0100
|
||||||
+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.cp/vla-cxx.exp 2016-09-07 21:53:22.715210479 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.cp/vla-cxx.exp 2017-02-07 20:53:54.444929742 +0100
|
||||||
@@ -23,6 +23,12 @@
|
@@ -23,6 +23,12 @@
|
||||||
return -1
|
return -1
|
||||||
}
|
}
|
||||||
@ -637,10 +637,10 @@ Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.cp/vla-cxx.exp
|
|||||||
+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\\}"
|
||||||
Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/pointers.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/pointers.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/pointers.exp 2016-09-07 21:53:22.715210479 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/pointers.exp 2017-02-07 20:53:54.444929742 +0100
|
||||||
@@ -0,0 +1,143 @@
|
@@ -0,0 +1,143 @@
|
||||||
+# Copyright 2016 Free Software Foundation, Inc.
|
+# Copyright 2016 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
@ -785,10 +785,10 @@ Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/pointers.exp
|
|||||||
+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"
|
||||||
Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/pointers.f90
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/pointers.f90
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/pointers.f90 2016-09-07 21:53:22.715210479 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/pointers.f90 2017-02-07 20:53:54.445929749 +0100
|
||||||
@@ -0,0 +1,109 @@
|
@@ -0,0 +1,109 @@
|
||||||
+! Copyright 2016 Free Software Foundation, Inc.
|
+! Copyright 2016 Free Software Foundation, Inc.
|
||||||
+!
|
+!
|
||||||
@ -899,10 +899,10 @@ Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/pointers.f90
|
|||||||
+ intv = intv + 1 ! After value assignment
|
+ intv = intv + 1 ! After value assignment
|
||||||
+
|
+
|
||||||
+end program pointers
|
+end program pointers
|
||||||
Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/print_type.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/print_type.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/print_type.exp 2016-09-07 21:53:22.715210479 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/print_type.exp 2017-02-07 20:53:54.445929749 +0100
|
||||||
@@ -0,0 +1,100 @@
|
@@ -0,0 +1,100 @@
|
||||||
+# Copyright 2016 Free Software Foundation, Inc.
|
+# Copyright 2016 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
@ -1004,10 +1004,10 @@ Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/print_type.exp
|
|||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
+gdb_test "ptype realp" "type = PTR TO -> \\( $real \\)"
|
+gdb_test "ptype realp" "type = PTR TO -> \\( $real \\)"
|
||||||
Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-ptype.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/vla-ptype.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.90.20160907.orig/gdb/testsuite/gdb.fortran/vla-ptype.exp 2016-09-07 21:52:53.705951220 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.fortran/vla-ptype.exp 2017-02-07 20:53:48.867887383 +0100
|
||||||
+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-ptype.exp 2016-09-07 21:53:22.715210479 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/vla-ptype.exp 2017-02-07 20:53:54.445929749 +0100
|
||||||
@@ -32,9 +32,9 @@
|
@@ -32,9 +32,9 @@
|
||||||
# Check the ptype of various VLA states and pointer to VLA's.
|
# Check the ptype of various VLA states and pointer to VLA's.
|
||||||
gdb_breakpoint [gdb_get_line_number "vla1-init"]
|
gdb_breakpoint [gdb_get_line_number "vla1-init"]
|
||||||
@ -1045,10 +1045,10 @@ Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-ptype.exp
|
|||||||
gdb_test "ptype vla2(5, 45, 20)" \
|
gdb_test "ptype vla2(5, 45, 20)" \
|
||||||
"no such vector element \\\(vector not allocated\\\)" \
|
"no such vector element \\\(vector not allocated\\\)" \
|
||||||
"ptype vla2(5, 45, 20) not allocated"
|
"ptype vla2(5, 45, 20) not allocated"
|
||||||
Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-strings.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/vla-strings.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-strings.exp 2016-09-07 21:53:22.716210488 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/vla-strings.exp 2017-02-07 20:53:54.445929749 +0100
|
||||||
@@ -0,0 +1,103 @@
|
@@ -0,0 +1,103 @@
|
||||||
+# Copyright 2016 Free Software Foundation, Inc.
|
+# Copyright 2016 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
@ -1153,10 +1153,10 @@ Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-strings.exp
|
|||||||
+ pass $test
|
+ pass $test
|
||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-strings.f90
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/vla-strings.f90
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-strings.f90 2016-09-07 21:53:22.716210488 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/vla-strings.f90 2017-02-07 20:53:54.445929749 +0100
|
||||||
@@ -0,0 +1,39 @@
|
@@ -0,0 +1,39 @@
|
||||||
+! Copyright 2016 Free Software Foundation, Inc.
|
+! Copyright 2016 Free Software Foundation, Inc.
|
||||||
+!
|
+!
|
||||||
@ -1197,10 +1197,10 @@ Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-strings.f90
|
|||||||
+ var_char_p => null()
|
+ var_char_p => null()
|
||||||
+ l = associated(var_char_p) ! var_char_p-not-associated
|
+ l = associated(var_char_p) ! var_char_p-not-associated
|
||||||
+end program vla_strings
|
+end program vla_strings
|
||||||
Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-type.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/vla-type.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.90.20160907.orig/gdb/testsuite/gdb.fortran/vla-type.exp 2016-09-07 21:52:10.272563051 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.fortran/vla-type.exp 2017-02-07 20:53:48.867887383 +0100
|
||||||
+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-type.exp 2016-09-07 21:53:22.716210488 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/vla-type.exp 2017-02-07 20:53:54.446929757 +0100
|
||||||
@@ -132,7 +132,10 @@
|
@@ -132,7 +132,10 @@
|
||||||
"End Type one" ]
|
"End Type one" ]
|
||||||
|
|
||||||
@ -1222,17 +1222,17 @@ Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-type.exp
|
|||||||
"End Type one" ] \
|
"End Type one" ] \
|
||||||
"ptype fivedynarr(2)%tone, not allocated"
|
"ptype fivedynarr(2)%tone, not allocated"
|
||||||
|
|
||||||
Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-value.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/vla-value.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.90.20160907.orig/gdb/testsuite/gdb.fortran/vla-value.exp 2016-09-07 21:52:10.272563051 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.fortran/vla-value.exp 2017-02-07 20:53:48.868887391 +0100
|
||||||
+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-value.exp 2016-09-07 21:53:22.716210488 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/vla-value.exp 2017-02-07 20:53:54.446929757 +0100
|
||||||
@@ -14,6 +14,7 @@
|
@@ -14,6 +14,7 @@
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
standard_testfile "vla.f90"
|
standard_testfile "vla.f90"
|
||||||
+load_lib "fortran.exp"
|
+load_lib "fortran.exp"
|
||||||
|
|
||||||
if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \
|
if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \
|
||||||
{debug f90 quiet}] } {
|
{debug f90 quiet}] } {
|
||||||
@@ -25,12 +26,15 @@
|
@@ -25,12 +26,15 @@
|
||||||
return -1
|
return -1
|
||||||
@ -1278,10 +1278,10 @@ Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-value.exp
|
|||||||
"print associated &pvla"
|
"print associated &pvla"
|
||||||
gdb_test "print pvla(3, 6, 9)" " = 42" "print associated pvla(3,6,9)"
|
gdb_test "print pvla(3, 6, 9)" " = 42" "print associated pvla(3,6,9)"
|
||||||
gdb_test "print pvla(1, 3, 8)" " = 1001" "print associated pvla(1,3,8)"
|
gdb_test "print pvla(1, 3, 8)" " = 1001" "print associated pvla(1,3,8)"
|
||||||
Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.mi/mi-var-child-f.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi-var-child-f.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.90.20160907.orig/gdb/testsuite/gdb.mi/mi-var-child-f.exp 2016-09-07 21:52:10.272563051 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.mi/mi-var-child-f.exp 2017-02-07 20:53:48.868887391 +0100
|
||||||
+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.mi/mi-var-child-f.exp 2016-09-07 21:53:22.716210488 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi-var-child-f.exp 2017-02-07 20:53:54.446929757 +0100
|
||||||
@@ -17,6 +17,7 @@
|
@@ -17,6 +17,7 @@
|
||||||
|
|
||||||
load_lib mi-support.exp
|
load_lib mi-support.exp
|
||||||
@ -1303,10 +1303,10 @@ Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.mi/mi-var-child-f.exp
|
|||||||
|
|
||||||
set children [list [list "array.-1" "-1" 2 "$int4 \\(2\\)"] \
|
set children [list [list "array.-1" "-1" 2 "$int4 \\(2\\)"] \
|
||||||
[list "array.0" "0" 2 "$int4 \\(2\\)"] \
|
[list "array.0" "0" 2 "$int4 \\(2\\)"] \
|
||||||
Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.mi/mi-vla-fortran.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi-vla-fortran.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.90.20160907.orig/gdb/testsuite/gdb.mi/mi-vla-fortran.exp 2016-09-07 21:52:10.272563051 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.mi/mi-vla-fortran.exp 2017-02-07 20:53:48.868887391 +0100
|
||||||
+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.mi/mi-vla-fortran.exp 2016-09-07 21:53:22.716210488 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi-vla-fortran.exp 2017-02-07 20:53:54.446929757 +0100
|
||||||
@@ -17,7 +17,9 @@
|
@@ -17,7 +17,9 @@
|
||||||
# Array (VLA).
|
# Array (VLA).
|
||||||
|
|
||||||
@ -1405,11 +1405,11 @@ Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.mi/mi-vla-fortran.exp
|
|||||||
"info type variable pvla2_associated"
|
"info type variable pvla2_associated"
|
||||||
mi_gdb_test "592-var-show-format pvla2_associated" \
|
mi_gdb_test "592-var-show-format pvla2_associated" \
|
||||||
"592\\^done,format=\"natural\"" \
|
"592\\^done,format=\"natural\"" \
|
||||||
Index: gdb-7.11.90.20160907/gdb/typeprint.c
|
Index: gdb-7.12.50.20170207/gdb/typeprint.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.90.20160907.orig/gdb/typeprint.c 2016-09-07 21:52:10.272563051 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/typeprint.c 2017-02-07 20:53:48.869887398 +0100
|
||||||
+++ gdb-7.11.90.20160907/gdb/typeprint.c 2016-09-07 21:53:22.717210497 +0200
|
+++ gdb-7.12.50.20170207/gdb/typeprint.c 2017-02-07 20:53:54.446929757 +0100
|
||||||
@@ -485,6 +485,25 @@
|
@@ -475,6 +475,25 @@
|
||||||
printf_filtered (" */\n");
|
printf_filtered (" */\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1435,11 +1435,11 @@ Index: gdb-7.11.90.20160907/gdb/typeprint.c
|
|||||||
LA_PRINT_TYPE (type, "", gdb_stdout, show, 0, &flags);
|
LA_PRINT_TYPE (type, "", gdb_stdout, show, 0, &flags);
|
||||||
printf_filtered ("\n");
|
printf_filtered ("\n");
|
||||||
|
|
||||||
Index: gdb-7.11.90.20160907/gdb/valops.c
|
Index: gdb-7.12.50.20170207/gdb/valops.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.90.20160907.orig/gdb/valops.c 2016-09-07 21:52:53.707951238 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/valops.c 2017-02-07 20:53:48.870887406 +0100
|
||||||
+++ gdb-7.11.90.20160907/gdb/valops.c 2016-09-07 21:53:22.717210497 +0200
|
+++ gdb-7.12.50.20170207/gdb/valops.c 2017-02-07 20:53:54.447929765 +0100
|
||||||
@@ -1562,6 +1562,19 @@
|
@@ -1569,6 +1569,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;
|
||||||
@ -1459,7 +1459,7 @@ Index: gdb-7.11.90.20160907/gdb/valops.c
|
|||||||
|
|
||||||
/* 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 @@
|
@@ -1584,8 +1597,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,
|
||||||
@ -1469,11 +1469,11 @@ Index: gdb-7.11.90.20160907/gdb/valops.c
|
|||||||
|
|
||||||
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);
|
||||||
Index: gdb-7.11.90.20160907/gdb/valprint.c
|
Index: gdb-7.12.50.20170207/gdb/valprint.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdb-7.11.90.20160907.orig/gdb/valprint.c 2016-09-07 21:52:10.273563060 +0200
|
--- gdb-7.12.50.20170207.orig/gdb/valprint.c 2017-02-07 02:48:47.000000000 +0100
|
||||||
+++ gdb-7.11.90.20160907/gdb/valprint.c 2016-09-07 21:53:22.718210506 +0200
|
+++ gdb-7.12.50.20170207/gdb/valprint.c 2017-02-07 20:53:54.448929772 +0100
|
||||||
@@ -1141,12 +1141,6 @@
|
@@ -1165,12 +1165,6 @@
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,40 +27,43 @@ cannot reproduce it.
|
|||||||
Thanks,
|
Thanks,
|
||||||
Jan
|
Jan
|
||||||
|
|
||||||
--- ./gdb/dwarf2loc.c 2016-08-29 04:01:25.000000000 +0200
|
Index: gdb-7.12.50.20170207/gdb/dwarf2loc.c
|
||||||
+++ ./gdb/dwarf2loc.c 2016-09-01 11:00:20.258909494 +0200
|
===================================================================
|
||||||
@@ -2289,6 +2289,15 @@ const struct dwarf_expr_context_funcs dw
|
--- gdb-7.12.50.20170207.orig/gdb/dwarf2loc.c 2017-02-16 23:31:53.977893289 +0100
|
||||||
dwarf_expr_get_obj_addr
|
+++ gdb-7.12.50.20170207/gdb/dwarf2loc.c 2017-02-16 23:37:44.625522081 +0100
|
||||||
};
|
@@ -2285,6 +2285,12 @@
|
||||||
|
ctx.per_cu = per_cu;
|
||||||
|
ctx.obj_address = 0;
|
||||||
|
|
||||||
+static void
|
+struct frame_info *old_frame (deprecated_safe_get_selected_frame ());
|
||||||
+select_frame_cleanup (void *arg)
|
+TRY
|
||||||
+{
|
+ {
|
||||||
+ struct frame_info *frame = (struct frame_info *) arg;
|
|
||||||
+
|
|
||||||
+ if (frame != NULL)
|
|
||||||
+ select_frame (frame);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
/* Evaluate a location description, starting at DATA and with length
|
|
||||||
SIZE, to find the current location of variable of TYPE in the
|
|
||||||
context of FRAME. BYTE_OFFSET is applied after the contents are
|
|
||||||
@@ -2318,6 +2327,11 @@ dwarf2_evaluate_loc_desc_full (struct ty
|
|
||||||
|
|
||||||
ctx = new_dwarf_expr_context ();
|
|
||||||
old_chain = make_cleanup_free_dwarf_expr_context (ctx);
|
|
||||||
+
|
|
||||||
+ make_cleanup (select_frame_cleanup, deprecated_safe_get_selected_frame ());
|
|
||||||
+ if (frame != NULL)
|
+ if (frame != NULL)
|
||||||
+ select_frame (frame);
|
+ select_frame (frame);
|
||||||
+
|
+
|
||||||
value_chain = make_cleanup_value_free_to_mark (value_mark ());
|
scoped_value_mark free_values;
|
||||||
|
|
||||||
ctx->gdbarch = get_objfile_arch (objfile);
|
ctx.gdbarch = get_objfile_arch (objfile);
|
||||||
Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/dynamic-other-frame-stub.f90
|
@@ -2471,6 +2477,15 @@
|
||||||
|
|
||||||
|
set_value_initialized (retval, ctx.initialized);
|
||||||
|
|
||||||
|
+ }
|
||||||
|
+CATCH (ex, RETURN_MASK_ALL)
|
||||||
|
+ {
|
||||||
|
+ select_frame (old_frame);
|
||||||
|
+ throw_exception (ex);
|
||||||
|
+ }
|
||||||
|
+END_CATCH
|
||||||
|
+select_frame (old_frame);
|
||||||
|
+
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
|
|
||||||
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/dynamic-other-frame-stub.f90
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/dynamic-other-frame-stub.f90 2015-05-31 16:14:05.844545344 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/dynamic-other-frame-stub.f90 2017-02-16 23:32:09.546010002 +0100
|
||||||
@@ -0,0 +1,24 @@
|
@@ -0,0 +1,24 @@
|
||||||
+! Copyright 2010 Free Software Foundation, Inc.
|
+! Copyright 2010 Free Software Foundation, Inc.
|
||||||
+!
|
+!
|
||||||
@ -86,10 +89,10 @@ Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/dynamic-other-frame-stub.f9
|
|||||||
+ real :: dummy
|
+ real :: dummy
|
||||||
+ dummy = 1
|
+ dummy = 1
|
||||||
+end subroutine bar
|
+end subroutine bar
|
||||||
Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/dynamic-other-frame.exp
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/dynamic-other-frame.exp
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/dynamic-other-frame.exp 2015-05-31 16:14:05.845545351 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/dynamic-other-frame.exp 2017-02-16 23:32:09.546010002 +0100
|
||||||
@@ -0,0 +1,39 @@
|
@@ -0,0 +1,39 @@
|
||||||
+# Copyright 2010 Free Software Foundation, Inc.
|
+# Copyright 2010 Free Software Foundation, Inc.
|
||||||
+
|
+
|
||||||
@ -130,10 +133,10 @@ Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/dynamic-other-frame.exp
|
|||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+gdb_test "bt" {foo \(string='hello'.*}
|
+gdb_test "bt" {foo \(string='hello'.*}
|
||||||
Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/dynamic-other-frame.f90
|
Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/dynamic-other-frame.f90
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/dynamic-other-frame.f90 2015-05-31 16:14:05.845545351 +0200
|
+++ gdb-7.12.50.20170207/gdb/testsuite/gdb.fortran/dynamic-other-frame.f90 2017-02-16 23:32:09.546010002 +0100
|
||||||
@@ -0,0 +1,36 @@
|
@@ -0,0 +1,36 @@
|
||||||
+! Copyright 2010 Free Software Foundation, Inc.
|
+! Copyright 2010 Free Software Foundation, Inc.
|
||||||
+!
|
+!
|
||||||
|
36
gdb.spec
36
gdb.spec
@ -18,15 +18,15 @@
|
|||||||
Name: %{?scl_prefix}gdb
|
Name: %{?scl_prefix}gdb
|
||||||
|
|
||||||
# Freeze it when GDB gets branched
|
# Freeze it when GDB gets branched
|
||||||
%global snapsrc 20160801
|
%global snapsrc 20170226
|
||||||
# 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.12.1
|
Version: 7.12.50.%{snapsrc}
|
||||||
|
|
||||||
# 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: 47%{?dist}
|
Release: 1%{?dist}
|
||||||
|
|
||||||
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL
|
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL
|
||||||
Group: Development/Debuggers
|
Group: Development/Debuggers
|
||||||
@ -274,7 +274,7 @@ Patch231: gdb-6.3-bz202689-exec-from-pthread-test.patch
|
|||||||
|
|
||||||
# Backported fixups post the source tarball.
|
# Backported fixups post the source tarball.
|
||||||
#Xdrop: Just backports.
|
#Xdrop: Just backports.
|
||||||
Patch232: gdb-upstream.patch
|
#Patch232: gdb-upstream.patch
|
||||||
|
|
||||||
# Testcase for PPC Power6/DFP instructions disassembly (BZ 230000).
|
# Testcase for PPC Power6/DFP instructions disassembly (BZ 230000).
|
||||||
#=fedoratest+ppc
|
#=fedoratest+ppc
|
||||||
@ -345,10 +345,6 @@ Patch289: gdb-6.5-ia64-libunwind-leak-test.patch
|
|||||||
#=fedoratest
|
#=fedoratest
|
||||||
Patch290: gdb-6.5-missed-trap-on-step-test.patch
|
Patch290: gdb-6.5-missed-trap-on-step-test.patch
|
||||||
|
|
||||||
# Support DW_TAG_interface_type the same way as DW_TAG_class_type (BZ 426600).
|
|
||||||
#=fedoratest
|
|
||||||
Patch294: gdb-6.7-bz426600-DW_TAG_interface_type-test.patch
|
|
||||||
|
|
||||||
# Test gcore memory and time requirements for large inferiors.
|
# Test gcore memory and time requirements for large inferiors.
|
||||||
#=fedoratest
|
#=fedoratest
|
||||||
Patch296: gdb-6.5-gcore-buffer-limit-test.patch
|
Patch296: gdb-6.5-gcore-buffer-limit-test.patch
|
||||||
@ -629,20 +625,10 @@ Patch1123: gdb-rhbz1325795-framefilters-test.patch
|
|||||||
# [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513).
|
# [dts+el7] [x86*] Bundle linux_perf.h for libipt (RH BZ 1256513).
|
||||||
Patch1143: gdb-linux_perf-bundle.patch
|
Patch1143: gdb-linux_perf-bundle.patch
|
||||||
|
|
||||||
# [rhel6+7] Fix compatibility of bison <3.1 and gcc >=6.
|
|
||||||
Patch1144: gdb-bison-old.patch
|
|
||||||
|
|
||||||
# [testsuite] More testsuite fixes.
|
|
||||||
Patch1145: gdb-testsuite-casts.patch
|
|
||||||
Patch1146: gdb-testsuite-m-static.patch
|
|
||||||
|
|
||||||
# Fix TLS (such as 'errno') regression.
|
# Fix TLS (such as 'errno') regression.
|
||||||
Patch1149: gdb-tls-1of2.patch
|
Patch1149: gdb-tls-1of2.patch
|
||||||
Patch1150: gdb-tls-2of2.patch
|
Patch1150: gdb-tls-2of2.patch
|
||||||
|
|
||||||
# [testsuite] Fix false FAIL for gdb.base/morestack.exp.
|
|
||||||
Patch1151: gdb-testsuite-morestack-gold.patch
|
|
||||||
|
|
||||||
# Fix gdb-headless /usr/bin/ executables (BZ 1390251).
|
# Fix gdb-headless /usr/bin/ executables (BZ 1390251).
|
||||||
Patch1152: gdb-libexec-add-index.patch
|
Patch1152: gdb-libexec-add-index.patch
|
||||||
|
|
||||||
@ -808,6 +794,9 @@ BuildRequires: valgrind%{bits_local} valgrind%{bits_other}
|
|||||||
%if 0%{!?rhel:1} || 0%{?rhel} > 6
|
%if 0%{!?rhel:1} || 0%{?rhel} > 6
|
||||||
BuildRequires: xz
|
BuildRequires: xz
|
||||||
%endif
|
%endif
|
||||||
|
%if 0%{!?rhel:1} || 0%{?rhel} > 7
|
||||||
|
BuildRequires: rust
|
||||||
|
%endif
|
||||||
|
|
||||||
%endif # 0%{?_with_testsuite:1}
|
%endif # 0%{?_with_testsuite:1}
|
||||||
|
|
||||||
@ -881,7 +870,7 @@ find -name "*.info*"|xargs rm -f
|
|||||||
# Match the Fedora's version info.
|
# Match the Fedora's version info.
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
|
|
||||||
%patch232 -p1
|
#patch232 -p1
|
||||||
%patch349 -p1
|
%patch349 -p1
|
||||||
%patch1058 -p1
|
%patch1058 -p1
|
||||||
%patch1132 -p1
|
%patch1132 -p1
|
||||||
@ -927,7 +916,6 @@ find -name "*.info*"|xargs rm -f
|
|||||||
%patch287 -p1
|
%patch287 -p1
|
||||||
%patch289 -p1
|
%patch289 -p1
|
||||||
%patch290 -p1
|
%patch290 -p1
|
||||||
%patch294 -p1
|
|
||||||
%patch296 -p1
|
%patch296 -p1
|
||||||
%patch298 -p1
|
%patch298 -p1
|
||||||
%patch309 -p1
|
%patch309 -p1
|
||||||
@ -1016,12 +1004,8 @@ done
|
|||||||
%patch1118 -p1
|
%patch1118 -p1
|
||||||
%patch1123 -p1
|
%patch1123 -p1
|
||||||
%patch1143 -p1
|
%patch1143 -p1
|
||||||
%patch1144 -p1
|
|
||||||
%patch1145 -p1
|
|
||||||
%patch1146 -p1
|
|
||||||
%patch1149 -p1
|
%patch1149 -p1
|
||||||
%patch1150 -p1
|
%patch1150 -p1
|
||||||
%patch1151 -p1
|
|
||||||
%patch1152 -p1
|
%patch1152 -p1
|
||||||
%patch1153 -p1
|
%patch1153 -p1
|
||||||
%patch1155 -p1
|
%patch1155 -p1
|
||||||
@ -1594,6 +1578,10 @@ then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Feb 27 2017 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.12.50.20170226-1.fc26
|
||||||
|
- Rebase to pre-7.13 FSF GDB trunk.
|
||||||
|
- Dropped gdb-6.7-bz426600-DW_TAG_interface_type-test.patch as GCJ is no more.
|
||||||
|
|
||||||
* Fri Feb 24 2017 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.12.1-47.fc26
|
* Fri Feb 24 2017 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.12.1-47.fc26
|
||||||
- New testcase for: Fix <tab>-completion crash (Gary Benson, RH BZ 1398387).
|
- New testcase for: Fix <tab>-completion crash (Gary Benson, RH BZ 1398387).
|
||||||
- [testsuite] Use more standard_output_file.
|
- [testsuite] Use more standard_output_file.
|
||||||
|
2
sources
2
sources
@ -1,3 +1,3 @@
|
|||||||
SHA512 (gdb-libstdc++-v3-python-6.3.1-20170212.tar.xz) = 22ad4187d6bb9851ecf389c3ff4c68f33ccf5602d8f51bc337215c700d56c9073b3fb40ece3f58901315161f76a4fd1d6463c623650317ad96fd9e3f4aba7252
|
SHA512 (gdb-libstdc++-v3-python-6.3.1-20170212.tar.xz) = 22ad4187d6bb9851ecf389c3ff4c68f33ccf5602d8f51bc337215c700d56c9073b3fb40ece3f58901315161f76a4fd1d6463c623650317ad96fd9e3f4aba7252
|
||||||
SHA512 (v1.5.tar.gz) = ea3e76291d5b077d5b42061898a1f70af6cbdbccb7d05c59904f322ca1c03f7596cac6a966b80b12d2c2d86212f17d6bde02b1daf92be62e49abcb234e2bacbd
|
SHA512 (v1.5.tar.gz) = ea3e76291d5b077d5b42061898a1f70af6cbdbccb7d05c59904f322ca1c03f7596cac6a966b80b12d2c2d86212f17d6bde02b1daf92be62e49abcb234e2bacbd
|
||||||
SHA512 (gdb-7.12.1.tar.xz) = 0ac8d0a495103611ef41167a08313a010dce6ca4c6d827cbe8558a0c1a1a8a6bfa53f1b7704251289cababbfaaf9e075550cdf741a54d6cd9ca3433d910efcd8
|
SHA512 (gdb-7.12.50.20170226.tar.xz) = cf1b55c011fc6dfee64c0d2e8facea6270c4b1e5966427bc8e2f36bc2515d5d51ea6a1a4e0a5300dfad40ff798d1763f7f9397f3d03fff5ab2f1cc88c4ead737
|
||||||
|
Loading…
Reference in New Issue
Block a user