Rebase to FSF GDB 7.10.50.20151027 (trunk snapshot).
This commit is contained in:
parent
ebe9b7c7c7
commit
23f398e61a
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,2 +1,2 @@
|
||||
/gdb-libstdc++-v3-python-r225521.tar.xz
|
||||
/gdb-7.10.tar.xz
|
||||
/gdb-7.10.50.20151027.tar.xz
|
||||
|
@ -11,10 +11,10 @@
|
||||
|
||||
* gdb.texinfo (File Options): Document --readnever.
|
||||
|
||||
Index: gdb-7.9.50.20150520/gdb/doc/gdb.texinfo
|
||||
Index: gdb-7.10.50.20151022/gdb/doc/gdb.texinfo
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/doc/gdb.texinfo 2015-05-31 16:34:58.436379663 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/doc/gdb.texinfo 2015-05-31 16:35:03.452416381 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/doc/gdb.texinfo 2015-10-22 22:16:50.483482288 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/doc/gdb.texinfo 2015-10-22 22:28:22.042554142 +0200
|
||||
@@ -1032,6 +1032,12 @@ Read each symbol file's entire symbol ta
|
||||
the default, which is to read it incrementally as it is needed.
|
||||
This makes startup slower, but makes future operations faster.
|
||||
@ -28,10 +28,10 @@ Index: gdb-7.9.50.20150520/gdb/doc/gdb.texinfo
|
||||
@end table
|
||||
|
||||
@node Mode Options
|
||||
Index: gdb-7.9.50.20150520/gdb/main.c
|
||||
Index: gdb-7.10.50.20151022/gdb/main.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/main.c 2015-05-31 16:34:58.439379685 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/main.c 2015-05-31 16:35:20.547541518 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/main.c 2015-10-22 22:16:50.485482299 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/main.c 2015-10-22 22:28:22.042554142 +0200
|
||||
@@ -604,6 +604,7 @@ captured_main (void *data)
|
||||
{"tui", no_argument, 0, OPT_TUI},
|
||||
{"dbx", no_argument, &dbx_commands, 1},
|
||||
@ -48,10 +48,10 @@ Index: gdb-7.9.50.20150520/gdb/main.c
|
||||
--write Set writing into executable and core files.\n\n\
|
||||
"), stream);
|
||||
fputs_unfiltered (_("\
|
||||
Index: gdb-7.9.50.20150520/gdb/symfile.c
|
||||
Index: gdb-7.10.50.20151022/gdb/symfile.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/symfile.c 2015-05-31 16:34:58.440379692 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/symfile.c 2015-05-31 16:35:03.454416395 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/symfile.c 2015-10-22 22:16:50.486482305 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/symfile.c 2015-10-22 22:28:22.043554148 +0200
|
||||
@@ -80,6 +80,7 @@ static void clear_symtab_users_cleanup (
|
||||
|
||||
/* Global variables owned by this file. */
|
||||
@ -60,33 +60,33 @@ Index: gdb-7.9.50.20150520/gdb/symfile.c
|
||||
|
||||
/* Functions this file defines. */
|
||||
|
||||
Index: gdb-7.9.50.20150520/gdb/dwarf2read.c
|
||||
Index: gdb-7.10.50.20151022/gdb/dwarf2read.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/dwarf2read.c 2015-05-31 16:34:58.446379736 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/dwarf2read.c 2015-05-31 16:35:03.459416432 +0200
|
||||
@@ -69,6 +69,7 @@
|
||||
#include "source.h"
|
||||
--- gdb-7.10.50.20151022.orig/gdb/dwarf2read.c 2015-10-22 22:28:22.046554165 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/dwarf2read.c 2015-10-22 22:29:17.664881642 +0200
|
||||
@@ -70,6 +70,7 @@
|
||||
#include "filestuff.h"
|
||||
#include "build-id.h"
|
||||
#include "namespace.h"
|
||||
+#include "top.h"
|
||||
|
||||
#include <fcntl.h>
|
||||
#include <sys/types.h>
|
||||
@@ -2050,7 +2051,8 @@ dwarf2_has_info (struct objfile *objfile
|
||||
@@ -2059,7 +2060,8 @@ dwarf2_has_info (struct objfile *objfile
|
||||
(void *) names);
|
||||
dwarf2_per_objfile->objfile = objfile;
|
||||
}
|
||||
- return (!dwarf2_per_objfile->info.is_virtual
|
||||
+ return !readnever_symbol_files &&
|
||||
+ (!dwarf2_per_objfile->info.is_virtual
|
||||
&& dwarf2_per_objfile->info.s.asection != NULL
|
||||
&& dwarf2_per_objfile->info.s.section != NULL
|
||||
&& !dwarf2_per_objfile->abbrev.is_virtual
|
||||
&& dwarf2_per_objfile->abbrev.s.asection != NULL);
|
||||
Index: gdb-7.9.50.20150520/gdb/top.h
|
||||
&& dwarf2_per_objfile->abbrev.s.section != NULL);
|
||||
Index: gdb-7.10.50.20151022/gdb/top.h
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/top.h 2015-05-31 16:34:58.448379751 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/top.h 2015-05-31 16:35:03.459416432 +0200
|
||||
@@ -67,6 +67,7 @@ extern void set_prompt (const char *s);
|
||||
--- gdb-7.10.50.20151022.orig/gdb/top.h 2015-10-22 22:16:50.490482329 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/top.h 2015-10-22 22:28:22.047554171 +0200
|
||||
@@ -74,6 +74,7 @@ extern int gdb_in_secondary_prompt_p (vo
|
||||
|
||||
/* From random places. */
|
||||
extern int readnow_symbol_files;
|
||||
|
@ -1,7 +1,7 @@
|
||||
Index: gdb-7.9.90.20150709/gdb/corelow.c
|
||||
Index: gdb-7.10.50.20151022/gdb/corelow.c
|
||||
===================================================================
|
||||
--- gdb-7.9.90.20150709.orig/gdb/corelow.c 2015-07-09 22:05:20.988044312 +0200
|
||||
+++ gdb-7.9.90.20150709/gdb/corelow.c 2015-07-09 22:05:42.057222722 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/corelow.c 2015-10-22 22:30:46.226403087 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/corelow.c 2015-10-22 22:30:49.266420986 +0200
|
||||
@@ -45,6 +45,10 @@
|
||||
#include "gdb_bfd.h"
|
||||
#include "completer.h"
|
||||
@ -94,11 +94,11 @@ Index: gdb-7.9.90.20150709/gdb/corelow.c
|
||||
+ NULL, NULL, NULL,
|
||||
+ &setlist, &showlist);
|
||||
}
|
||||
Index: gdb-7.9.90.20150709/gdb/doc/gdb.texinfo
|
||||
Index: gdb-7.10.50.20151022/gdb/doc/gdb.texinfo
|
||||
===================================================================
|
||||
--- gdb-7.9.90.20150709.orig/gdb/doc/gdb.texinfo 2015-07-09 22:05:20.988044312 +0200
|
||||
+++ gdb-7.9.90.20150709/gdb/doc/gdb.texinfo 2015-07-09 22:05:42.067222806 +0200
|
||||
@@ -18304,6 +18304,27 @@ information files.
|
||||
--- gdb-7.10.50.20151022.orig/gdb/doc/gdb.texinfo 2015-10-22 22:30:46.233403128 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/doc/gdb.texinfo 2015-10-22 22:30:49.271421015 +0200
|
||||
@@ -18495,6 +18495,27 @@ information files.
|
||||
|
||||
@end table
|
||||
|
||||
@ -126,10 +126,10 @@ Index: gdb-7.9.90.20150709/gdb/doc/gdb.texinfo
|
||||
@cindex @code{.gnu_debuglink} sections
|
||||
@cindex debug link sections
|
||||
A debug link is a special section of the executable file named
|
||||
Index: gdb-7.9.90.20150709/gdb/solib-svr4.c
|
||||
Index: gdb-7.10.50.20151022/gdb/solib-svr4.c
|
||||
===================================================================
|
||||
--- gdb-7.9.90.20150709.orig/gdb/solib-svr4.c 2015-07-09 22:05:20.988044312 +0200
|
||||
+++ gdb-7.9.90.20150709/gdb/solib-svr4.c 2015-07-09 22:05:42.068222815 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/solib-svr4.c 2015-10-22 22:30:46.235403140 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/solib-svr4.c 2015-10-22 22:30:49.272421021 +0200
|
||||
@@ -45,6 +45,7 @@
|
||||
#include "auxv.h"
|
||||
#include "gdb_bfd.h"
|
||||
@ -138,7 +138,7 @@ Index: gdb-7.9.90.20150709/gdb/solib-svr4.c
|
||||
|
||||
static struct link_map_offsets *svr4_fetch_link_map_offsets (void);
|
||||
static int svr4_have_link_map_offsets (void);
|
||||
@@ -1379,9 +1380,52 @@ svr4_read_so_list (CORE_ADDR lm, CORE_AD
|
||||
@@ -1416,9 +1417,52 @@ svr4_read_so_list (CORE_ADDR lm, CORE_AD
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -194,11 +194,11 @@ Index: gdb-7.9.90.20150709/gdb/solib-svr4.c
|
||||
xfree (buffer);
|
||||
|
||||
/* If this entry has no name, or its name matches the name
|
||||
Index: gdb-7.9.90.20150709/gdb/elfread.c
|
||||
Index: gdb-7.10.50.20151022/gdb/elfread.c
|
||||
===================================================================
|
||||
--- gdb-7.9.90.20150709.orig/gdb/elfread.c 2015-07-09 22:05:20.988044312 +0200
|
||||
+++ gdb-7.9.90.20150709/gdb/elfread.c 2015-07-09 22:05:42.068222815 +0200
|
||||
@@ -1250,9 +1250,10 @@ elf_symfile_read (struct objfile *objfil
|
||||
--- gdb-7.10.50.20151022.orig/gdb/elfread.c 2015-10-22 22:30:46.235403140 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/elfread.c 2015-10-22 22:30:49.272421021 +0200
|
||||
@@ -1259,9 +1259,10 @@ elf_symfile_read (struct objfile *objfil
|
||||
&& objfile->separate_debug_objfile == NULL
|
||||
&& objfile->separate_debug_objfile_backlink == NULL)
|
||||
{
|
||||
@ -211,7 +211,7 @@ Index: gdb-7.9.90.20150709/gdb/elfread.c
|
||||
|
||||
if (debugfile == NULL)
|
||||
debugfile = find_separate_debug_file_by_debuglink (objfile);
|
||||
@@ -1266,6 +1267,12 @@ elf_symfile_read (struct objfile *objfil
|
||||
@@ -1275,6 +1276,12 @@ elf_symfile_read (struct objfile *objfil
|
||||
symbol_file_add_separate (abfd, debugfile, symfile_flags, objfile);
|
||||
do_cleanups (cleanup);
|
||||
}
|
||||
@ -224,10 +224,10 @@ Index: gdb-7.9.90.20150709/gdb/elfread.c
|
||||
}
|
||||
}
|
||||
|
||||
Index: gdb-7.9.90.20150709/gdb/symfile.h
|
||||
Index: gdb-7.10.50.20151022/gdb/symfile.h
|
||||
===================================================================
|
||||
--- gdb-7.9.90.20150709.orig/gdb/symfile.h 2015-07-09 22:05:20.988044312 +0200
|
||||
+++ gdb-7.9.90.20150709/gdb/symfile.h 2015-07-09 22:05:42.068222815 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/symfile.h 2015-10-22 22:30:46.236403145 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/symfile.h 2015-10-22 22:30:49.273421027 +0200
|
||||
@@ -584,6 +584,10 @@ void expand_symtabs_matching (expand_sym
|
||||
void map_symbol_filenames (symbol_filename_ftype *fun, void *data,
|
||||
int need_fullname);
|
||||
@ -239,11 +239,11 @@ Index: gdb-7.9.90.20150709/gdb/symfile.h
|
||||
/* From dwarf2read.c */
|
||||
|
||||
/* Names for a dwarf2 debugging section. The field NORMAL is the normal
|
||||
Index: gdb-7.9.90.20150709/gdb/testsuite/lib/gdb.exp
|
||||
Index: gdb-7.10.50.20151022/gdb/testsuite/lib/gdb.exp
|
||||
===================================================================
|
||||
--- gdb-7.9.90.20150709.orig/gdb/testsuite/lib/gdb.exp 2015-07-09 22:05:20.988044312 +0200
|
||||
+++ gdb-7.9.90.20150709/gdb/testsuite/lib/gdb.exp 2015-07-09 22:05:42.070222832 +0200
|
||||
@@ -1573,6 +1573,16 @@ proc default_gdb_start { } {
|
||||
--- gdb-7.10.50.20151022.orig/gdb/testsuite/lib/gdb.exp 2015-10-22 22:30:46.237403151 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/testsuite/lib/gdb.exp 2015-10-22 22:30:49.273421027 +0200
|
||||
@@ -1640,6 +1640,16 @@ proc default_gdb_start { } {
|
||||
warning "Couldn't set the width to 0."
|
||||
}
|
||||
}
|
||||
@ -260,11 +260,11 @@ Index: gdb-7.9.90.20150709/gdb/testsuite/lib/gdb.exp
|
||||
return 0
|
||||
}
|
||||
|
||||
Index: gdb-7.9.90.20150709/gdb/testsuite/lib/mi-support.exp
|
||||
Index: gdb-7.10.50.20151022/gdb/testsuite/lib/mi-support.exp
|
||||
===================================================================
|
||||
--- gdb-7.9.90.20150709.orig/gdb/testsuite/lib/mi-support.exp 2015-07-09 22:05:20.988044312 +0200
|
||||
+++ gdb-7.9.90.20150709/gdb/testsuite/lib/mi-support.exp 2015-07-09 22:05:42.070222832 +0200
|
||||
@@ -214,6 +214,16 @@ proc default_mi_gdb_start { args } {
|
||||
--- gdb-7.10.50.20151022.orig/gdb/testsuite/lib/mi-support.exp 2015-10-22 22:30:49.274421033 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/testsuite/lib/mi-support.exp 2015-10-22 22:31:24.869631575 +0200
|
||||
@@ -204,6 +204,16 @@ proc default_mi_gdb_start { args } {
|
||||
warning "Couldn't set the width to 0."
|
||||
}
|
||||
}
|
||||
@ -278,14 +278,14 @@ Index: gdb-7.9.90.20150709/gdb/testsuite/lib/mi-support.exp
|
||||
+ warning "Could not disable the missing debug infos warnings.."
|
||||
+ }
|
||||
+ }
|
||||
# If allowing the inferior to have its own PTY then assign the inferior
|
||||
# its own terminal device here.
|
||||
|
||||
# Create the new PTY for the inferior process.
|
||||
if { $separate_inferior_pty } {
|
||||
Index: gdb-7.9.90.20150709/gdb/objfiles.h
|
||||
Index: gdb-7.10.50.20151022/gdb/objfiles.h
|
||||
===================================================================
|
||||
--- gdb-7.9.90.20150709.orig/gdb/objfiles.h 2015-07-09 22:05:20.988044312 +0200
|
||||
+++ gdb-7.9.90.20150709/gdb/objfiles.h 2015-07-09 22:05:42.071222840 +0200
|
||||
@@ -459,6 +459,10 @@ struct objfile
|
||||
--- gdb-7.10.50.20151022.orig/gdb/objfiles.h 2015-10-22 22:30:46.238403157 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/objfiles.h 2015-10-22 22:30:49.274421033 +0200
|
||||
@@ -489,6 +489,10 @@ struct objfile
|
||||
|
||||
#define OBJF_NOT_FILENAME (1 << 6)
|
||||
|
||||
@ -296,10 +296,10 @@ Index: gdb-7.9.90.20150709/gdb/objfiles.h
|
||||
/* Declarations for functions defined in objfiles.c */
|
||||
|
||||
extern struct objfile *allocate_objfile (bfd *, const char *name, int);
|
||||
Index: gdb-7.9.90.20150709/gdb/testsuite/gdb.base/corefile.exp
|
||||
Index: gdb-7.10.50.20151022/gdb/testsuite/gdb.base/corefile.exp
|
||||
===================================================================
|
||||
--- gdb-7.9.90.20150709.orig/gdb/testsuite/gdb.base/corefile.exp 2015-07-09 22:05:20.988044312 +0200
|
||||
+++ gdb-7.9.90.20150709/gdb/testsuite/gdb.base/corefile.exp 2015-07-09 22:05:42.071222840 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/testsuite/gdb.base/corefile.exp 2015-10-22 22:30:46.238403157 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/testsuite/gdb.base/corefile.exp 2015-10-22 22:30:49.274421033 +0200
|
||||
@@ -293,3 +293,33 @@ gdb_test_multiple "core-file $corefile"
|
||||
pass $test
|
||||
}
|
||||
@ -334,10 +334,10 @@ Index: gdb-7.9.90.20150709/gdb/testsuite/gdb.base/corefile.exp
|
||||
+ gdb_test "info files" "Local exec file:\r\n\[ \t\]*`[string_to_regexp $debugdir/$buildid]', file type .*"
|
||||
+ pass $wholetest
|
||||
+}
|
||||
Index: gdb-7.9.90.20150709/gdb/build-id.c
|
||||
Index: gdb-7.10.50.20151022/gdb/build-id.c
|
||||
===================================================================
|
||||
--- gdb-7.9.90.20150709.orig/gdb/build-id.c 2015-07-09 22:05:20.988044312 +0200
|
||||
+++ gdb-7.9.90.20150709/gdb/build-id.c 2015-07-09 22:19:35.022957009 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/build-id.c 2015-10-22 22:30:46.238403157 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/build-id.c 2015-10-22 22:34:36.579774662 +0200
|
||||
@@ -26,11 +26,67 @@
|
||||
#include "objfiles.h"
|
||||
#include "filenames.h"
|
||||
@ -765,7 +765,7 @@ Index: gdb-7.9.90.20150709/gdb/build-id.c
|
||||
|
||||
if (found == NULL)
|
||||
warning (_("File \"%s\" has no build-id, file skipped"),
|
||||
@@ -65,20 +463,56 @@ build_id_verify (bfd *abfd, size_t check
|
||||
@@ -65,23 +463,56 @@ build_id_verify (bfd *abfd, size_t check
|
||||
return retval;
|
||||
}
|
||||
|
||||
@ -818,15 +818,18 @@ Index: gdb-7.9.90.20150709/gdb/build-id.c
|
||||
struct cleanup *back_to;
|
||||
int ix;
|
||||
bfd *abfd = NULL;
|
||||
- int alloc_len;
|
||||
|
||||
/* DEBUG_FILE_DIRECTORY/.build-id/ab/cdef */
|
||||
- link = alloca (strlen (debug_file_directory) + (sizeof "/.build-id/" - 1) + 1
|
||||
- + 2 * build_id_len + (sizeof ".debug" - 1) + 1);
|
||||
- alloc_len = (strlen (debug_file_directory)
|
||||
- + (sizeof "/.build-id/" - 1) + 1
|
||||
- + 2 * build_id_len + (sizeof ".debug" - 1) + 1);
|
||||
- link = (char *) alloca (alloc_len);
|
||||
+ link = xmalloc (strlen (debug_file_directory) + 2 * build_id_len + 50);
|
||||
|
||||
/* Keep backward compatibility so that DEBUG_FILE_DIRECTORY being "" will
|
||||
cause "/.build-id/..." lookups. */
|
||||
@@ -91,9 +525,12 @@ build_id_to_debug_bfd (size_t build_id_l
|
||||
@@ -94,9 +525,12 @@ build_id_to_debug_bfd (size_t build_id_l
|
||||
size_t debugdir_len = strlen (debugdir);
|
||||
const gdb_byte *data = build_id;
|
||||
size_t size = build_id_len;
|
||||
@ -840,7 +843,7 @@ Index: gdb-7.9.90.20150709/gdb/build-id.c
|
||||
|
||||
memcpy (link, debugdir, debugdir_len);
|
||||
s = &link[debugdir_len];
|
||||
@@ -107,47 +544,281 @@ build_id_to_debug_bfd (size_t build_id_l
|
||||
@@ -110,47 +544,281 @@ build_id_to_debug_bfd (size_t build_id_l
|
||||
*s++ = '/';
|
||||
while (size-- > 0)
|
||||
s += sprintf (s, "%02x", (unsigned) *data++);
|
||||
@ -1141,7 +1144,7 @@ Index: gdb-7.9.90.20150709/gdb/build-id.c
|
||||
/* Prevent looping on a stripped .debug file. */
|
||||
if (abfd != NULL
|
||||
&& filename_cmp (bfd_get_filename (abfd),
|
||||
@@ -167,3 +838,21 @@ find_separate_debug_file_by_buildid (str
|
||||
@@ -170,3 +838,21 @@ find_separate_debug_file_by_buildid (str
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
@ -1163,10 +1166,10 @@ Index: gdb-7.9.90.20150709/gdb/build-id.c
|
||||
+
|
||||
+ observer_attach_executable_changed (debug_print_executable_changed);
|
||||
+}
|
||||
Index: gdb-7.9.90.20150709/gdb/build-id.h
|
||||
Index: gdb-7.10.50.20151022/gdb/build-id.h
|
||||
===================================================================
|
||||
--- gdb-7.9.90.20150709.orig/gdb/build-id.h 2015-07-09 22:05:20.988044312 +0200
|
||||
+++ gdb-7.9.90.20150709/gdb/build-id.h 2015-07-09 22:05:42.072222849 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/build-id.h 2015-10-22 22:30:46.239403163 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/build-id.h 2015-10-22 22:30:49.275421039 +0200
|
||||
@@ -20,9 +20,10 @@
|
||||
#ifndef BUILD_ID_H
|
||||
#define BUILD_ID_H
|
||||
@ -1201,11 +1204,11 @@ Index: gdb-7.9.90.20150709/gdb/build-id.h
|
||||
+ char **build_id_filename_return);
|
||||
|
||||
#endif /* BUILD_ID_H */
|
||||
Index: gdb-7.9.90.20150709/gdb/dwarf2read.c
|
||||
Index: gdb-7.10.50.20151022/gdb/dwarf2read.c
|
||||
===================================================================
|
||||
--- gdb-7.9.90.20150709.orig/gdb/dwarf2read.c 2015-07-09 22:05:20.988044312 +0200
|
||||
+++ gdb-7.9.90.20150709/gdb/dwarf2read.c 2015-07-09 22:05:42.077222891 +0200
|
||||
@@ -2507,7 +2507,7 @@ dwarf2_get_dwz_file (void)
|
||||
--- gdb-7.10.50.20151022.orig/gdb/dwarf2read.c 2015-10-22 22:30:46.242403181 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/dwarf2read.c 2015-10-22 22:30:49.278421057 +0200
|
||||
@@ -2514,7 +2514,7 @@ dwarf2_get_dwz_file (void)
|
||||
}
|
||||
|
||||
if (dwz_bfd == NULL)
|
||||
@ -1214,10 +1217,10 @@ Index: gdb-7.9.90.20150709/gdb/dwarf2read.c
|
||||
|
||||
if (dwz_bfd == NULL)
|
||||
error (_("could not find '.gnu_debugaltlink' file for %s"),
|
||||
Index: gdb-7.9.90.20150709/gdb/python/py-objfile.c
|
||||
Index: gdb-7.10.50.20151022/gdb/python/py-objfile.c
|
||||
===================================================================
|
||||
--- gdb-7.9.90.20150709.orig/gdb/python/py-objfile.c 2015-07-09 22:05:20.988044312 +0200
|
||||
+++ gdb-7.9.90.20150709/gdb/python/py-objfile.c 2015-07-09 22:05:42.077222891 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/python/py-objfile.c 2015-10-22 22:30:46.243403187 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/python/py-objfile.c 2015-10-22 22:30:49.278421057 +0200
|
||||
@@ -139,7 +139,7 @@ objfpy_get_build_id (PyObject *self, voi
|
||||
|
||||
TRY
|
||||
@ -1236,10 +1239,10 @@ Index: gdb-7.9.90.20150709/gdb/python/py-objfile.c
|
||||
if (obfd_build_id == NULL)
|
||||
continue;
|
||||
if (objfpy_build_id_matches (obfd_build_id, build_id))
|
||||
Index: gdb-7.9.90.20150709/gdb/coffread.c
|
||||
Index: gdb-7.10.50.20151022/gdb/coffread.c
|
||||
===================================================================
|
||||
--- gdb-7.9.90.20150709.orig/gdb/coffread.c 2015-07-09 22:05:20.988044312 +0200
|
||||
+++ gdb-7.9.90.20150709/gdb/coffread.c 2015-07-09 22:05:42.078222899 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/coffread.c 2015-10-22 22:30:46.244403193 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/coffread.c 2015-10-22 22:30:49.278421057 +0200
|
||||
@@ -739,7 +739,7 @@ coff_symfile_read (struct objfile *objfi
|
||||
{
|
||||
char *debugfile;
|
||||
|
@ -3,10 +3,10 @@
|
||||
Port to GDB-6.8pre.
|
||||
Remove the `[' character from the GDB-6.8 default message.
|
||||
|
||||
Index: gdb-7.9.50.20150531/gdb/testsuite/gdb.base/fork-detach.c
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.base/fork-detach.c
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.9.50.20150531/gdb/testsuite/gdb.base/fork-detach.c 2015-05-31 18:23:49.008450716 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.base/fork-detach.c 2015-10-27 22:38:46.693459569 +0100
|
||||
@@ -0,0 +1,57 @@
|
||||
+/* This testcase is part of GDB, the GNU debugger.
|
||||
+
|
||||
@ -65,10 +65,10 @@ Index: gdb-7.9.50.20150531/gdb/testsuite/gdb.base/fork-detach.c
|
||||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
Index: gdb-7.9.50.20150531/gdb/testsuite/gdb.base/fork-detach.exp
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.base/fork-detach.exp
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.9.50.20150531/gdb/testsuite/gdb.base/fork-detach.exp 2015-05-31 18:23:49.008450716 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.base/fork-detach.exp 2015-10-27 22:38:46.693459569 +0100
|
||||
@@ -0,0 +1,36 @@
|
||||
+# Copyright 2007 Free Software Foundation, Inc.
|
||||
+
|
||||
@ -106,11 +106,11 @@ Index: gdb-7.9.50.20150531/gdb/testsuite/gdb.base/fork-detach.exp
|
||||
+gdb_test "" \
|
||||
+ "Detaching after fork from child process.*\\\[Inferior .* exited normally\\\]" \
|
||||
+ "Info message caught"
|
||||
Index: gdb-7.9.50.20150531/gdb/infrun.c
|
||||
Index: gdb-7.10.50.20151027/gdb/infrun.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150531.orig/gdb/infrun.c 2015-05-31 18:23:41.703405617 +0200
|
||||
+++ gdb-7.9.50.20150531/gdb/infrun.c 2015-05-31 18:23:49.011450735 +0200
|
||||
@@ -443,7 +443,7 @@ holding the child stopped. Try \"set de
|
||||
--- gdb-7.10.50.20151027.orig/gdb/infrun.c 2015-10-27 22:38:34.333386939 +0100
|
||||
+++ gdb-7.10.50.20151027/gdb/infrun.c 2015-10-27 22:38:46.695459581 +0100
|
||||
@@ -477,7 +477,7 @@ holding the child stopped. Try \"set de
|
||||
remove_breakpoints_pid (ptid_get_pid (inferior_ptid));
|
||||
}
|
||||
|
||||
@ -119,3 +119,25 @@ Index: gdb-7.9.50.20150531/gdb/infrun.c
|
||||
{
|
||||
/* Ensure that we have a process ptid. */
|
||||
ptid_t process_ptid = pid_to_ptid (ptid_get_pid (child_ptid));
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.base/catch-syscall.exp
|
||||
===================================================================
|
||||
--- gdb-7.10.50.20151027.orig/gdb/testsuite/gdb.base/catch-syscall.exp 2015-10-27 22:43:47.015224320 +0100
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.base/catch-syscall.exp 2015-10-27 22:44:29.327472955 +0100
|
||||
@@ -165,7 +165,7 @@ proc check_for_program_end {} {
|
||||
# Deleting the catchpoints
|
||||
delete_breakpoints
|
||||
|
||||
- gdb_continue_to_end
|
||||
+ gdb_continue_to_end "" continue 1
|
||||
}
|
||||
|
||||
proc test_catch_syscall_without_args {} {
|
||||
@@ -236,7 +236,7 @@ proc test_catch_syscall_with_wrong_args
|
||||
# If it doesn't, everything is right (since we don't have
|
||||
# a syscall named "mlock" in it). Otherwise, this is a failure.
|
||||
set thistest "catch syscall with unused syscall ($syscall_name)"
|
||||
- gdb_continue_to_end $thistest
|
||||
+ gdb_continue_to_end $thistest continue 1
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,21 +1,21 @@
|
||||
Index: gdb-7.7.50.20140609/gdb/infrun.c
|
||||
Index: gdb-7.10.50.20151022/gdb/infrun.c
|
||||
===================================================================
|
||||
--- gdb-7.7.50.20140609.orig/gdb/infrun.c 2014-06-13 20:08:51.225699203 +0200
|
||||
+++ gdb-7.7.50.20140609/gdb/infrun.c 2014-06-13 20:08:55.515703466 +0200
|
||||
@@ -1661,7 +1661,7 @@ static const char *const scheduler_enums
|
||||
schedlock_step,
|
||||
--- gdb-7.10.50.20151022.orig/gdb/infrun.c 2015-10-22 22:30:15.887224452 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/infrun.c 2015-10-22 22:30:25.742282478 +0200
|
||||
@@ -2175,7 +2175,7 @@ static const char *const scheduler_enums
|
||||
schedlock_replay,
|
||||
NULL
|
||||
};
|
||||
-static const char *scheduler_mode = schedlock_off;
|
||||
-static const char *scheduler_mode = schedlock_replay;
|
||||
+static const char *scheduler_mode = schedlock_step;
|
||||
static void
|
||||
show_scheduler_mode (struct ui_file *file, int from_tty,
|
||||
struct cmd_list_element *c, const char *value)
|
||||
Index: gdb-7.7.50.20140609/gdb/testsuite/gdb.mi/mi-cli.exp
|
||||
Index: gdb-7.10.50.20151022/gdb/testsuite/gdb.mi/mi-cli.exp
|
||||
===================================================================
|
||||
--- gdb-7.7.50.20140609.orig/gdb/testsuite/gdb.mi/mi-cli.exp 2014-06-13 20:08:55.515703466 +0200
|
||||
+++ gdb-7.7.50.20140609/gdb/testsuite/gdb.mi/mi-cli.exp 2014-06-13 20:09:24.862732832 +0200
|
||||
@@ -181,7 +181,7 @@ mi_expect_stop "breakpoint-hit" "main" "
|
||||
--- gdb-7.10.50.20151022.orig/gdb/testsuite/gdb.mi/mi-cli.exp 2015-10-22 22:29:38.352003447 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/testsuite/gdb.mi/mi-cli.exp 2015-10-22 22:30:15.888224458 +0200
|
||||
@@ -199,7 +199,7 @@ mi_expect_stop "breakpoint-hit" "main" "
|
||||
# Test that the token is output even for CLI commands
|
||||
# Also test that *stopped includes frame information.
|
||||
mi_gdb_test "34 next" \
|
||||
@ -24,10 +24,10 @@ Index: gdb-7.7.50.20140609/gdb/testsuite/gdb.mi/mi-cli.exp
|
||||
"34 next: run"
|
||||
|
||||
# Test that the new current source line is output to the console
|
||||
Index: gdb-7.7.50.20140609/gdb/testsuite/gdb.mi/mi-logging.exp
|
||||
Index: gdb-7.10.50.20151022/gdb/testsuite/gdb.mi/mi-logging.exp
|
||||
===================================================================
|
||||
--- gdb-7.7.50.20140609.orig/gdb/testsuite/gdb.mi/mi-logging.exp 2014-06-13 20:08:51.227699205 +0200
|
||||
+++ gdb-7.7.50.20140609/gdb/testsuite/gdb.mi/mi-logging.exp 2014-06-13 20:08:55.516703467 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/testsuite/gdb.mi/mi-logging.exp 2015-10-22 22:29:38.352003447 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/testsuite/gdb.mi/mi-logging.exp 2015-10-22 22:30:15.888224458 +0200
|
||||
@@ -53,7 +53,7 @@ close $chan
|
||||
|
||||
set mi_log_prompt "\[(\]gdb\[)\] \[\r\n\]+"
|
||||
@ -46,10 +46,10 @@ Index: gdb-7.7.50.20140609/gdb/testsuite/gdb.mi/mi-logging.exp
|
||||
pass "Redirect log file contents"
|
||||
} else {
|
||||
fail "Redirect log file contents"
|
||||
Index: gdb-7.7.50.20140609/gdb/testsuite/gdb.mi/mi-console.exp
|
||||
Index: gdb-7.10.50.20151022/gdb/testsuite/gdb.mi/mi-console.exp
|
||||
===================================================================
|
||||
--- gdb-7.7.50.20140609.orig/gdb/testsuite/gdb.mi/mi-console.exp 2014-06-13 20:08:51.227699205 +0200
|
||||
+++ gdb-7.7.50.20140609/gdb/testsuite/gdb.mi/mi-console.exp 2014-06-13 20:08:55.516703467 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/testsuite/gdb.mi/mi-console.exp 2015-10-22 22:29:38.353003453 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/testsuite/gdb.mi/mi-console.exp 2015-10-22 22:30:15.888224458 +0200
|
||||
@@ -60,6 +60,9 @@ if { [gdb_compile "${srcdir}/${subdir}/
|
||||
|
||||
mi_run_to_main
|
||||
|
@ -1,7 +1,7 @@
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.ada/packed_array.exp
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.ada/packed_array.exp
|
||||
===================================================================
|
||||
--- gdb-7.7.90.20140613.orig/gdb/testsuite/gdb.ada/packed_array.exp 2014-06-13 03:59:37.000000000 +0200
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.ada/packed_array.exp 2014-06-16 23:30:30.107940483 +0200
|
||||
--- gdb-7.10.50.20151027.orig/gdb/testsuite/gdb.ada/packed_array.exp 2015-10-27 02:48:32.000000000 +0100
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.ada/packed_array.exp 2015-11-03 22:23:27.212877605 +0100
|
||||
@@ -56,5 +56,11 @@ gdb_test_multiple "$test" "$test" {
|
||||
# are. Observed with (FSF GNU Ada 4.5.3 20110124).
|
||||
xfail $test
|
||||
@ -14,10 +14,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.ada/packed_array.exp
|
||||
+ }
|
||||
}
|
||||
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.arch/x86_64-vla-typedef-foo.S
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.arch/x86_64-vla-typedef-foo.S
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.arch/x86_64-vla-typedef-foo.S 2014-06-16 23:30:30.108940484 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.arch/x86_64-vla-typedef-foo.S 2015-11-03 22:23:27.212877605 +0100
|
||||
@@ -0,0 +1,455 @@
|
||||
+ .file "x86_64-vla-typedef.c"
|
||||
+ .section .debug_abbrev,"",@progbits
|
||||
@ -474,10 +474,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.arch/x86_64-vla-typedef-foo.S
|
||||
+ .string "GNU C 4.3.2 20081105 (Red Hat 4.3.2-7)"
|
||||
+ .ident "GCC: (GNU) 4.3.2 20081105 (Red Hat 4.3.2-7)"
|
||||
+ .section .note.GNU-stack,"",@progbits
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.arch/x86_64-vla-typedef.c
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.arch/x86_64-vla-typedef.c
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.arch/x86_64-vla-typedef.c 2014-06-16 23:30:30.109940484 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.arch/x86_64-vla-typedef.c 2015-11-03 22:23:27.213877611 +0100
|
||||
@@ -0,0 +1,43 @@
|
||||
+/* This testcase is part of GDB, the GNU debugger.
|
||||
+
|
||||
@ -522,10 +522,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.arch/x86_64-vla-typedef.c
|
||||
+}
|
||||
+
|
||||
+#endif
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.arch/x86_64-vla-typedef.exp
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.arch/x86_64-vla-typedef.exp
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.arch/x86_64-vla-typedef.exp 2014-06-16 23:30:30.109940484 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.arch/x86_64-vla-typedef.exp 2015-11-03 22:23:27.213877611 +0100
|
||||
@@ -0,0 +1,64 @@
|
||||
+# Copyright 2009 Free Software Foundation, Inc.
|
||||
+
|
||||
@ -591,10 +591,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.arch/x86_64-vla-typedef.exp
|
||||
+gdb_test "whatis array" "type = array_t" "second: whatis array"
|
||||
+
|
||||
+gdb_test "ptype array" "type = char \\\[78\\\]" "second: ptype array"
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/arrayidx.c
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.base/arrayidx.c
|
||||
===================================================================
|
||||
--- gdb-7.7.90.20140613.orig/gdb/testsuite/gdb.base/arrayidx.c 2014-06-13 03:59:37.000000000 +0200
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.base/arrayidx.c 2014-06-16 23:30:30.109940484 +0200
|
||||
--- gdb-7.10.50.20151027.orig/gdb/testsuite/gdb.base/arrayidx.c 2015-10-27 02:48:32.000000000 +0100
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.base/arrayidx.c 2015-11-03 22:23:27.213877611 +0100
|
||||
@@ -17,6 +17,13 @@
|
||||
|
||||
int array[] = {1, 2, 3, 4};
|
||||
@ -609,10 +609,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/arrayidx.c
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/arrayidx.exp
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.base/arrayidx.exp
|
||||
===================================================================
|
||||
--- gdb-7.7.90.20140613.orig/gdb/testsuite/gdb.base/arrayidx.exp 2014-06-13 03:59:37.000000000 +0200
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.base/arrayidx.exp 2014-06-16 23:30:30.109940484 +0200
|
||||
--- gdb-7.10.50.20151027.orig/gdb/testsuite/gdb.base/arrayidx.exp 2015-10-27 02:48:32.000000000 +0100
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.base/arrayidx.exp 2015-11-03 22:23:27.213877611 +0100
|
||||
@@ -49,4 +49,12 @@ gdb_test "print array" \
|
||||
"\\{\\\[0\\\] = 1, \\\[1\\\] = 2, \\\[2\\\] = 3, \\\[3\\\] = 4\\}" \
|
||||
"Print array with array-indexes on"
|
||||
@ -627,10 +627,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/arrayidx.exp
|
||||
+ unsupported "$test (no GCC)"
|
||||
+ }
|
||||
+}
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/internal-var-field-address.c
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.base/internal-var-field-address.c
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.base/internal-var-field-address.c 2014-06-16 23:30:30.109940484 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.base/internal-var-field-address.c 2015-11-03 22:23:27.213877611 +0100
|
||||
@@ -0,0 +1,20 @@
|
||||
+/* This testcase is part of GDB, the GNU debugger.
|
||||
+
|
||||
@ -652,10 +652,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/internal-var-field-address.c
|
||||
+struct {
|
||||
+ int field;
|
||||
+} staticstruct = { 1 };
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/internal-var-field-address.exp
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.base/internal-var-field-address.exp
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.base/internal-var-field-address.exp 2014-06-16 23:30:30.109940484 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.base/internal-var-field-address.exp 2015-11-03 22:23:27.213877611 +0100
|
||||
@@ -0,0 +1,26 @@
|
||||
+# Copyright 2009 Free Software Foundation, Inc.
|
||||
+
|
||||
@ -683,10 +683,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/internal-var-field-address.exp
|
||||
+
|
||||
+gdb_test {set $varstruct = staticstruct}
|
||||
+gdb_test {p $varstruct.field} " = 1"
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla-frame.c
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.base/vla-frame.c
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla-frame.c 2014-06-16 23:30:30.110940485 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.base/vla-frame.c 2015-11-03 22:23:27.213877611 +0100
|
||||
@@ -0,0 +1,31 @@
|
||||
+/* This testcase is part of GDB, the GNU debugger.
|
||||
+
|
||||
@ -719,10 +719,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla-frame.c
|
||||
+ f (s);
|
||||
+ return 0;
|
||||
+}
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla-frame.exp
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.base/vla-frame.exp
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla-frame.exp 2014-06-16 23:30:30.110940485 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.base/vla-frame.exp 2015-11-03 22:23:27.213877611 +0100
|
||||
@@ -0,0 +1,38 @@
|
||||
+# Copyright 2011 Free Software Foundation, Inc.
|
||||
+#
|
||||
@ -762,10 +762,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla-frame.exp
|
||||
+}
|
||||
+
|
||||
+gdb_test "bt full" "\r\n +s = \"X\\\\000\"\r\n.*"
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla-overflow.c
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.base/vla-overflow.c
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla-overflow.c 2014-06-16 23:30:30.110940485 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.base/vla-overflow.c 2015-11-03 22:23:27.213877611 +0100
|
||||
@@ -0,0 +1,30 @@
|
||||
+/* This testcase is part of GDB, the GNU debugger.
|
||||
+
|
||||
@ -797,10 +797,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla-overflow.c
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla-overflow.exp
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.base/vla-overflow.exp
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla-overflow.exp 2014-06-16 23:30:30.110940485 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.base/vla-overflow.exp 2015-11-03 22:23:27.213877611 +0100
|
||||
@@ -0,0 +1,109 @@
|
||||
+# Copyright 2008 Free Software Foundation, Inc.
|
||||
+
|
||||
@ -911,10 +911,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla-overflow.exp
|
||||
+gdb_test "bt" "in \[^ \]*abort \\(.* in main \\(.*" "Backtrace after abort()"
|
||||
+
|
||||
+verbose -log "kb_found in bt after abort() = [expr [memory_v_pages_get] * $pagesize / 1024]"
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla.c
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.base/vla.c
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla.c 2014-06-16 23:30:30.110940485 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.base/vla.c 2015-11-03 22:23:27.213877611 +0100
|
||||
@@ -0,0 +1,55 @@
|
||||
+/* This testcase is part of GDB, the GNU debugger.
|
||||
+
|
||||
@ -971,10 +971,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla.c
|
||||
+ foo (78);
|
||||
+ return 0;
|
||||
+}
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla.exp
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.base/vla.exp
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla.exp 2014-06-16 23:30:30.110940485 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.base/vla.exp 2015-11-03 22:23:27.214877617 +0100
|
||||
@@ -0,0 +1,62 @@
|
||||
+# Copyright 2008 Free Software Foundation, Inc.
|
||||
+
|
||||
@ -1038,10 +1038,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/vla.exp
|
||||
+gdb_test "p temp1" " = '1' <repeats 78 times>" "second: print temp1"
|
||||
+gdb_test "p temp2" " = '2' <repeats 78 times>" "second: print temp2"
|
||||
+gdb_test "p temp3" " = '3' <repeats 48 times>" "second: print temp3"
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.S
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.S
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.S 2014-06-16 23:30:30.111940487 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.S 2015-11-03 22:23:27.214877617 +0100
|
||||
@@ -0,0 +1,246 @@
|
||||
+/* This testcase is part of GDB, the GNU debugger.
|
||||
+
|
||||
@ -1289,11 +1289,11 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.S
|
||||
+ .string "char"
|
||||
+.Luint_str:
|
||||
+ .string "unsigned int"
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.exp
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.exp
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.exp 2014-06-16 23:30:30.111940487 +0200
|
||||
@@ -0,0 +1,63 @@
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.exp 2015-11-03 22:23:27.214877617 +0100
|
||||
@@ -0,0 +1,66 @@
|
||||
+# Copyright 2010 Free Software Foundation, Inc.
|
||||
+
|
||||
+# This program is free software; you can redistribute it and/or modify
|
||||
@ -1332,17 +1332,20 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.exp
|
||||
+
|
||||
+# Verify it behaves at least as an unbound array without inferior.
|
||||
+
|
||||
+set test "p a_string"
|
||||
+gdb_test_multiple $test $test {
|
||||
+ -re " = 0x\[0-9a-f\]+ \"seennotseen\"\r\n$gdb_prompt $" {
|
||||
+ pass $test
|
||||
+ }
|
||||
+ -re "No registers\\.\r\n$gdb_prompt $" {
|
||||
+ kfail "vlaregression" $test
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+gdb_test "ptype a_string" {type = char \[variable length\]}
|
||||
+# FIXME: FSF GDB crashes due to !has_stack_frames ().
|
||||
+# But in practice that should not happen.
|
||||
+# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43762
|
||||
+#set test "p a_string"
|
||||
+#gdb_test_multiple $test $test {
|
||||
+# -re " = 0x\[0-9a-f\]+ \"seennotseen\"\r\n$gdb_prompt $" {
|
||||
+# pass $test
|
||||
+# }
|
||||
+# -re "No registers\\.\r\n$gdb_prompt $" {
|
||||
+# kfail "vlaregression" $test
|
||||
+# }
|
||||
+#}
|
||||
+#
|
||||
+#gdb_test "ptype a_string" {type = char \[variable length\]}
|
||||
+
|
||||
+# Not runto_main as dw2-bound-loclist.S handles only the first byte of main.
|
||||
+if ![runto "*main"] {
|
||||
@ -1357,10 +1360,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.exp
|
||||
+
|
||||
+# The register contains unpredictable value - the array size.
|
||||
+gdb_test "ptype reg_string" {type = char \[-?[0-9]+\]}
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-stripped.c
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.dwarf2/dw2-stripped.c
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-stripped.c 2014-06-16 23:30:30.111940487 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.dwarf2/dw2-stripped.c 2015-11-03 22:23:27.214877617 +0100
|
||||
@@ -0,0 +1,42 @@
|
||||
+/* This testcase is part of GDB, the GNU debugger.
|
||||
+
|
||||
@ -1404,10 +1407,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-stripped.c
|
||||
+ func1 (1, 2);
|
||||
+ return 0;
|
||||
+}
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp 2014-06-16 23:30:30.111940487 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp 2015-11-03 22:23:27.214877617 +0100
|
||||
@@ -0,0 +1,79 @@
|
||||
+# Copyright 2006 Free Software Foundation, Inc.
|
||||
+
|
||||
@ -1488,10 +1491,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-stripped.exp
|
||||
+gdb_test "step" \
|
||||
+ "func.* \\(.*\\) at .*" \
|
||||
+ "step"
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.S
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.S
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.S 2014-06-16 23:30:30.112940488 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.S 2015-11-03 22:23:27.214877617 +0100
|
||||
@@ -0,0 +1,83 @@
|
||||
+/* This testcase is part of GDB, the GNU debugger.
|
||||
+
|
||||
@ -1576,10 +1579,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-locat
|
||||
+
|
||||
+ .byte 0x0 /* Terminator */
|
||||
+ .byte 0x0 /* Terminator */
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.exp
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.exp
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.exp 2014-06-16 23:30:30.112940488 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-location.exp 2015-11-03 22:23:27.214877617 +0100
|
||||
@@ -0,0 +1,37 @@
|
||||
+# Copyright 2009 Free Software Foundation, Inc.
|
||||
+
|
||||
@ -1618,10 +1621,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-struct-member-data-locat
|
||||
+clean_restart $binfile
|
||||
+
|
||||
+gdb_test "ptype struct some_struct" "type = struct some_struct {\[\r\n \t\]*void field;\[\r\n \t\]*}"
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.S
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.S
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.S 2014-06-16 23:30:30.112940488 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.S 2015-11-03 22:23:27.214877617 +0100
|
||||
@@ -0,0 +1,121 @@
|
||||
+/* This testcase is part of GDB, the GNU debugger.
|
||||
+
|
||||
@ -1744,10 +1747,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.S
|
||||
+ .byte 0x0 /* Terminator */
|
||||
+
|
||||
+ .byte 0x0 /* Terminator */
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.exp
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.exp
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.exp 2014-06-16 23:30:30.112940488 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.exp 2015-11-03 22:23:27.215877623 +0100
|
||||
@@ -0,0 +1,39 @@
|
||||
+# Copyright 2012 Free Software Foundation, Inc.
|
||||
+
|
||||
@ -1788,10 +1791,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.dwarf2/dw2-subrange-no-type.exp
|
||||
+
|
||||
+gdb_test "ptype notype_string" {type = char \[129\]}
|
||||
+gdb_test "p notype_string" " = 'x' <repeats 129 times>"
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/dwarf-stride.exp
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/dwarf-stride.exp
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/dwarf-stride.exp 2014-06-16 23:30:30.112940488 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/dwarf-stride.exp 2015-11-03 22:23:27.215877623 +0100
|
||||
@@ -0,0 +1,42 @@
|
||||
+# Copyright 2009 Free Software Foundation, Inc.
|
||||
+
|
||||
@ -1835,10 +1838,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/dwarf-stride.exp
|
||||
+gdb_continue_to_breakpoint "break-here" ".*break-here.*"
|
||||
+gdb_test "p c40pt(1)" " = '0-hello.*"
|
||||
+gdb_test "p c40pt(2)" " = '1-hello.*"
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/dwarf-stride.f90
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/dwarf-stride.f90
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/dwarf-stride.f90 2014-06-16 23:30:30.112940488 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/dwarf-stride.f90 2015-11-03 22:23:27.215877623 +0100
|
||||
@@ -0,0 +1,40 @@
|
||||
+! Copyright 2009 Free Software Foundation, Inc.
|
||||
+!
|
||||
@ -1880,10 +1883,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/dwarf-stride.f90
|
||||
+ print *, c40pt ! break-here
|
||||
+
|
||||
+end program repro
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/dynamic.exp
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/dynamic.exp
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/dynamic.exp 2014-06-16 23:37:45.568362563 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/dynamic.exp 2015-11-03 22:27:25.481281904 +0100
|
||||
@@ -0,0 +1,151 @@
|
||||
+# Copyright 2007 Free Software Foundation, Inc.
|
||||
+
|
||||
@ -1931,9 +1934,9 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/dynamic.exp
|
||||
+gdb_continue_to_breakpoint "varx-init"
|
||||
+gdb_test "p varx" "\\$\[0-9\]* = <not allocated>" "p varx unallocated"
|
||||
+gdb_test "ptype varx" "type = <not allocated>" "ptype varx unallocated"
|
||||
+gdb_test "p varx(1,5,17)" "no such vector element because not allocated" "p varx(1,5,17) unallocated"
|
||||
+gdb_test "p varx(1,5,17)=1" "no such vector element because not allocated" "p varx(1,5,17)=1 unallocated"
|
||||
+gdb_test "ptype varx(1,5,17)" "no such vector element because not allocated" "ptype varx(1,5,17) unallocated"
|
||||
+gdb_test "p varx(1,5,17)" {no such vector element \(vector not allocated\)} "p varx(1,5,17) unallocated"
|
||||
+gdb_test "p varx(1,5,17)=1" {no such vector element \(vector not allocated\)} "p varx(1,5,17)=1 unallocated"
|
||||
+gdb_test "ptype varx(1,5,17)" {no such vector element \(vector not allocated\)} "ptype varx(1,5,17) unallocated"
|
||||
+
|
||||
+gdb_breakpoint [gdb_get_line_number "varx-allocated"]
|
||||
+gdb_continue_to_breakpoint "varx-allocated"
|
||||
@ -1979,16 +1982,16 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/dynamic.exp
|
||||
+gdb_test "p varv" "\\$\[0-9\]* = (<not associated>|.*(Cannot access it|Unable to access the object) because the object is not associated.)" "p varv deassociated"
|
||||
+gdb_test "ptype varv" "type = (<not associated>|.*(Cannot access it|Unable to access the object) because the object is not associated.)" "ptype varv deassociated"
|
||||
+gdb_test "p l" "\\$\[0-9\]* = \\.FALSE\\." "p l if varv deassociated"
|
||||
+gdb_test "p varv(1,5,17)" "no such vector element because not associated"
|
||||
+gdb_test "ptype varv(1,5,17)" "no such vector element because not associated"
|
||||
+gdb_test "p varv(1,5,17)" {no such vector element \(vector not associated\)}
|
||||
+gdb_test "ptype varv(1,5,17)" {no such vector element \(vector not associated\)}
|
||||
+
|
||||
+gdb_breakpoint [gdb_get_line_number "varx-deallocated"]
|
||||
+gdb_continue_to_breakpoint "varx-deallocated"
|
||||
+gdb_test "p varx" "\\$\[0-9\]* = <not allocated>" "p varx deallocated"
|
||||
+gdb_test "ptype varx" "type = <not allocated>" "ptype varx deallocated"
|
||||
+gdb_test "p l" "\\$\[0-9\]* = \\.FALSE\\." "p l if varx deallocated"
|
||||
+gdb_test "p varx(1,5,17)" "no such vector element because not allocated" "p varx(1,5,17) deallocated"
|
||||
+gdb_test "ptype varx(1,5,17)" "no such vector element because not allocated" "ptype varx(1,5,17) deallocated"
|
||||
+gdb_test "p varx(1,5,17)" {no such vector element \(vector not allocated\)} "p varx(1,5,17) deallocated"
|
||||
+gdb_test "ptype varx(1,5,17)" {no such vector element \(vector not allocated\)} "ptype varx(1,5,17) deallocated"
|
||||
+
|
||||
+gdb_breakpoint [gdb_get_line_number "vary-passed"]
|
||||
+gdb_continue_to_breakpoint "vary-passed"
|
||||
@ -2036,10 +2039,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/dynamic.exp
|
||||
+gdb_test "p vart(3,8)" "\\$\[0-9\]* = 9"
|
||||
+# maps to foo::vary(1,3)
|
||||
+gdb_test "p vart(2,9)" "\\$\[0-9\]* = 10"
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/dynamic.f90
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/dynamic.f90
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/dynamic.f90 2014-06-16 23:30:30.113940488 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/dynamic.f90 2015-11-03 22:23:27.215877623 +0100
|
||||
@@ -0,0 +1,98 @@
|
||||
+! Copyright 2007 Free Software Foundation, Inc.
|
||||
+!
|
||||
@ -2139,10 +2142,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/dynamic.f90
|
||||
+ if (x (1, 1) .ne. 8 .or. x (2, 2) .ne. 9 .or. x (1, 2) .ne. 4) call abort
|
||||
+ if (x (3, 1) .ne. 10) call abort
|
||||
+end
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/string.exp
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/string.exp
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/string.exp 2014-06-16 23:30:30.114940489 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/string.exp 2015-11-03 22:23:27.215877623 +0100
|
||||
@@ -0,0 +1,59 @@
|
||||
+# Copyright 2008 Free Software Foundation, Inc.
|
||||
+
|
||||
@ -2203,10 +2206,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/string.exp
|
||||
+gdb_continue_to_breakpoint "var-finish"
|
||||
+gdb_test "p e" "\\$\[0-9\]* = 'e '" "p e re-set"
|
||||
+gdb_test "p f" "\\$\[0-9\]* = \\(\\( 'f ', 'f ', 'f ', 'f ', 'f ', 'f ', 'f '\\) \\( 'f2 ', 'f ', 'f ', 'f ', 'f ', 'f ', 'f '\\) \\( 'f ', 'f ', 'f ', 'f ', 'f ', 'f ', 'f '\\) \\)" "p *f re-set"
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/string.f90
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/string.f90
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/string.f90 2014-06-16 23:30:30.114940489 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/string.f90 2015-11-03 22:23:27.215877623 +0100
|
||||
@@ -0,0 +1,37 @@
|
||||
+! Copyright 2008 Free Software Foundation, Inc.
|
||||
+!
|
||||
@ -2245,10 +2248,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/string.f90
|
||||
+ h = 'h'
|
||||
+ call foo (g, h)
|
||||
+end
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/subrange.exp
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/subrange.exp
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/subrange.exp 2014-06-16 23:30:30.114940489 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/subrange.exp 2015-11-03 22:23:27.215877623 +0100
|
||||
@@ -0,0 +1,72 @@
|
||||
+# Copyright 2011 Free Software Foundation, Inc.
|
||||
+
|
||||
@ -2322,10 +2325,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/subrange.exp
|
||||
+gdb_unload
|
||||
+setup_kfail "*-*-*" "vlaregression/9999"
|
||||
+gdb_test {p $a (3, 2:2)} { = \(23\)}
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/subrange.f90
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/subrange.f90
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/subrange.f90 2014-06-16 23:30:30.114940489 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.fortran/subrange.f90 2015-11-03 22:23:27.215877623 +0100
|
||||
@@ -0,0 +1,28 @@
|
||||
+! Copyright 2011 Free Software Foundation, Inc.
|
||||
+!
|
||||
@ -2355,10 +2358,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/subrange.f90
|
||||
+ ptr => a
|
||||
+ write (*,*) a ! break-static
|
||||
+end
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.mi/mi2-var-stale-type.c
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.mi/mi2-var-stale-type.c
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.mi/mi2-var-stale-type.c 2014-06-16 23:30:30.114940489 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.mi/mi2-var-stale-type.c 2015-11-03 22:23:27.216877629 +0100
|
||||
@@ -0,0 +1,26 @@
|
||||
+/* Copyright 2011 Free Software Foundation, Inc.
|
||||
+
|
||||
@ -2386,10 +2389,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.mi/mi2-var-stale-type.c
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.mi/mi2-var-stale-type.exp
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.mi/mi2-var-stale-type.exp
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.mi/mi2-var-stale-type.exp 2014-06-16 23:30:30.114940489 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.mi/mi2-var-stale-type.exp 2015-11-03 22:23:27.216877629 +0100
|
||||
@@ -0,0 +1,57 @@
|
||||
+# Copyright 2011 Free Software Foundation, Inc.
|
||||
+#
|
||||
@ -2448,10 +2451,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.mi/mi2-var-stale-type.exp
|
||||
+mi_create_varobj "vla" "vla" "create local variable vla"
|
||||
+
|
||||
+mi_gdb_test "-var-update *" "\\^done,changelist=.*" "-var-update *"
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.opt/array-from-register-func.c
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.opt/array-from-register-func.c
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.opt/array-from-register-func.c 2014-06-16 23:30:30.115940490 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.opt/array-from-register-func.c 2015-11-03 22:23:27.216877629 +0100
|
||||
@@ -0,0 +1,22 @@
|
||||
+/* This file is part of GDB, the GNU debugger.
|
||||
+
|
||||
@ -2475,10 +2478,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.opt/array-from-register-func.c
|
||||
+{
|
||||
+ return arr[0];
|
||||
+}
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.opt/array-from-register.c
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.opt/array-from-register.c
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.opt/array-from-register.c 2014-06-16 23:30:30.115940490 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.opt/array-from-register.c 2015-11-03 22:23:27.216877629 +0100
|
||||
@@ -0,0 +1,28 @@
|
||||
+/* This file is part of GDB, the GNU debugger.
|
||||
+
|
||||
@ -2508,10 +2511,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.opt/array-from-register.c
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.opt/array-from-register.exp
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.opt/array-from-register.exp
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.opt/array-from-register.exp 2014-06-16 23:30:30.115940490 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.opt/array-from-register.exp 2015-11-03 22:23:27.216877629 +0100
|
||||
@@ -0,0 +1,33 @@
|
||||
+# Copyright 2009 Free Software Foundation, Inc.
|
||||
+#
|
||||
@ -2546,10 +2549,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.opt/array-from-register.exp
|
||||
+# Seen regression:
|
||||
+# Address requested for identifier "arr" which is in register $rdi
|
||||
+gdb_test "p arr\[0\]" "\\$\[0-9\]+ = 42"
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.pascal/arrays.exp
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.pascal/arrays.exp
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.pascal/arrays.exp 2014-06-16 23:30:30.115940490 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.pascal/arrays.exp 2015-11-03 22:23:27.216877629 +0100
|
||||
@@ -0,0 +1,104 @@
|
||||
+# Copyright 2008, 2009 Free Software Foundation, Inc.
|
||||
+#
|
||||
@ -2655,10 +2658,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.pascal/arrays.exp
|
||||
+}
|
||||
+gdb_test "print DynArrChar" ".* = 'abcdefghijklm'" "Print dynamic array of char"
|
||||
+
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.pascal/arrays.pas
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/gdb.pascal/arrays.pas
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.pascal/arrays.pas 2014-06-16 23:30:30.115940490 +0200
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/gdb.pascal/arrays.pas 2015-11-03 22:23:27.216877629 +0100
|
||||
@@ -0,0 +1,82 @@
|
||||
+{
|
||||
+ Copyright 2008, 2009 Free Software Foundation, Inc.
|
||||
@ -2742,11 +2745,11 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.pascal/arrays.pas
|
||||
+ s := 'test'#0'string';
|
||||
+ writeln(s); { set breakpoint 2 here }
|
||||
+end.
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/lib/gdb.exp
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/lib/gdb.exp
|
||||
===================================================================
|
||||
--- gdb-7.7.90.20140613.orig/gdb/testsuite/lib/gdb.exp 2014-06-16 23:30:29.278939700 +0200
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/lib/gdb.exp 2014-06-16 23:30:30.117940492 +0200
|
||||
@@ -159,6 +159,11 @@ proc gdb_unload {} {
|
||||
--- gdb-7.10.50.20151027.orig/gdb/testsuite/lib/gdb.exp 2015-11-03 22:23:26.684874457 +0100
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/lib/gdb.exp 2015-11-03 22:23:27.217877635 +0100
|
||||
@@ -173,6 +173,11 @@ proc gdb_unload {} {
|
||||
send_gdb "y\n"
|
||||
exp_continue
|
||||
}
|
||||
@ -2758,10 +2761,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/lib/gdb.exp
|
||||
-re "Discard symbol table from .*y or n.*$" {
|
||||
send_gdb "y\n"
|
||||
exp_continue
|
||||
Index: gdb-7.7.90.20140613/gdb/testsuite/lib/pascal.exp
|
||||
Index: gdb-7.10.50.20151027/gdb/testsuite/lib/pascal.exp
|
||||
===================================================================
|
||||
--- gdb-7.7.90.20140613.orig/gdb/testsuite/lib/pascal.exp 2014-06-13 03:59:37.000000000 +0200
|
||||
+++ gdb-7.7.90.20140613/gdb/testsuite/lib/pascal.exp 2014-06-16 23:30:30.117940492 +0200
|
||||
--- gdb-7.10.50.20151027.orig/gdb/testsuite/lib/pascal.exp 2015-10-27 02:48:32.000000000 +0100
|
||||
+++ gdb-7.10.50.20151027/gdb/testsuite/lib/pascal.exp 2015-11-03 22:23:27.217877635 +0100
|
||||
@@ -37,6 +37,9 @@ proc pascal_init {} {
|
||||
global pascal_compiler_is_fpc
|
||||
global gpc_compiler
|
||||
|
@ -37,13 +37,13 @@ gdb/gdbserver/
|
||||
(linux_create_inferior, linux_tracefork_child): Call it instead of
|
||||
direct ptrace.
|
||||
|
||||
Index: gdb-7.9.90.20150709/gdb/nat/linux-ptrace.c
|
||||
Index: gdb-7.10.50.20151022/gdb/nat/linux-ptrace.c
|
||||
===================================================================
|
||||
--- gdb-7.9.90.20150709.orig/gdb/nat/linux-ptrace.c 2015-07-09 18:24:13.705140384 +0200
|
||||
+++ gdb-7.9.90.20150709/gdb/nat/linux-ptrace.c 2015-07-09 18:24:24.911235973 +0200
|
||||
@@ -23,6 +23,10 @@
|
||||
#include "buffer.h"
|
||||
--- gdb-7.10.50.20151022.orig/gdb/nat/linux-ptrace.c 2015-10-22 22:35:00.474917139 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/nat/linux-ptrace.c 2015-10-22 22:35:08.120962729 +0200
|
||||
@@ -24,6 +24,10 @@
|
||||
#include "gdb_wait.h"
|
||||
#include "gdb_ptrace.h"
|
||||
|
||||
+#ifdef HAVE_SELINUX_SELINUX_H
|
||||
+# include <selinux/selinux.h>
|
||||
@ -52,7 +52,7 @@ Index: gdb-7.9.90.20150709/gdb/nat/linux-ptrace.c
|
||||
/* Stores the ptrace options supported by the running kernel.
|
||||
A value of -1 means we did not check for features yet. A value
|
||||
of 0 means there are no supported features. */
|
||||
@@ -47,6 +51,8 @@ linux_ptrace_attach_fail_reason (pid_t p
|
||||
@@ -48,6 +52,8 @@ linux_ptrace_attach_fail_reason (pid_t p
|
||||
buffer_xml_printf (buffer, _("process %d is a zombie "
|
||||
"- the process has already terminated"),
|
||||
(int) pid);
|
||||
@ -61,7 +61,7 @@ Index: gdb-7.9.90.20150709/gdb/nat/linux-ptrace.c
|
||||
}
|
||||
|
||||
/* See linux-ptrace.h. */
|
||||
@@ -581,6 +587,22 @@ linux_ptrace_init_warnings (void)
|
||||
@@ -594,6 +600,22 @@ linux_ptrace_init_warnings (void)
|
||||
linux_ptrace_test_ret_to_nx ();
|
||||
}
|
||||
|
||||
@ -84,11 +84,11 @@ Index: gdb-7.9.90.20150709/gdb/nat/linux-ptrace.c
|
||||
/* Extract extended ptrace event from wait status. */
|
||||
|
||||
int
|
||||
Index: gdb-7.9.90.20150709/gdb/nat/linux-ptrace.h
|
||||
Index: gdb-7.10.50.20151022/gdb/nat/linux-ptrace.h
|
||||
===================================================================
|
||||
--- gdb-7.9.90.20150709.orig/gdb/nat/linux-ptrace.h 2015-07-09 18:24:13.706140392 +0200
|
||||
+++ gdb-7.9.90.20150709/gdb/nat/linux-ptrace.h 2015-07-09 18:24:24.912235981 +0200
|
||||
@@ -157,6 +157,7 @@ extern void linux_ptrace_attach_fail_rea
|
||||
--- gdb-7.10.50.20151022.orig/gdb/nat/linux-ptrace.h 2015-10-22 22:35:00.474917139 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/nat/linux-ptrace.h 2015-10-22 22:35:08.120962729 +0200
|
||||
@@ -164,6 +164,7 @@ extern void linux_ptrace_attach_fail_rea
|
||||
extern char *linux_ptrace_attach_fail_reason_string (ptid_t ptid, int err);
|
||||
|
||||
extern void linux_ptrace_init_warnings (void);
|
||||
@ -96,11 +96,11 @@ Index: gdb-7.9.90.20150709/gdb/nat/linux-ptrace.h
|
||||
extern void linux_check_ptrace_features (void);
|
||||
extern void linux_enable_event_reporting (pid_t pid, int attached);
|
||||
extern void linux_disable_event_reporting (pid_t pid);
|
||||
Index: gdb-7.9.90.20150709/gdb/configure.ac
|
||||
Index: gdb-7.10.50.20151022/gdb/configure.ac
|
||||
===================================================================
|
||||
--- gdb-7.9.90.20150709.orig/gdb/configure.ac 2015-07-09 18:24:13.707140401 +0200
|
||||
+++ gdb-7.9.90.20150709/gdb/configure.ac 2015-07-09 18:24:24.913235990 +0200
|
||||
@@ -2150,6 +2150,10 @@ case $host_os in
|
||||
--- gdb-7.10.50.20151022.orig/gdb/configure.ac 2015-10-22 22:35:00.475917145 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/configure.ac 2015-10-22 22:35:08.121962735 +0200
|
||||
@@ -2096,6 +2096,10 @@ case $host_os in
|
||||
esac
|
||||
AC_DEFINE_UNQUOTED(GDBINIT,"$gdbinit",[The .gdbinit filename.])
|
||||
|
||||
@ -111,11 +111,11 @@ Index: gdb-7.9.90.20150709/gdb/configure.ac
|
||||
dnl Handle optional features that can be enabled.
|
||||
|
||||
# Support for --with-sysroot is a copy of GDB_AC_WITH_DIR,
|
||||
Index: gdb-7.9.90.20150709/gdb/gdbserver/configure.ac
|
||||
Index: gdb-7.10.50.20151022/gdb/gdbserver/configure.ac
|
||||
===================================================================
|
||||
--- gdb-7.9.90.20150709.orig/gdb/gdbserver/configure.ac 2015-07-09 18:24:13.707140401 +0200
|
||||
+++ gdb-7.9.90.20150709/gdb/gdbserver/configure.ac 2015-07-09 18:24:24.913235990 +0200
|
||||
@@ -499,6 +499,10 @@ if $want_ipa ; then
|
||||
--- gdb-7.10.50.20151022.orig/gdb/gdbserver/configure.ac 2015-10-22 22:35:00.475917145 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/gdbserver/configure.ac 2015-10-22 22:35:08.121962735 +0200
|
||||
@@ -502,6 +502,10 @@ if $want_ipa ; then
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -126,11 +126,11 @@ Index: gdb-7.9.90.20150709/gdb/gdbserver/configure.ac
|
||||
AC_SUBST(GDBSERVER_DEPFILES)
|
||||
AC_SUBST(GDBSERVER_LIBS)
|
||||
AC_SUBST(srv_xmlbuiltin)
|
||||
Index: gdb-7.9.90.20150709/gdb/gdbserver/linux-low.c
|
||||
Index: gdb-7.10.50.20151022/gdb/gdbserver/linux-low.c
|
||||
===================================================================
|
||||
--- gdb-7.9.90.20150709.orig/gdb/gdbserver/linux-low.c 2015-07-09 18:24:13.709140418 +0200
|
||||
+++ gdb-7.9.90.20150709/gdb/gdbserver/linux-low.c 2015-07-09 18:24:24.914235998 +0200
|
||||
@@ -755,6 +755,29 @@ add_lwp (ptid_t ptid)
|
||||
--- gdb-7.10.50.20151022.orig/gdb/gdbserver/linux-low.c 2015-10-22 22:35:00.476917151 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/gdbserver/linux-low.c 2015-10-22 22:35:08.122962741 +0200
|
||||
@@ -843,6 +843,29 @@ add_lwp (ptid_t ptid)
|
||||
return lwp;
|
||||
}
|
||||
|
||||
@ -160,7 +160,7 @@ Index: gdb-7.9.90.20150709/gdb/gdbserver/linux-low.c
|
||||
/* Start an inferior process and returns its pid.
|
||||
ALLARGS is a vector of program-name and args. */
|
||||
|
||||
@@ -778,7 +801,7 @@ linux_create_inferior (char *program, ch
|
||||
@@ -866,7 +889,7 @@ linux_create_inferior (char *program, ch
|
||||
if (pid == 0)
|
||||
{
|
||||
close_most_fds ();
|
||||
@ -169,10 +169,10 @@ Index: gdb-7.9.90.20150709/gdb/gdbserver/linux-low.c
|
||||
|
||||
#ifndef __ANDROID__ /* Bionic doesn't use SIGRTMIN the way glibc does. */
|
||||
signal (__SIGRTMIN + 1, SIG_DFL);
|
||||
Index: gdb-7.9.90.20150709/gdb/inf-ptrace.c
|
||||
Index: gdb-7.10.50.20151022/gdb/inf-ptrace.c
|
||||
===================================================================
|
||||
--- gdb-7.9.90.20150709.orig/gdb/inf-ptrace.c 2015-07-09 18:24:13.710140426 +0200
|
||||
+++ gdb-7.9.90.20150709/gdb/inf-ptrace.c 2015-07-09 18:24:24.915236007 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/inf-ptrace.c 2015-10-22 22:35:00.477917156 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/inf-ptrace.c 2015-10-22 22:35:08.122962741 +0200
|
||||
@@ -79,7 +79,15 @@ static void
|
||||
inf_ptrace_me (void)
|
||||
{
|
||||
@ -189,10 +189,10 @@ Index: gdb-7.9.90.20150709/gdb/inf-ptrace.c
|
||||
}
|
||||
|
||||
/* Start a new inferior Unix child process. EXEC_FILE is the file to
|
||||
Index: gdb-7.9.90.20150709/gdb/linux-nat.c
|
||||
Index: gdb-7.10.50.20151022/gdb/linux-nat.c
|
||||
===================================================================
|
||||
--- gdb-7.9.90.20150709.orig/gdb/linux-nat.c 2015-07-09 18:24:13.712140443 +0200
|
||||
+++ gdb-7.9.90.20150709/gdb/linux-nat.c 2015-07-09 18:24:24.916236015 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/linux-nat.c 2015-10-22 22:35:00.477917156 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/linux-nat.c 2015-10-22 22:35:08.123962747 +0200
|
||||
@@ -1184,6 +1184,7 @@ linux_nat_create_inferior (struct target
|
||||
{
|
||||
struct cleanup *restore_personality
|
||||
@ -231,10 +231,10 @@ Index: gdb-7.9.90.20150709/gdb/linux-nat.c
|
||||
|
||||
do_cleanups (restore_personality);
|
||||
}
|
||||
Index: gdb-7.9.90.20150709/gdb/config.in
|
||||
Index: gdb-7.10.50.20151022/gdb/config.in
|
||||
===================================================================
|
||||
--- gdb-7.9.90.20150709.orig/gdb/config.in 2015-07-09 18:24:13.713140452 +0200
|
||||
+++ gdb-7.9.90.20150709/gdb/config.in 2015-07-09 18:24:24.916236015 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/config.in 2015-10-22 22:35:00.478917162 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/config.in 2015-10-22 22:35:08.123962747 +0200
|
||||
@@ -264,6 +264,9 @@
|
||||
/* Define if librpm library is being used. */
|
||||
#undef HAVE_LIBRPM
|
||||
@ -255,11 +255,11 @@ Index: gdb-7.9.90.20150709/gdb/config.in
|
||||
/* Define to 1 if you have the `setlocale' function. */
|
||||
#undef HAVE_SETLOCALE
|
||||
|
||||
Index: gdb-7.9.90.20150709/gdb/configure
|
||||
Index: gdb-7.10.50.20151022/gdb/configure
|
||||
===================================================================
|
||||
--- gdb-7.9.90.20150709.orig/gdb/configure 2015-07-09 18:24:13.718140495 +0200
|
||||
+++ gdb-7.9.90.20150709/gdb/configure 2015-07-09 18:24:24.920236049 +0200
|
||||
@@ -14228,6 +14228,64 @@ cat >>confdefs.h <<_ACEOF
|
||||
--- gdb-7.10.50.20151022.orig/gdb/configure 2015-10-22 22:35:00.480917174 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/configure 2015-10-22 22:35:08.125962759 +0200
|
||||
@@ -14691,6 +14691,64 @@ cat >>confdefs.h <<_ACEOF
|
||||
_ACEOF
|
||||
|
||||
|
||||
@ -324,11 +324,11 @@ Index: gdb-7.9.90.20150709/gdb/configure
|
||||
|
||||
# Support for --with-sysroot is a copy of GDB_AC_WITH_DIR,
|
||||
# except that the argument to --with-sysroot is optional.
|
||||
Index: gdb-7.9.90.20150709/gdb/gdbserver/config.in
|
||||
Index: gdb-7.10.50.20151022/gdb/gdbserver/config.in
|
||||
===================================================================
|
||||
--- gdb-7.9.90.20150709.orig/gdb/gdbserver/config.in 2015-07-09 18:24:13.719140503 +0200
|
||||
+++ gdb-7.9.90.20150709/gdb/gdbserver/config.in 2015-07-09 18:24:24.920236049 +0200
|
||||
@@ -113,6 +113,9 @@
|
||||
--- gdb-7.10.50.20151022.orig/gdb/gdbserver/config.in 2015-10-22 22:35:00.481917180 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/gdbserver/config.in 2015-10-22 22:35:08.126962765 +0200
|
||||
@@ -117,6 +117,9 @@
|
||||
/* Define to 1 if you have the `mcheck' library (-lmcheck). */
|
||||
#undef HAVE_LIBMCHECK
|
||||
|
||||
@ -338,7 +338,7 @@ Index: gdb-7.9.90.20150709/gdb/gdbserver/config.in
|
||||
/* Define if the target supports branch tracing. */
|
||||
#undef HAVE_LINUX_BTRACE
|
||||
|
||||
@@ -189,6 +192,9 @@
|
||||
@@ -196,6 +199,9 @@
|
||||
/* Define to 1 if you have the `setns' function. */
|
||||
#undef HAVE_SETNS
|
||||
|
||||
@ -348,11 +348,11 @@ Index: gdb-7.9.90.20150709/gdb/gdbserver/config.in
|
||||
/* Define to 1 if you have the <sgtty.h> header file. */
|
||||
#undef HAVE_SGTTY_H
|
||||
|
||||
Index: gdb-7.9.90.20150709/gdb/gdbserver/configure
|
||||
Index: gdb-7.10.50.20151022/gdb/gdbserver/configure
|
||||
===================================================================
|
||||
--- gdb-7.9.90.20150709.orig/gdb/gdbserver/configure 2015-07-09 18:24:13.721140520 +0200
|
||||
+++ gdb-7.9.90.20150709/gdb/gdbserver/configure 2015-07-09 18:24:24.922236066 +0200
|
||||
@@ -7022,6 +7022,64 @@ if $want_ipa ; then
|
||||
--- gdb-7.10.50.20151022.orig/gdb/gdbserver/configure 2015-10-22 22:35:00.482917186 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/gdbserver/configure 2015-10-22 22:35:08.127962770 +0200
|
||||
@@ -7290,6 +7290,64 @@ if $want_ipa ; then
|
||||
fi
|
||||
fi
|
||||
|
||||
|
61
gdb-fortran-allocate-not-inited.patch
Normal file
61
gdb-fortran-allocate-not-inited.patch
Normal file
@ -0,0 +1,61 @@
|
||||
http://sourceware.org/ml/gdb-patches/2015-11/msg00127.html
|
||||
Subject: [testsuite patch] Fortran: allocate()d memory is uninitialized
|
||||
|
||||
|
||||
--mP3DRpeJDSE+ciuQ
|
||||
Content-Type: text/plain; charset=us-ascii
|
||||
Content-Disposition: inline
|
||||
|
||||
Hi,
|
||||
|
||||
allocate (vla1 (5)) ! vla1-not-allocated
|
||||
l = allocated(vla1) ! vla1-allocated <------------------
|
||||
|
||||
Expecting: ^(510-data-evaluate-expression vla1[^M
|
||||
]+)?(510\^done,value="\(0, 0, 0, 0, 0\)"[^M
|
||||
]+[(]gdb[)] ^M
|
||||
[ ]*)
|
||||
510-data-evaluate-expression vla1^M
|
||||
510^done,value="(1.82987403e-09, 7.8472714e-44, 1.82987403e-09, 7.8472714e-44, 2.67929926e+20)"^M
|
||||
(gdb) ^M
|
||||
FAIL: gdb.mi/mi-vla-fortran.exp: evaluate allocated vla
|
||||
|
||||
gcc-4.9.2-6.fc21.x86_64
|
||||
|
||||
I think some older gfortran did initialize allocated memory but that is an
|
||||
unspecified behavior. I haven't found any initialization mentioned
|
||||
in Fortran 90 standard (draft) and it is also clearly stated here:
|
||||
https://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/268786
|
||||
Initialization to 0 of allocated arrays (of integers) is an
|
||||
implementation issue. i.e. do not rely on it.
|
||||
|
||||
OK for check-in?
|
||||
|
||||
|
||||
Jan
|
||||
|
||||
--mP3DRpeJDSE+ciuQ
|
||||
Content-Type: text/plain; charset=us-ascii
|
||||
Content-Disposition: inline; filename=1
|
||||
|
||||
gdb/testsuite/ChangeLog
|
||||
2015-11-03 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
* gdb.mi/mi-vla-fortran.exp (evaluate allocated vla): Remove test.
|
||||
|
||||
diff --git a/gdb/testsuite/gdb.mi/mi-vla-fortran.exp b/gdb/testsuite/gdb.mi/mi-vla-fortran.exp
|
||||
index d191623..baee7f8 100644
|
||||
--- a/gdb/testsuite/gdb.mi/mi-vla-fortran.exp
|
||||
+++ b/gdb/testsuite/gdb.mi/mi-vla-fortran.exp
|
||||
@@ -68,8 +68,6 @@ mi_create_breakpoint "-t vla.f90:$bp_lineno" 2 "del" "vla" ".*vla.f90" \
|
||||
mi_run_cmd
|
||||
mi_expect_stop "breakpoint-hit" "vla" "" ".*vla.f90" "$bp_lineno" \
|
||||
{ "" "disp=\"del\"" } "run to breakpoint at line $bp_lineno"
|
||||
-mi_gdb_test "510-data-evaluate-expression vla1" \
|
||||
- "510\\^done,value=\"\\(0, 0, 0, 0, 0\\)\"" "evaluate allocated vla"
|
||||
|
||||
mi_create_varobj_checked vla1_allocated vla1 "real\\\(kind=4\\\) \\\(5\\\)" \
|
||||
"create local variable vla1_allocated"
|
||||
|
||||
--mP3DRpeJDSE+ciuQ--
|
||||
|
268
gdb-nonstop-scratchpad.patch
Normal file
268
gdb-nonstop-scratchpad.patch
Normal file
@ -0,0 +1,268 @@
|
||||
http://sourceware.org/ml/gdb-patches/2015-10/msg00601.html
|
||||
Subject: [PATCH] [PATCH] Don't displaced step when there's a breakpoint in the scratch pad range
|
||||
|
||||
Assuming displaced stepping is enabled, and a breakpoint is set in the
|
||||
memory region of the scratch pad, things break. One of two cases can
|
||||
happen:
|
||||
|
||||
#1 - The breakpoint wasn't inserted yet (all threads were stopped), so
|
||||
after setting up the displaced stepping scratch pad with the
|
||||
adjusted copy of the instruction we're trying to single-step, we
|
||||
insert the breakpoint, which corrupts the scratch pad, and the
|
||||
inferior executes the wrong instruction. (Example below.)
|
||||
This is clearly unacceptable.
|
||||
|
||||
#2 - The breakpoint was already inserted, so setting up the displaced
|
||||
stepping scratch pad overwrites the breakpoint. This is OK in
|
||||
the sense that we already assume that no thread is going to
|
||||
executes the code in the scratch pad range (after initial
|
||||
startup) anyway.
|
||||
|
||||
This commit addresses both cases by simply punting on displaced
|
||||
stepping if we have a breakpoint in the scratch pad range.
|
||||
|
||||
The #1 case above explains a few regressions exposed by the AS/NS
|
||||
series on x86:
|
||||
|
||||
Running ./gdb.dwarf2/callframecfa.exp ...
|
||||
FAIL: gdb.dwarf2/callframecfa.exp: set display for call-frame-cfa
|
||||
FAIL: gdb.dwarf2/callframecfa.exp: step 1 for call-frame-cfa
|
||||
FAIL: gdb.dwarf2/callframecfa.exp: step 2 for call-frame-cfa
|
||||
FAIL: gdb.dwarf2/callframecfa.exp: step 3 for call-frame-cfa
|
||||
FAIL: gdb.dwarf2/callframecfa.exp: step 4 for call-frame-cfa
|
||||
Running ./gdb.dwarf2/typeddwarf.exp ...
|
||||
FAIL: gdb.dwarf2/typeddwarf.exp: continue to breakpoint: continue to typeddwarf.c:53
|
||||
FAIL: gdb.dwarf2/typeddwarf.exp: check value of x at typeddwarf.c:53
|
||||
FAIL: gdb.dwarf2/typeddwarf.exp: check value of y at typeddwarf.c:53
|
||||
FAIL: gdb.dwarf2/typeddwarf.exp: check value of z at typeddwarf.c:53
|
||||
FAIL: gdb.dwarf2/typeddwarf.exp: continue to breakpoint: continue to typeddwarf.c:73
|
||||
FAIL: gdb.dwarf2/typeddwarf.exp: check value of w at typeddwarf.c:73
|
||||
FAIL: gdb.dwarf2/typeddwarf.exp: check value of x at typeddwarf.c:73
|
||||
FAIL: gdb.dwarf2/typeddwarf.exp: check value of y at typeddwarf.c:73
|
||||
FAIL: gdb.dwarf2/typeddwarf.exp: check value of z at typeddwarf.c:73
|
||||
|
||||
Enabling "maint set target-non-stop on" implies displaced stepping
|
||||
enabled as well, and it's the latter that's to blame here. We can see
|
||||
the same failures with "maint set target-non-stop off + set displaced
|
||||
on".
|
||||
|
||||
Diffing (good/bad) gdb.log for callframecfa.exp shows:
|
||||
|
||||
@@ -99,29 +99,29 @@ Breakpoint 2 at 0x80481b0: file q.c, lin
|
||||
continue
|
||||
Continuing.
|
||||
|
||||
-Breakpoint 2, func (arg=77) at q.c:2
|
||||
+Breakpoint 2, func (arg=52301) at q.c:2
|
||||
2 in q.c
|
||||
(gdb) PASS: gdb.dwarf2/callframecfa.exp: continue to breakpoint: continue to breakpoint for call-frame-cfa
|
||||
display arg
|
||||
-1: arg = 77
|
||||
-(gdb) PASS: gdb.dwarf2/callframecfa.exp: set display for call-frame-cfa
|
||||
+1: arg = 52301
|
||||
+(gdb) FAIL: gdb.dwarf2/callframecfa.exp: set display for call-frame-cfa
|
||||
|
||||
The problem is here, when setting up the func call:
|
||||
|
||||
Breakpoint 1, main (argc=-13345, argv=0x0) at q.c:7
|
||||
7 in q.c
|
||||
|
||||
(gdb) disassemble
|
||||
Dump of assembler code for function main:
|
||||
0x080481bb <+0>: push %ebp
|
||||
0x080481bc <+1>: mov %esp,%ebp
|
||||
0x080481be <+3>: sub $0x4,%esp
|
||||
=> 0x080481c1 <+6>: movl $0x4d,(%esp)
|
||||
0x080481c8 <+13>: call 0x80481b0 <func>
|
||||
0x080481cd <+18>: leave
|
||||
0x080481ce <+19>: ret
|
||||
End of assembler dump.
|
||||
(gdb) disassemble /r
|
||||
Dump of assembler code for function main:
|
||||
0x080481bb <+0>: 55 push %ebp
|
||||
0x080481bc <+1>: 89 e5 mov %esp,%ebp
|
||||
0x080481be <+3>: 83 ec 04 sub $0x4,%esp
|
||||
=> 0x080481c1 <+6>: c7 04 24 4d 00 00 00 movl $0x4d,(%esp)
|
||||
0x080481c8 <+13>: e8 e3 ff ff ff call 0x80481b0 <func>
|
||||
0x080481cd <+18>: c9 leave
|
||||
0x080481ce <+19>: c3 ret
|
||||
End of assembler dump.
|
||||
|
||||
Note the breakpoint at main is set at 0x080481c1. Right at the
|
||||
instruction that sets up func's argument. Executing that instruction
|
||||
should write 0x4d to the address pointed at by $esp. However, if we
|
||||
stepi, the program manages to write 52301/0xcc4d there instead (0xcc
|
||||
is int3, the x86 breakpoint instruction), because the breakpoint
|
||||
address is 4 bytes inside the scratch pad location, which is
|
||||
0x080481bd:
|
||||
|
||||
(gdb) p 0x080481c1 - 0x080481bd
|
||||
$1 = 4
|
||||
|
||||
IOW, instead of executing:
|
||||
|
||||
"c7 04 24 4d 00 00 00" [ movl $0x4d,(%esp) ]
|
||||
|
||||
the inferior executes:
|
||||
|
||||
"c7 04 24 4d cc 00 00" [movl $0xcc4d,(%esp) ]
|
||||
|
||||
gdb/ChangeLog:
|
||||
2015-10-26 Pedro Alves <palves@redhat.com>
|
||||
|
||||
* breakpoint.c (breakpoint_in_range_p)
|
||||
(breakpoint_location_address_range_overlap): New functions.
|
||||
* breakpoint.h (breakpoint_in_range_p): New declaration.
|
||||
* infrun.c (displaced_step_prepare_throw): If there's a breakpoint
|
||||
in the scratch pad range, don't displaced step.
|
||||
---
|
||||
gdb/breakpoint.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
gdb/breakpoint.h | 5 +++++
|
||||
gdb/infrun.c | 23 ++++++++++++++++++++++
|
||||
3 files changed, 88 insertions(+)
|
||||
|
||||
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
|
||||
index 2c901ff..5863573 100644
|
||||
--- a/gdb/breakpoint.c
|
||||
+++ b/gdb/breakpoint.c
|
||||
@@ -173,6 +173,10 @@ static int breakpoint_location_address_match (struct bp_location *bl,
|
||||
struct address_space *aspace,
|
||||
CORE_ADDR addr);
|
||||
|
||||
+static int breakpoint_location_address_range_overlap (struct bp_location *,
|
||||
+ struct address_space *,
|
||||
+ CORE_ADDR, int);
|
||||
+
|
||||
static void breakpoints_info (char *, int);
|
||||
|
||||
static void watchpoints_info (char *, int);
|
||||
@@ -4243,6 +4247,40 @@ breakpoint_here_p (struct address_space *aspace, CORE_ADDR pc)
|
||||
return any_breakpoint_here ? ordinary_breakpoint_here : no_breakpoint_here;
|
||||
}
|
||||
|
||||
+/* See breakpoint.h. */
|
||||
+
|
||||
+int
|
||||
+breakpoint_in_range_p (struct address_space *aspace,
|
||||
+ CORE_ADDR addr, ULONGEST len)
|
||||
+{
|
||||
+ struct bp_location *bl, **blp_tmp;
|
||||
+
|
||||
+ ALL_BP_LOCATIONS (bl, blp_tmp)
|
||||
+ {
|
||||
+ if (bl->loc_type != bp_loc_software_breakpoint
|
||||
+ && bl->loc_type != bp_loc_hardware_breakpoint)
|
||||
+ continue;
|
||||
+
|
||||
+ if ((breakpoint_enabled (bl->owner)
|
||||
+ || bl->permanent)
|
||||
+ && breakpoint_location_address_range_overlap (bl, aspace,
|
||||
+ addr, len))
|
||||
+ {
|
||||
+ if (overlay_debugging
|
||||
+ && section_is_overlay (bl->section)
|
||||
+ && !section_is_mapped (bl->section))
|
||||
+ {
|
||||
+ /* Unmapped overlay -- can't be a match. */
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
+ return 1;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
/* Return true if there's a moribund breakpoint at PC. */
|
||||
|
||||
int
|
||||
@@ -7079,6 +7117,28 @@ breakpoint_location_address_match (struct bp_location *bl,
|
||||
aspace, addr)));
|
||||
}
|
||||
|
||||
+/* Returns true if the [ADDR,ADDR+LEN) range in ASPACE overlaps
|
||||
+ breakpoint BL. BL may be a ranged breakpoint. In most targets, a
|
||||
+ match happens only if ASPACE matches the breakpoint's address
|
||||
+ space. On targets that have global breakpoints, the address space
|
||||
+ doesn't really matter. */
|
||||
+
|
||||
+static int
|
||||
+breakpoint_location_address_range_overlap (struct bp_location *bl,
|
||||
+ struct address_space *aspace,
|
||||
+ CORE_ADDR addr, int len)
|
||||
+{
|
||||
+ if (gdbarch_has_global_breakpoints (target_gdbarch ())
|
||||
+ || bl->pspace->aspace == aspace)
|
||||
+ {
|
||||
+ int bl_len = bl->length != 0 ? bl->length : 1;
|
||||
+
|
||||
+ if (mem_ranges_overlap (addr, len, bl->address, bl_len))
|
||||
+ return 1;
|
||||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
/* If LOC1 and LOC2's owners are not tracepoints, returns false directly.
|
||||
Then, if LOC1 and LOC2 represent the same tracepoint location, returns
|
||||
true, otherwise returns false. */
|
||||
diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h
|
||||
index 896d3eb..ee8b2e0 100644
|
||||
--- a/gdb/breakpoint.h
|
||||
+++ b/gdb/breakpoint.h
|
||||
@@ -1146,6 +1146,11 @@ extern int program_breakpoint_here_p (struct gdbarch *gdbarch, CORE_ADDR address
|
||||
extern enum breakpoint_here breakpoint_here_p (struct address_space *,
|
||||
CORE_ADDR);
|
||||
|
||||
+/* Return true if an enabled breakpoint exists in the range defined by
|
||||
+ ADDR and LEN, in ASPACE. */
|
||||
+extern int breakpoint_in_range_p (struct address_space *aspace,
|
||||
+ CORE_ADDR addr, ULONGEST len);
|
||||
+
|
||||
extern int moribund_breakpoint_here_p (struct address_space *, CORE_ADDR);
|
||||
|
||||
extern int breakpoint_inserted_here_p (struct address_space *, CORE_ADDR);
|
||||
diff --git a/gdb/infrun.c b/gdb/infrun.c
|
||||
index 917f9be..ef4ccb4 100644
|
||||
--- a/gdb/infrun.c
|
||||
+++ b/gdb/infrun.c
|
||||
@@ -1729,6 +1729,7 @@ displaced_step_prepare_throw (ptid_t ptid)
|
||||
struct thread_info *tp = find_thread_ptid (ptid);
|
||||
struct regcache *regcache = get_thread_regcache (ptid);
|
||||
struct gdbarch *gdbarch = get_regcache_arch (regcache);
|
||||
+ struct address_space *aspace = get_regcache_aspace (regcache);
|
||||
CORE_ADDR original, copy;
|
||||
ULONGEST len;
|
||||
struct displaced_step_closure *closure;
|
||||
@@ -1784,6 +1785,28 @@ displaced_step_prepare_throw (ptid_t ptid)
|
||||
copy = gdbarch_displaced_step_location (gdbarch);
|
||||
len = gdbarch_max_insn_length (gdbarch);
|
||||
|
||||
+ if (breakpoint_in_range_p (aspace, copy, len))
|
||||
+ {
|
||||
+ /* There's a breakpoint set in the scratch pad location range
|
||||
+ (which is usually around the entry point). We'd either
|
||||
+ install it before resuming, which would overwrite/corrupt the
|
||||
+ scratch pad, or if it was already inserted, this displaced
|
||||
+ step would overwrite it. The latter is OK in the sense that
|
||||
+ we already assume that no thread is going to execute the code
|
||||
+ in the scratch pad range (after initial startup) anyway, but
|
||||
+ the former is unacceptable. Simply punt and fallback to
|
||||
+ stepping over this breakpoint in-line. */
|
||||
+ if (debug_displaced)
|
||||
+ {
|
||||
+ fprintf_unfiltered (gdb_stdlog,
|
||||
+ "displaced: breakpoint set in scratch pad. "
|
||||
+ "Stepping over breakpoint in-line instead.\n");
|
||||
+ }
|
||||
+
|
||||
+ do_cleanups (old_cleanups);
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
/* Save the original contents of the copy area. */
|
||||
displaced->step_saved_copy = (gdb_byte *) xmalloc (len);
|
||||
ignore_cleanups = make_cleanup (free_current_contents,
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,193 +0,0 @@
|
||||
From f469e8ce11672e26feb5ba6f9a134275fcfd5b4f Mon Sep 17 00:00:00 2001
|
||||
From: Sergio Durigan Junior <sergiodj@redhat.com>
|
||||
Date: Fri, 21 Aug 2015 18:13:46 -0400
|
||||
Subject: [PATCH 1/4] Improve error reporting when handling SystemTap SDT
|
||||
probes
|
||||
|
||||
This patch improves the error reporting when handling SystemTap SDT
|
||||
probes. "Handling", in this case, mostly means "parsing".
|
||||
|
||||
On gdb/probe.h, only trivial changes on functions' comments in order
|
||||
to explicitly mention that some of them can throw exceptions. This is
|
||||
just to make the API a bit more clear.
|
||||
|
||||
On gdb/stap-probe.c, I have s/internal_error/error/ on two functions
|
||||
that are responsible for parsing specific bits of the probes'
|
||||
arguments: stap_get_opcode and stap_get_expected_argument_type. It is
|
||||
not correct to call internal_error on such situations because it is
|
||||
not really GDB's fault if the probes have malformed arguments. I also
|
||||
improved the error reported on stap_get_expected_argument_type by also
|
||||
including the probe name on it.
|
||||
|
||||
Aside from that, and perhaps most importantly, I added a check on
|
||||
stap_get_arg to make sure that we don't try to extract an argument
|
||||
from a probe that has no arguments. This check issues an
|
||||
internal_error, because it really means that GDB is doing something it
|
||||
shouldn't.
|
||||
|
||||
Although it can be considered almost trivial, and despite the fact
|
||||
that I am the maintainer for this part of the code, I am posting this
|
||||
patch for review. I will wait a few days, and if nobody has anything
|
||||
to say, I will go ahead and push it.
|
||||
|
||||
gdb/ChangeLog:
|
||||
2015-09-01 Sergio Durigan Junior <sergiodj@redhat.com>
|
||||
|
||||
* probe.h (struct probe_ops) <get_probe_argument_count,
|
||||
evaluate_probe_argument, enable_probe, disable_probe>: Mention in
|
||||
the comment that the function can throw an exception.
|
||||
(get_probe_argument_count): Likewise.
|
||||
(evaluate_probe_argument): Likewise.
|
||||
* stap-probe.c (stap_get_opcode): Call error instead of
|
||||
internal_error.
|
||||
(stap_get_expected_argument_type): Likewise. Add argument
|
||||
'probe'. Improve error message by mentioning the probe's name.
|
||||
(stap_parse_probe_arguments): Adjust call to
|
||||
stap_get_expected_argument_type.
|
||||
(stap_get_arg): Add comment. Assert that 'probe->args_parsed' is
|
||||
not zero. Call internal_error if GDB requests an argument but the
|
||||
probe has no arguments.
|
||||
---
|
||||
gdb/ChangeLog | 17 +++++++++++++++++
|
||||
gdb/probe.h | 20 ++++++++++++++------
|
||||
gdb/stap-probe.c | 29 ++++++++++++++++++++++-------
|
||||
3 files changed, 53 insertions(+), 13 deletions(-)
|
||||
|
||||
Index: gdb-7.10/gdb/probe.h
|
||||
===================================================================
|
||||
--- gdb-7.10.orig/gdb/probe.h
|
||||
+++ gdb-7.10/gdb/probe.h
|
||||
@@ -70,7 +70,8 @@ struct probe_ops
|
||||
CORE_ADDR (*get_probe_address) (struct probe *probe,
|
||||
struct objfile *objfile);
|
||||
|
||||
- /* Return the number of arguments of PROBE. */
|
||||
+ /* Return the number of arguments of PROBE. This function can
|
||||
+ throw an exception. */
|
||||
|
||||
unsigned (*get_probe_argument_count) (struct probe *probe,
|
||||
struct frame_info *frame);
|
||||
@@ -82,7 +83,8 @@ struct probe_ops
|
||||
int (*can_evaluate_probe_arguments) (struct probe *probe);
|
||||
|
||||
/* Evaluate the Nth argument from the PROBE, returning a value
|
||||
- corresponding to it. The argument number is represented N. */
|
||||
+ corresponding to it. The argument number is represented N.
|
||||
+ This function can throw an exception. */
|
||||
|
||||
struct value *(*evaluate_probe_argument) (struct probe *probe,
|
||||
unsigned n,
|
||||
@@ -141,13 +143,15 @@ struct probe_ops
|
||||
|
||||
/* Enable a probe. The semantics of "enabling" a probe depend on
|
||||
the specific backend and the field can be NULL in case enabling
|
||||
- probes is not supported. */
|
||||
+ probes is not supported. This function can throw an
|
||||
+ exception. */
|
||||
|
||||
void (*enable_probe) (struct probe *probe);
|
||||
|
||||
/* Disable a probe. The semantics of "disabling" a probe depend
|
||||
on the specific backend and the field can be NULL in case
|
||||
- disabling probes is not supported. */
|
||||
+ disabling probes is not supported. This function can throw an
|
||||
+ exception. */
|
||||
|
||||
void (*disable_probe) (struct probe *probe);
|
||||
};
|
||||
@@ -264,7 +268,9 @@ extern struct cmd_list_element **info_pr
|
||||
extern CORE_ADDR get_probe_address (struct probe *probe,
|
||||
struct objfile *objfile);
|
||||
|
||||
-/* Return the argument count of the specified probe. */
|
||||
+/* Return the argument count of the specified probe.
|
||||
+
|
||||
+ This function can throw an exception. */
|
||||
|
||||
extern unsigned get_probe_argument_count (struct probe *probe,
|
||||
struct frame_info *frame);
|
||||
@@ -276,7 +282,9 @@ extern unsigned get_probe_argument_count
|
||||
extern int can_evaluate_probe_arguments (struct probe *probe);
|
||||
|
||||
/* Evaluate argument N of the specified probe. N must be between 0
|
||||
- inclusive and get_probe_argument_count exclusive. */
|
||||
+ inclusive and get_probe_argument_count exclusive.
|
||||
+
|
||||
+ This function can throw an exception. */
|
||||
|
||||
extern struct value *evaluate_probe_argument (struct probe *probe,
|
||||
unsigned n,
|
||||
Index: gdb-7.10/gdb/stap-probe.c
|
||||
===================================================================
|
||||
--- gdb-7.10.orig/gdb/stap-probe.c
|
||||
+++ gdb-7.10/gdb/stap-probe.c
|
||||
@@ -313,9 +313,8 @@ stap_get_opcode (const char **s)
|
||||
break;
|
||||
|
||||
default:
|
||||
- internal_error (__FILE__, __LINE__,
|
||||
- _("Invalid opcode in expression `%s' for SystemTap"
|
||||
- "probe"), *s);
|
||||
+ error (_("Invalid opcode in expression `%s' for SystemTap"
|
||||
+ "probe"), *s);
|
||||
}
|
||||
|
||||
return op;
|
||||
@@ -326,7 +325,8 @@ stap_get_opcode (const char **s)
|
||||
|
||||
static struct type *
|
||||
stap_get_expected_argument_type (struct gdbarch *gdbarch,
|
||||
- enum stap_arg_bitness b)
|
||||
+ enum stap_arg_bitness b,
|
||||
+ const struct stap_probe *probe)
|
||||
{
|
||||
switch (b)
|
||||
{
|
||||
@@ -361,8 +361,8 @@ stap_get_expected_argument_type (struct
|
||||
return builtin_type (gdbarch)->builtin_uint64;
|
||||
|
||||
default:
|
||||
- internal_error (__FILE__, __LINE__,
|
||||
- _("Undefined bitness for probe."));
|
||||
+ error (_("Undefined bitness for probe '%s'."),
|
||||
+ probe->p.name);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1172,7 +1172,8 @@ stap_parse_probe_arguments (struct stap_
|
||||
else
|
||||
arg.bitness = STAP_ARG_BITNESS_UNDEFINED;
|
||||
|
||||
- arg.atype = stap_get_expected_argument_type (gdbarch, arg.bitness);
|
||||
+ arg.atype = stap_get_expected_argument_type (gdbarch, arg.bitness,
|
||||
+ probe);
|
||||
|
||||
expr = stap_parse_argument (&cur, arg.atype, gdbarch);
|
||||
|
||||
@@ -1278,12 +1279,26 @@ stap_is_operator (const char *op)
|
||||
return ret;
|
||||
}
|
||||
|
||||
+/* Return argument N of probe PROBE.
|
||||
+
|
||||
+ If the probe's arguments have not been parsed yet, parse them. If
|
||||
+ there are no arguments, throw an exception (error). Otherwise,
|
||||
+ return the requested argument. */
|
||||
+
|
||||
static struct stap_probe_arg *
|
||||
stap_get_arg (struct stap_probe *probe, unsigned n, struct gdbarch *gdbarch)
|
||||
{
|
||||
if (!probe->args_parsed)
|
||||
stap_parse_probe_arguments (probe, gdbarch);
|
||||
|
||||
+ gdb_assert (probe->args_parsed);
|
||||
+ if (probe->args_u.vec == NULL)
|
||||
+ internal_error (__FILE__, __LINE__,
|
||||
+ _("Probe '%s' apparently does not have arguments, but \n"
|
||||
+ "GDB is requesting its argument number %u anyway. "
|
||||
+ "This should not happen. Please report this bug."),
|
||||
+ probe->p.name, n);
|
||||
+
|
||||
return VEC_index (stap_probe_arg_s, probe->args_u.vec, n);
|
||||
}
|
||||
|
@ -1,194 +0,0 @@
|
||||
From 3bd7e5b7ee5ea0b3bbb4030ca841f66faad74f0f Mon Sep 17 00:00:00 2001
|
||||
From: Sergio Durigan Junior <sergiodj@redhat.com>
|
||||
Date: Fri, 21 Aug 2015 18:28:07 -0400
|
||||
Subject: [PATCH 2/4] Catching errors on probes-based dynamic linker interface
|
||||
|
||||
This patch is intended to make the interaction between the
|
||||
probes-based dynamic linker interface and the SystemTap SDT probe code
|
||||
on GDB more robust. It does that by wrapping the calls to the probe
|
||||
API with TRY...CATCH'es, so that any exception thrown will be caught
|
||||
and handled properly.
|
||||
|
||||
The idea for this patch came from
|
||||
<https://bugzilla.redhat.com/show_bug.cgi?id=1196181>, which is a bug
|
||||
initially filed against Fedora GDB (but now under Fedora GLIBC). This
|
||||
bug happens on armhfp (although it could happen on other targets as
|
||||
well), and is triggered because GCC generates a strange argument for
|
||||
one of the probes used by GDB in the dynamic linker interface. As can
|
||||
be seen in the bug, this argument is "-4@.L1052".
|
||||
|
||||
I don't want to discuss the reasons for this argument to be there
|
||||
(this discussion belongs to the bug, or to another thread), but GDB
|
||||
could definitely do a better error handling here. Currently, one sees
|
||||
the following message when there is an error in the probes-based
|
||||
dynamic linker interface:
|
||||
|
||||
(gdb) run
|
||||
Starting program: /bin/inferior
|
||||
warning: Probes-based dynamic linker interface failed.
|
||||
Reverting to original interface.
|
||||
|
||||
Cannot parse expression `.L976 4@r4'.
|
||||
(gdb)
|
||||
|
||||
Which means that one needs to explicitly issue a "continue" command to
|
||||
make GDB continue running the inferior, even though this error is not
|
||||
fatal and GDB will fallback to the old interface automatically.
|
||||
|
||||
This is where this patch helps: it makes GDB still print the necessary
|
||||
warnings or error messages, but it *also* does not stop the inferior
|
||||
unnecessarily.
|
||||
|
||||
I have tested this patch on the systems where this error happens, but
|
||||
I could not come up with a way to create a testcase for it.
|
||||
Nevertheless, it should be straightforward to see that this patch does
|
||||
improve the current situation.
|
||||
|
||||
gdb/ChangeLog:
|
||||
2015-09-01 Sergio Durigan Junior <sergiodj@redhat.com>
|
||||
|
||||
* solib-svr4.c (solib_event_probe_action): Call
|
||||
get_probe_argument_count using TRY...CATCH.
|
||||
(svr4_handle_solib_event): Likewise, for evaluate_probe_argument.
|
||||
---
|
||||
gdb/ChangeLog | 6 ++++++
|
||||
gdb/solib-svr4.c | 43 ++++++++++++++++++++++++++++++++++++++++---
|
||||
2 files changed, 46 insertions(+), 3 deletions(-)
|
||||
|
||||
Index: gdb-7.10/gdb/solib-svr4.c
|
||||
===================================================================
|
||||
--- gdb-7.10.orig/gdb/solib-svr4.c
|
||||
+++ gdb-7.10/gdb/solib-svr4.c
|
||||
@@ -1796,7 +1796,23 @@ solib_event_probe_action (struct probe_a
|
||||
arg0: Lmid_t lmid (mandatory)
|
||||
arg1: struct r_debug *debug_base (mandatory)
|
||||
arg2: struct link_map *new (optional, for incremental updates) */
|
||||
- probe_argc = get_probe_argument_count (pa->probe, frame);
|
||||
+ TRY
|
||||
+ {
|
||||
+ probe_argc = get_probe_argument_count (pa->probe, frame);
|
||||
+ }
|
||||
+ CATCH (ex, RETURN_MASK_ERROR)
|
||||
+ {
|
||||
+ exception_print (gdb_stderr, ex);
|
||||
+ probe_argc = 0;
|
||||
+ }
|
||||
+ END_CATCH
|
||||
+
|
||||
+ /* If get_probe_argument_count throws an exception, probe_argc will
|
||||
+ be set to zero. However, if pa->probe does not have arguments,
|
||||
+ then get_probe_argument_count will succeed but probe_argc will
|
||||
+ also be zero. Both cases happen because of different things, but
|
||||
+ they are treated equally here: action will be set to
|
||||
+ PROBES_INTERFACE_FAILED. */
|
||||
if (probe_argc == 2)
|
||||
action = FULL_RELOAD;
|
||||
else if (probe_argc < 2)
|
||||
@@ -1950,7 +1966,17 @@ svr4_handle_solib_event (void)
|
||||
usm_chain = make_cleanup (resume_section_map_updates_cleanup,
|
||||
current_program_space);
|
||||
|
||||
- val = evaluate_probe_argument (pa->probe, 1, frame);
|
||||
+ TRY
|
||||
+ {
|
||||
+ val = evaluate_probe_argument (pa->probe, 1, frame);
|
||||
+ }
|
||||
+ CATCH (ex, RETURN_MASK_ERROR)
|
||||
+ {
|
||||
+ exception_print (gdb_stderr, ex);
|
||||
+ val = NULL;
|
||||
+ }
|
||||
+ END_CATCH
|
||||
+
|
||||
if (val == NULL)
|
||||
{
|
||||
do_cleanups (old_chain);
|
||||
@@ -1981,7 +2007,18 @@ svr4_handle_solib_event (void)
|
||||
|
||||
if (action == UPDATE_OR_RELOAD)
|
||||
{
|
||||
- val = evaluate_probe_argument (pa->probe, 2, frame);
|
||||
+ TRY
|
||||
+ {
|
||||
+ val = evaluate_probe_argument (pa->probe, 2, frame);
|
||||
+ }
|
||||
+ CATCH (ex, RETURN_MASK_ERROR)
|
||||
+ {
|
||||
+ exception_print (gdb_stderr, ex);
|
||||
+ do_cleanups (old_chain);
|
||||
+ return;
|
||||
+ }
|
||||
+ END_CATCH
|
||||
+
|
||||
if (val != NULL)
|
||||
lm = value_as_address (val);
|
||||
|
||||
From ad1c917a79e8c5aa67657f148415c1bee01b240f Mon Sep 17 00:00:00 2001
|
||||
From: Sergio Durigan Junior <sergiodj@redhat.com>
|
||||
Date: Wed, 2 Sep 2015 00:34:22 -0400
|
||||
Subject: [PATCH 3/4] Initialize variable and silence GCC warning from last
|
||||
commit
|
||||
|
||||
BuildBot e-mailed me to let me know that my last commit broke GDB on
|
||||
RHEL-7.1 s390x. On solib-svr4.c:svr4_handle_solib_event, 'val' now
|
||||
needs to be initialized as NULL because it is inside a TRY..CATCH
|
||||
block. This patch does that. Pushed as obvious.
|
||||
|
||||
gdb/ChangeLog:
|
||||
2015-09-01 Sergio Durigan Junior <sergiodj@redhat.com>
|
||||
|
||||
* solib-svr4.c (svr4_handle_solib_event): Initialize 'val' as NULL
|
||||
---
|
||||
gdb/ChangeLog | 4 ++++
|
||||
gdb/solib-svr4.c | 2 +-
|
||||
2 files changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: gdb-7.10/gdb/solib-svr4.c
|
||||
===================================================================
|
||||
--- gdb-7.10.orig/gdb/solib-svr4.c
|
||||
+++ gdb-7.10/gdb/solib-svr4.c
|
||||
@@ -1918,7 +1918,7 @@ svr4_handle_solib_event (void)
|
||||
struct probe_and_action *pa;
|
||||
enum probe_action action;
|
||||
struct cleanup *old_chain, *usm_chain;
|
||||
- struct value *val;
|
||||
+ struct value *val = NULL;
|
||||
CORE_ADDR pc, debug_base, lm = 0;
|
||||
int is_initial_ns;
|
||||
struct frame_info *frame = get_current_frame ();
|
||||
From 73c6b4756a7cee53c274ed05fddcd079b8b7e57c Mon Sep 17 00:00:00 2001
|
||||
From: Sergio Durigan Junior <sergiodj@redhat.com>
|
||||
Date: Wed, 2 Sep 2015 00:46:43 -0400
|
||||
Subject: [PATCH 4/4] Initialize yet another variable to silence GCC warning
|
||||
from last-but-one commit
|
||||
|
||||
Yet another BuildBot e-mail, yet another breakage on RHEL-7.1 s390x
|
||||
(which uses an older GCC). This time,
|
||||
solib-svr4.c:solib_event_probe_action has the probe_argc variable,
|
||||
which is now inside a TRY..CATCH and therefore needs to be
|
||||
initialized. Pushed as obvious.
|
||||
|
||||
gdb/ChangeLog:
|
||||
2015-09-01 Sergio Durigan Junior <sergiodj@redhat.com>
|
||||
|
||||
* solib-svr4.c (solib_event_probe_action): Initialize 'probe_argc'
|
||||
as zero.
|
||||
---
|
||||
gdb/ChangeLog | 5 +++++
|
||||
gdb/solib-svr4.c | 2 +-
|
||||
2 files changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
2015-09-01 Sergio Durigan Junior <sergiodj@redhat.com>
|
||||
Index: gdb-7.10/gdb/solib-svr4.c
|
||||
===================================================================
|
||||
--- gdb-7.10.orig/gdb/solib-svr4.c
|
||||
+++ gdb-7.10/gdb/solib-svr4.c
|
||||
@@ -1782,7 +1782,7 @@ static enum probe_action
|
||||
solib_event_probe_action (struct probe_and_action *pa)
|
||||
{
|
||||
enum probe_action action;
|
||||
- unsigned probe_argc;
|
||||
+ unsigned probe_argc = 0;
|
||||
struct frame_info *frame = get_current_frame ();
|
||||
|
||||
action = pa->action;
|
@ -1,257 +0,0 @@
|
||||
http://sourceware.org/ml/gdb-patches/2015-09/msg00183.html
|
||||
Subject: [ppc64le patch v3] Use skip_entrypoint for skip_trampoline_code
|
||||
|
||||
|
||||
--mYCpIKhGyMATD0i+
|
||||
Content-Type: text/plain; charset=us-ascii
|
||||
Content-Disposition: inline
|
||||
|
||||
An update to PASS the testcase on non-ppc64le archs.
|
||||
|
||||
--mYCpIKhGyMATD0i+
|
||||
Content-Type: text/plain; charset=us-ascii
|
||||
Content-Disposition: inline; filename=4
|
||||
|
||||
gdb/ChangeLog
|
||||
2015-09-07 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
* linespec.c (minsym_found): Call gdbarch_skip_entrypoint.
|
||||
* ppc64-tdep.c (ppc64_skip_trampoline_code): Rename to ...
|
||||
(ppc64_skip_trampoline_code_1): ... here.
|
||||
(ppc64_skip_trampoline_code): New wrapper function.
|
||||
* symtab.c (find_function_start_sal): Call gdbarch_skip_entrypoint.
|
||||
|
||||
gdb/testsuite/ChangeLog
|
||||
2015-09-07 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
* gdb.opt/solib-intra-step-lib.c: New file.
|
||||
* gdb.opt/solib-intra-step-main.c: New file.
|
||||
* gdb.opt/solib-intra-step.exp: New file.
|
||||
|
||||
diff --git a/gdb/linespec.c b/gdb/linespec.c
|
||||
index 8f102fa..4c29c12 100644
|
||||
--- a/gdb/linespec.c
|
||||
+++ b/gdb/linespec.c
|
||||
@@ -3570,6 +3570,8 @@ minsym_found (struct linespec_state *self, struct objfile *objfile,
|
||||
sal.pc = MSYMBOL_VALUE_ADDRESS (objfile, msymbol);
|
||||
sal.pc = gdbarch_convert_from_func_ptr_addr (gdbarch, sal.pc,
|
||||
¤t_target);
|
||||
+ if (gdbarch_skip_entrypoint_p (gdbarch))
|
||||
+ sal.pc = gdbarch_skip_entrypoint (gdbarch, sal.pc);
|
||||
}
|
||||
else
|
||||
skip_prologue_sal (&sal);
|
||||
diff --git a/gdb/ppc64-tdep.c b/gdb/ppc64-tdep.c
|
||||
index bb23b6a..4a0b93a 100644
|
||||
--- a/gdb/ppc64-tdep.c
|
||||
+++ b/gdb/ppc64-tdep.c
|
||||
@@ -454,8 +454,8 @@ ppc64_standard_linkage4_target (struct frame_info *frame,
|
||||
When the execution direction is EXEC_REVERSE, scan backward to
|
||||
check whether we are in the middle of a PLT stub. */
|
||||
|
||||
-CORE_ADDR
|
||||
-ppc64_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc)
|
||||
+static CORE_ADDR
|
||||
+ppc64_skip_trampoline_code_1 (struct frame_info *frame, CORE_ADDR pc)
|
||||
{
|
||||
#define MAX(a,b) ((a) > (b) ? (a) : (b))
|
||||
unsigned int insns[MAX (MAX (MAX (ARRAY_SIZE (ppc64_standard_linkage1),
|
||||
@@ -530,6 +530,20 @@ ppc64_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc)
|
||||
return 0;
|
||||
}
|
||||
|
||||
+/* Wrapper of ppc64_skip_trampoline_code_1 checking also
|
||||
+ ppc_elfv2_skip_entrypoint. */
|
||||
+
|
||||
+CORE_ADDR
|
||||
+ppc64_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc)
|
||||
+{
|
||||
+ struct gdbarch *gdbarch = get_frame_arch (frame);
|
||||
+
|
||||
+ pc = ppc64_skip_trampoline_code_1 (frame, pc);
|
||||
+ if (pc != 0 && gdbarch_skip_entrypoint_p (gdbarch))
|
||||
+ pc = gdbarch_skip_entrypoint (gdbarch, pc);
|
||||
+ return pc;
|
||||
+}
|
||||
+
|
||||
/* Support for convert_from_func_ptr_addr (ARCH, ADDR, TARG) on PPC64
|
||||
GNU/Linux.
|
||||
|
||||
diff --git a/gdb/symtab.c b/gdb/symtab.c
|
||||
index 1ba691e..f65e809 100644
|
||||
--- a/gdb/symtab.c
|
||||
+++ b/gdb/symtab.c
|
||||
@@ -3629,7 +3629,11 @@ find_function_start_sal (struct symbol *sym, int funfirstline)
|
||||
&& (COMPUNIT_LOCATIONS_VALID (SYMTAB_COMPUNIT (sal.symtab))
|
||||
|| SYMTAB_LANGUAGE (sal.symtab) == language_asm))
|
||||
{
|
||||
+ struct gdbarch *gdbarch = symbol_arch (sym);
|
||||
+
|
||||
sal.pc = BLOCK_START (SYMBOL_BLOCK_VALUE (sym));
|
||||
+ if (gdbarch_skip_entrypoint_p (gdbarch))
|
||||
+ sal.pc = gdbarch_skip_entrypoint (gdbarch, sal.pc);
|
||||
return sal;
|
||||
}
|
||||
|
||||
diff --git a/gdb/testsuite/gdb.opt/solib-intra-step-lib.c b/gdb/testsuite/gdb.opt/solib-intra-step-lib.c
|
||||
new file mode 100644
|
||||
index 0000000..9ab1211
|
||||
--- /dev/null
|
||||
+++ b/gdb/testsuite/gdb.opt/solib-intra-step-lib.c
|
||||
@@ -0,0 +1,30 @@
|
||||
+/* This testcase is part of GDB, the GNU debugger.
|
||||
+
|
||||
+ Copyright 2015 Free Software Foundation, Inc.
|
||||
+
|
||||
+ This program is free software; you can redistribute it and/or modify
|
||||
+ it under the terms of the GNU General Public License as published by
|
||||
+ the Free Software Foundation; either version 3 of the License, or
|
||||
+ (at your option) any later version.
|
||||
+
|
||||
+ This program is distributed in the hope that it will be useful,
|
||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ GNU General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU General Public License
|
||||
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
+
|
||||
+#include <stdlib.h>
|
||||
+
|
||||
+void
|
||||
+shlib_second (int dummy)
|
||||
+{ /* second-retry */
|
||||
+ abort (); /* second-hit */
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+shlib_first (void)
|
||||
+{ /* first-retry */
|
||||
+ shlib_second (0); /* first-hit */
|
||||
+}
|
||||
diff --git a/gdb/testsuite/gdb.opt/solib-intra-step-main.c b/gdb/testsuite/gdb.opt/solib-intra-step-main.c
|
||||
new file mode 100644
|
||||
index 0000000..186bd5f
|
||||
--- /dev/null
|
||||
+++ b/gdb/testsuite/gdb.opt/solib-intra-step-main.c
|
||||
@@ -0,0 +1,25 @@
|
||||
+/* This testcase is part of GDB, the GNU debugger.
|
||||
+
|
||||
+ Copyright 2015 Free Software Foundation, Inc.
|
||||
+
|
||||
+ This program is free software; you can redistribute it and/or modify
|
||||
+ it under the terms of the GNU General Public License as published by
|
||||
+ the Free Software Foundation; either version 3 of the License, or
|
||||
+ (at your option) any later version.
|
||||
+
|
||||
+ This program is distributed in the hope that it will be useful,
|
||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ GNU General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU General Public License
|
||||
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
+
|
||||
+extern void shlib_first (void);
|
||||
+
|
||||
+int
|
||||
+main (void)
|
||||
+{
|
||||
+ shlib_first ();
|
||||
+ return 0;
|
||||
+}
|
||||
diff --git a/gdb/testsuite/gdb.opt/solib-intra-step.exp b/gdb/testsuite/gdb.opt/solib-intra-step.exp
|
||||
new file mode 100644
|
||||
index 0000000..044c4bd
|
||||
--- /dev/null
|
||||
+++ b/gdb/testsuite/gdb.opt/solib-intra-step.exp
|
||||
@@ -0,0 +1,86 @@
|
||||
+# Copyright 2015 Free Software Foundation, Inc.
|
||||
+
|
||||
+# This program is free software; you can redistribute it and/or modify
|
||||
+# it under the terms of the GNU General Public License as published by
|
||||
+# the Free Software Foundation; either version 3 of the License, or
|
||||
+# (at your option) any later version.
|
||||
+#
|
||||
+# This program is distributed in the hope that it will be useful,
|
||||
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+# GNU General Public License for more details.
|
||||
+#
|
||||
+# You should have received a copy of the GNU General Public License
|
||||
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
+
|
||||
+standard_testfile
|
||||
+
|
||||
+if {[skip_shlib_tests]} {
|
||||
+ return 0
|
||||
+}
|
||||
+
|
||||
+# Library file.
|
||||
+set libname "${testfile}-lib"
|
||||
+set srcfile_lib ${srcdir}/${subdir}/${libname}.c
|
||||
+set binfile_lib [standard_output_file ${libname}.so]
|
||||
+set lib_flags [list debug optimize=-O2]
|
||||
+# Binary file.
|
||||
+set testfile "${testfile}-main"
|
||||
+set srcfile ${srcdir}/${subdir}/${testfile}.c
|
||||
+set binfile [standard_output_file ${testfile}]
|
||||
+set bin_flags [list debug shlib=${binfile_lib}]
|
||||
+
|
||||
+if [get_compiler_info] {
|
||||
+ return -1
|
||||
+}
|
||||
+
|
||||
+if { [gdb_compile_shlib ${srcfile_lib} ${binfile_lib} $lib_flags] != ""
|
||||
+ || [gdb_compile ${srcfile} ${binfile} executable $bin_flags] != "" } {
|
||||
+ untested "Could not compile $binfile_lib or $binfile."
|
||||
+ return -1
|
||||
+}
|
||||
+
|
||||
+clean_restart ${binfile}
|
||||
+gdb_load_shlibs $binfile_lib
|
||||
+
|
||||
+if ![runto_main] then {
|
||||
+ return 0
|
||||
+}
|
||||
+
|
||||
+set test "first-hit"
|
||||
+gdb_test_multiple "step" $test {
|
||||
+ -re " first-hit .*\r\n$gdb_prompt $" {
|
||||
+ pass $test
|
||||
+ }
|
||||
+ -re " first-retry .*\r\n$gdb_prompt $" {
|
||||
+ gdb_test "step" " first-hit .*" "first-hit (optimized)"
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+set test "second-hit"
|
||||
+gdb_test_multiple "step" $test {
|
||||
+ -re " second-hit .*\r\n$gdb_prompt $" {
|
||||
+ pass $test
|
||||
+ }
|
||||
+ -re " first-retry .*\r\n$gdb_prompt $" {
|
||||
+ set test "second-hit (optimized 1)"
|
||||
+ gdb_test_multiple "step" $test {
|
||||
+ -re " second-hit .*\r\n$gdb_prompt $" {
|
||||
+ pass $test
|
||||
+ }
|
||||
+ -re " first-hit .*\r\n$gdb_prompt $" {
|
||||
+ gdb_test "step" " second-hit .*" "second-hit (optimized 2)"
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ -re " second-retry .*\r\n$gdb_prompt $" {
|
||||
+ gdb_test "step" " second-hit .*" "second-hit (optimized 3)"
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+if ![runto_main] then {
|
||||
+ return 0
|
||||
+}
|
||||
+
|
||||
+gdb_breakpoint "shlib_second"
|
||||
+gdb_continue_to_breakpoint "second-hit" ".* (second-hit|second-retry) .*"
|
||||
|
||||
--mYCpIKhGyMATD0i+--
|
||||
|
@ -1,220 +0,0 @@
|
||||
http://sourceware.org/ml/gdb-patches/2015-10/msg00166.html
|
||||
Subject: [patch] Fix internal error on DW_OP_bregx(-1)
|
||||
|
||||
|
||||
--ibTvN161/egqYuK8
|
||||
Content-Type: text/plain; charset=us-ascii
|
||||
Content-Disposition: inline
|
||||
|
||||
Hi,
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1270564#c15
|
||||
https://bugzilla.redhat.com/attachment.cgi?id=1081772
|
||||
|
||||
clang-3.5.0-9.fc22.x86_64
|
||||
<3><22b2>: Abbrev Number: 69 (DW_TAG_variable)
|
||||
<22b3> DW_AT_location : 7 byte block: 92 ff ff ff ff f 0 (DW_OP_bregx: 4294967295 (r-1) 0)
|
||||
<22bb> DW_AT_name : (indirect string, offset: 0x2a36): texture_data
|
||||
<22c1> DW_AT_type : <0x1d3>
|
||||
|
||||
(gdb) p variable
|
||||
warning: Unmapped DWARF Register #-1 encountered.
|
||||
regcache.c:177: internal-error: register_size: Assertion `regnum >= 0 && regnum < (gdbarch_num_regs (gdbarch) + gdbarch_num_pseudo_regs (gdbarch))' failed.
|
||||
[...]
|
||||
Quit this debugging session? (y or n) FAIL: gdb.dwarf2/dw2-regno-invalid.exp: p variable (GDB internal error)
|
||||
|
||||
-> (x86_64)
|
||||
(gdb) p variable
|
||||
warning: Unmapped DWARF Register #-1 encountered.
|
||||
Invalid register #-1, expecting 0 <= # < 220
|
||||
(gdb) PASS: gdb.dwarf2/dw2-regno-invalid.exp: p variable
|
||||
-> (i386)
|
||||
(gdb) p variable
|
||||
Invalid register #104, expecting 0 <= # < 104
|
||||
(gdb) PASS: gdb.dwarf2/dw2-regno-invalid.exp: p variable
|
||||
|
||||
GDB calls gdbarch_dwarf2_reg_to_regnum() first which returns -1 in the x86_64
|
||||
case
|
||||
if (regnum == -1)
|
||||
warning (_("Unmapped DWARF Register #%d encountered."), reg);
|
||||
but in i386 case it does:
|
||||
/* This will hopefully provoke a warning. */
|
||||
return gdbarch_num_regs (gdbarch) + gdbarch_num_pseudo_regs (gdbarch);
|
||||
and the default implementation is a nop, leaving whatever register number
|
||||
the DWARF specified.
|
||||
|
||||
No regressions on {x86_64,x86_64-m32,i686}-fedorarawhide-linux-gnu.
|
||||
|
||||
|
||||
Jan
|
||||
|
||||
--ibTvN161/egqYuK8
|
||||
Content-Type: text/plain; charset=us-ascii
|
||||
Content-Disposition: inline; filename="undefreg.patch"
|
||||
|
||||
gdb/ChangeLog
|
||||
2015-10-12 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
* findvar.c (address_from_register): Check REGNUM validity.
|
||||
|
||||
gdb/testsuite/ChangeLog
|
||||
2015-10-12 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
* gdb.dwarf2/dw2-regno-invalid.S: New file.
|
||||
* gdb.dwarf2/dw2-regno-invalid.exp: New file.
|
||||
|
||||
diff --git a/gdb/findvar.c b/gdb/findvar.c
|
||||
index 0f46e53..855947d 100644
|
||||
--- a/gdb/findvar.c
|
||||
+++ b/gdb/findvar.c
|
||||
@@ -927,6 +927,12 @@ address_from_register (int regnum, struct frame_info *frame)
|
||||
struct type *type = builtin_type (gdbarch)->builtin_data_ptr;
|
||||
struct value *value;
|
||||
CORE_ADDR result;
|
||||
+ int regnum_max_excl = (gdbarch_num_regs (gdbarch)
|
||||
+ + gdbarch_num_pseudo_regs (gdbarch));
|
||||
+
|
||||
+ if (regnum < 0 || regnum >= regnum_max_excl)
|
||||
+ error (_("Invalid register #%d, expecting 0 <= # < %d"), regnum,
|
||||
+ regnum_max_excl);
|
||||
|
||||
/* This routine may be called during early unwinding, at a time
|
||||
where the ID of FRAME is not yet known. Calling value_from_register
|
||||
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-regno-invalid.S b/gdb/testsuite/gdb.dwarf2/dw2-regno-invalid.S
|
||||
new file mode 100644
|
||||
index 0000000..075bfd6
|
||||
--- /dev/null
|
||||
+++ b/gdb/testsuite/gdb.dwarf2/dw2-regno-invalid.S
|
||||
@@ -0,0 +1,91 @@
|
||||
+/* Copyright 2015 Free Software Foundation, Inc.
|
||||
+
|
||||
+ This program is free software; you can redistribute it and/or modify
|
||||
+ it under the terms of the GNU General Public License as published by
|
||||
+ the Free Software Foundation; either version 3 of the License, or
|
||||
+ (at your option) any later version.
|
||||
+
|
||||
+ This program is distributed in the hope that it will be useful,
|
||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ GNU General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU General Public License
|
||||
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
+
|
||||
+ .section .debug_info
|
||||
+debug_start:
|
||||
+ .4byte debug_end - 1f /* Length of Compilation Unit Info */
|
||||
+1:
|
||||
+ .2byte 0x3 /* DWARF version number */
|
||||
+ .4byte .Ldebug_abbrev0 /* Offset Into Abbrev. Section */
|
||||
+ .byte 0x4 /* Pointer Size (in bytes) */
|
||||
+ .uleb128 0x1 /* (DIE (0xb) DW_TAG_compile_unit) */
|
||||
+ .ascii "clang-3.5.0-9.fc22.x86_64\0" /* DW_AT_producer */
|
||||
+ .byte 0x1 /* DW_AT_language */
|
||||
+ .ascii "1.c\0" /* DW_AT_name */
|
||||
+ .4byte main_label /* DW_AT_low_pc */
|
||||
+ .4byte main_label+0x10000 /* DW_AT_high_pc */
|
||||
+
|
||||
+ .uleb128 2 /* Abbrev: DW_TAG_subprogram */
|
||||
+ .byte 1 /* DW_AT_external */
|
||||
+ .ascii "main\0" /* DW_AT_name */
|
||||
+ .4byte main_label /* DW_AT_low_pc */
|
||||
+ .4byte main_label+0x10000 /* DW_AT_high_pc */
|
||||
+
|
||||
+ .uleb128 0x4 /* (DW_TAG_variable) */
|
||||
+ .ascii "variable\0" /* DW_AT_name */
|
||||
+ .2byte 2f - 1f /* DW_AT_location: DW_FORM_block2 */
|
||||
+1:
|
||||
+ .byte 0x92 /* DW_OP_bregx */
|
||||
+ .uleb128 0xffffffff
|
||||
+ .sleb128 0
|
||||
+2:
|
||||
+
|
||||
+ .byte 0x0 /* end of children of main */
|
||||
+ .byte 0x0 /* end of children of CU */
|
||||
+debug_end:
|
||||
+
|
||||
+ .section .debug_abbrev
|
||||
+.Ldebug_abbrev0:
|
||||
+ .uleb128 0x1 /* (abbrev code) */
|
||||
+ .uleb128 0x11 /* (TAG: DW_TAG_compile_unit) */
|
||||
+ .byte 0x1 /* DW_children_yes */
|
||||
+ .uleb128 0x25 /* (DW_AT_producer) */
|
||||
+ .uleb128 0x8 /* (DW_FORM_string) */
|
||||
+ .uleb128 0x13 /* (DW_AT_language) */
|
||||
+ .uleb128 0xb /* (DW_FORM_data1) */
|
||||
+ .uleb128 0x3 /* (DW_AT_name) */
|
||||
+ .uleb128 0x8 /* (DW_FORM_string) */
|
||||
+ .uleb128 0x11 /* DW_AT_low_pc */
|
||||
+ .uleb128 0x1 /* DW_FORM_addr */
|
||||
+ .uleb128 0x12 /* DW_AT_high_pc */
|
||||
+ .uleb128 0x1 /* DW_FORM_addr */
|
||||
+ .byte 0x0
|
||||
+ .byte 0x0
|
||||
+
|
||||
+ .uleb128 2 /* Abbrev code */
|
||||
+ .uleb128 0x2e /* DW_TAG_subprogram */
|
||||
+ .byte 1 /* has_children */
|
||||
+ .uleb128 0x3f /* DW_AT_external */
|
||||
+ .uleb128 0xc /* DW_FORM_flag */
|
||||
+ .uleb128 0x3 /* DW_AT_name */
|
||||
+ .uleb128 0x8 /* DW_FORM_string */
|
||||
+ .uleb128 0x11 /* DW_AT_low_pc */
|
||||
+ .uleb128 0x1 /* DW_FORM_addr */
|
||||
+ .uleb128 0x12 /* DW_AT_high_pc */
|
||||
+ .uleb128 0x1 /* DW_FORM_addr */
|
||||
+ .byte 0x0 /* Terminator */
|
||||
+ .byte 0x0 /* Terminator */
|
||||
+
|
||||
+
|
||||
+ .uleb128 0x4 /* (abbrev code) */
|
||||
+ .uleb128 0x34 /* (TAG: DW_TAG_variable) */
|
||||
+ .byte 0x0 /* DW_children_yes */
|
||||
+ .uleb128 0x3 /* (DW_AT_name) */
|
||||
+ .uleb128 0x8 /* (DW_FORM_string) */
|
||||
+ .uleb128 0x02 /* (DW_AT_location) */
|
||||
+ .uleb128 0x3 /* (DW_FORM_block2) */
|
||||
+ .byte 0x0
|
||||
+ .byte 0x0
|
||||
+ .byte 0x0
|
||||
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-regno-invalid.exp b/gdb/testsuite/gdb.dwarf2/dw2-regno-invalid.exp
|
||||
new file mode 100644
|
||||
index 0000000..7c3a404
|
||||
--- /dev/null
|
||||
+++ b/gdb/testsuite/gdb.dwarf2/dw2-regno-invalid.exp
|
||||
@@ -0,0 +1,32 @@
|
||||
+# Copyright 2015 Free Software Foundation, Inc.
|
||||
+
|
||||
+# This program is free software; you can redistribute it and/or modify
|
||||
+# it under the terms of the GNU General Public License as published by
|
||||
+# the Free Software Foundation; either version 3 of the License, or
|
||||
+# (at your option) any later version.
|
||||
+#
|
||||
+# This program is distributed in the hope that it will be useful,
|
||||
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+# GNU General Public License for more details.
|
||||
+#
|
||||
+# You should have received a copy of the GNU General Public License
|
||||
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
+load_lib dwarf.exp
|
||||
+
|
||||
+# This test can only be run on targets which support DWARF-2 and use gas.
|
||||
+if {![dwarf2_support]} {
|
||||
+ return 0
|
||||
+}
|
||||
+
|
||||
+standard_testfile .S main.c
|
||||
+
|
||||
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile} ${srcdir}/${subdir}/${srcfile2}" \
|
||||
+ "${binfile}" executable {}] != "" } {
|
||||
+ return -1
|
||||
+}
|
||||
+
|
||||
+clean_restart ${binfile}
|
||||
+runto_main
|
||||
+
|
||||
+gdb_test "p variable"
|
||||
|
||||
--ibTvN161/egqYuK8--
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -52,11 +52,11 @@ Content-Type: text/x-patch
|
||||
Content-Transfer-Encoding: 7bit
|
||||
Content-Disposition: attachment; filename=bitpos-ensure-size_t.patch
|
||||
|
||||
Index: gdb-7.7.90.20140613/gdb/alpha-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/alpha-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.7.90.20140613.orig/gdb/alpha-tdep.c 2014-06-13 22:14:49.725846383 +0200
|
||||
+++ gdb-7.7.90.20140613/gdb/alpha-tdep.c 2014-06-13 22:14:53.163850081 +0200
|
||||
@@ -414,6 +414,13 @@ alpha_push_dummy_call (struct gdbarch *g
|
||||
--- gdb-7.10.50.20151022.orig/gdb/alpha-tdep.c 2015-10-24 23:03:50.614898025 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/alpha-tdep.c 2015-10-24 23:03:52.099907749 +0200
|
||||
@@ -413,6 +413,13 @@ alpha_push_dummy_call (struct gdbarch *g
|
||||
accumulate_size = 0;
|
||||
else
|
||||
accumulate_size -= sizeof(arg_reg_buffer);
|
||||
@ -70,24 +70,24 @@ Index: gdb-7.7.90.20140613/gdb/alpha-tdep.c
|
||||
sp -= accumulate_size;
|
||||
|
||||
/* Keep sp aligned to a multiple of 16 as the ABI requires. */
|
||||
Index: gdb-7.7.90.20140613/gdb/cp-valprint.c
|
||||
Index: gdb-7.10.50.20151022/gdb/cp-valprint.c
|
||||
===================================================================
|
||||
--- gdb-7.7.90.20140613.orig/gdb/cp-valprint.c 2014-06-13 22:14:49.725846383 +0200
|
||||
+++ gdb-7.7.90.20140613/gdb/cp-valprint.c 2014-06-13 22:14:53.164850081 +0200
|
||||
@@ -538,6 +538,8 @@ cp_print_value (struct type *type, struc
|
||||
--- gdb-7.10.50.20151022.orig/gdb/cp-valprint.c 2015-10-24 23:03:52.100907756 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/cp-valprint.c 2015-10-24 23:06:20.496879433 +0200
|
||||
@@ -536,6 +536,8 @@ cp_print_value (struct type *type, struc
|
||||
gdb_byte *buf;
|
||||
struct cleanup *back_to;
|
||||
|
||||
+ ulongest_fits_host_or_error (TYPE_LENGTH (baseclass));
|
||||
+
|
||||
buf = xmalloc (TYPE_LENGTH (baseclass));
|
||||
buf = (gdb_byte *) xmalloc (TYPE_LENGTH (baseclass));
|
||||
back_to = make_cleanup (xfree, buf);
|
||||
|
||||
Index: gdb-7.7.90.20140613/gdb/dwarf2loc.c
|
||||
Index: gdb-7.10.50.20151022/gdb/dwarf2loc.c
|
||||
===================================================================
|
||||
--- gdb-7.7.90.20140613.orig/gdb/dwarf2loc.c 2014-06-13 22:14:49.726846384 +0200
|
||||
+++ gdb-7.7.90.20140613/gdb/dwarf2loc.c 2014-06-13 22:14:53.166850084 +0200
|
||||
@@ -1666,6 +1666,8 @@ read_pieced_value (struct value *v)
|
||||
--- gdb-7.10.50.20151022.orig/gdb/dwarf2loc.c 2015-10-24 23:03:50.616898039 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/dwarf2loc.c 2015-10-24 23:03:52.101907762 +0200
|
||||
@@ -1744,6 +1744,8 @@ read_pieced_value (struct value *v)
|
||||
|
||||
this_size = (this_size_bits + source_offset_bits % 8 + 7) / 8;
|
||||
source_offset = source_offset_bits / 8;
|
||||
@ -96,7 +96,7 @@ Index: gdb-7.7.90.20140613/gdb/dwarf2loc.c
|
||||
if (buffer_size < this_size)
|
||||
{
|
||||
buffer_size = this_size;
|
||||
@@ -1857,6 +1859,7 @@ write_pieced_value (struct value *to, st
|
||||
@@ -1935,6 +1937,7 @@ write_pieced_value (struct value *to, st
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -104,35 +104,35 @@ Index: gdb-7.7.90.20140613/gdb/dwarf2loc.c
|
||||
if (buffer_size < this_size)
|
||||
{
|
||||
buffer_size = this_size;
|
||||
Index: gdb-7.7.90.20140613/gdb/findcmd.c
|
||||
Index: gdb-7.10.50.20151022/gdb/findcmd.c
|
||||
===================================================================
|
||||
--- gdb-7.7.90.20140613.orig/gdb/findcmd.c 2014-06-13 22:14:49.726846384 +0200
|
||||
+++ gdb-7.7.90.20140613/gdb/findcmd.c 2014-06-13 22:14:53.166850084 +0200
|
||||
@@ -185,6 +185,7 @@ parse_find_args (char *args, ULONGEST *m
|
||||
--- gdb-7.10.50.20151022.orig/gdb/findcmd.c 2015-10-24 23:03:52.101907762 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/findcmd.c 2015-10-24 23:06:57.208119813 +0200
|
||||
@@ -184,6 +184,7 @@ parse_find_args (char *args, ULONGEST *m
|
||||
size_t current_offset = pattern_buf_end - pattern_buf;
|
||||
|
||||
pattern_buf_size = pattern_buf_size_need * 2;
|
||||
+ ulongest_fits_host_or_error (pattern_buf_size);
|
||||
pattern_buf = xrealloc (pattern_buf, pattern_buf_size);
|
||||
pattern_buf = (gdb_byte *) xrealloc (pattern_buf, pattern_buf_size);
|
||||
pattern_buf_end = pattern_buf + current_offset;
|
||||
}
|
||||
Index: gdb-7.7.90.20140613/gdb/p-valprint.c
|
||||
Index: gdb-7.10.50.20151022/gdb/p-valprint.c
|
||||
===================================================================
|
||||
--- gdb-7.7.90.20140613.orig/gdb/p-valprint.c 2014-06-13 22:14:49.728846387 +0200
|
||||
+++ gdb-7.7.90.20140613/gdb/p-valprint.c 2014-06-13 22:14:53.166850084 +0200
|
||||
@@ -772,6 +772,7 @@ pascal_object_print_value (struct type *
|
||||
--- gdb-7.10.50.20151022.orig/gdb/p-valprint.c 2015-10-24 23:03:52.101907762 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/p-valprint.c 2015-10-24 23:07:18.457258950 +0200
|
||||
@@ -768,6 +768,7 @@ pascal_object_print_value (struct type *
|
||||
gdb_byte *buf;
|
||||
struct cleanup *back_to;
|
||||
|
||||
+ ulongest_fits_host_or_error (TYPE_LENGTH (baseclass));
|
||||
buf = xmalloc (TYPE_LENGTH (baseclass));
|
||||
buf = (gdb_byte *) xmalloc (TYPE_LENGTH (baseclass));
|
||||
back_to = make_cleanup (xfree, buf);
|
||||
|
||||
Index: gdb-7.7.90.20140613/gdb/utils.c
|
||||
Index: gdb-7.10.50.20151022/gdb/utils.c
|
||||
===================================================================
|
||||
--- gdb-7.7.90.20140613.orig/gdb/utils.c 2014-06-13 22:14:53.166850084 +0200
|
||||
+++ gdb-7.7.90.20140613/gdb/utils.c 2014-06-13 22:15:16.839875341 +0200
|
||||
@@ -2838,6 +2838,18 @@ string_to_core_addr (const char *my_stri
|
||||
--- gdb-7.10.50.20151022.orig/gdb/utils.c 2015-10-24 23:03:50.617898045 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/utils.c 2015-10-24 23:03:52.102907769 +0200
|
||||
@@ -2835,6 +2835,18 @@ string_to_core_addr (const char *my_stri
|
||||
return addr;
|
||||
}
|
||||
|
||||
@ -151,31 +151,31 @@ Index: gdb-7.7.90.20140613/gdb/utils.c
|
||||
char *
|
||||
gdb_realpath (const char *filename)
|
||||
{
|
||||
Index: gdb-7.7.90.20140613/gdb/valops.c
|
||||
Index: gdb-7.10.50.20151022/gdb/valops.c
|
||||
===================================================================
|
||||
--- gdb-7.7.90.20140613.orig/gdb/valops.c 2014-06-13 22:14:49.730846389 +0200
|
||||
+++ gdb-7.7.90.20140613/gdb/valops.c 2014-06-13 22:14:53.169850088 +0200
|
||||
@@ -2074,6 +2074,7 @@ search_struct_method (const char *name,
|
||||
--- gdb-7.10.50.20151022.orig/gdb/valops.c 2015-10-24 23:03:52.103907775 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/valops.c 2015-10-24 23:08:27.056709599 +0200
|
||||
@@ -2057,6 +2057,7 @@ search_struct_method (const char *name,
|
||||
struct cleanup *back_to;
|
||||
CORE_ADDR address;
|
||||
|
||||
+ ulongest_fits_host_or_error (TYPE_LENGTH (baseclass));
|
||||
tmp = xmalloc (TYPE_LENGTH (baseclass));
|
||||
tmp = (gdb_byte *) xmalloc (TYPE_LENGTH (baseclass));
|
||||
back_to = make_cleanup (xfree, tmp);
|
||||
address = value_address (*arg1p);
|
||||
Index: gdb-7.7.90.20140613/gdb/value.c
|
||||
Index: gdb-7.10.50.20151022/gdb/value.c
|
||||
===================================================================
|
||||
--- gdb-7.7.90.20140613.orig/gdb/value.c 2014-06-13 22:14:49.732846391 +0200
|
||||
+++ gdb-7.7.90.20140613/gdb/value.c 2014-06-13 22:14:53.169850088 +0200
|
||||
@@ -824,6 +824,7 @@ allocate_value_lazy (struct type *type)
|
||||
--- gdb-7.10.50.20151022.orig/gdb/value.c 2015-10-24 23:03:50.619898058 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/value.c 2015-10-24 23:08:00.049531291 +0200
|
||||
@@ -934,6 +934,7 @@ allocate_value_lazy (struct type *type)
|
||||
description correctly. */
|
||||
check_typedef (type);
|
||||
|
||||
+ ulongest_fits_host_or_error (TYPE_LENGTH (type));
|
||||
val = (struct value *) xzalloc (sizeof (struct value));
|
||||
val = XCNEW (struct value);
|
||||
val->contents = NULL;
|
||||
val->next = all_values;
|
||||
@@ -855,6 +856,8 @@ allocate_value_lazy (struct type *type)
|
||||
@@ -964,6 +965,8 @@ allocate_value_lazy (struct type *type)
|
||||
static void
|
||||
allocate_value_contents (struct value *val)
|
||||
{
|
||||
@ -184,7 +184,7 @@ Index: gdb-7.7.90.20140613/gdb/value.c
|
||||
if (!val->contents)
|
||||
val->contents = (gdb_byte *) xzalloc (TYPE_LENGTH (val->enclosing_type));
|
||||
}
|
||||
@@ -2831,8 +2834,12 @@ void
|
||||
@@ -2995,8 +2998,12 @@ void
|
||||
set_value_enclosing_type (struct value *val, struct type *new_encl_type)
|
||||
{
|
||||
if (TYPE_LENGTH (new_encl_type) > TYPE_LENGTH (value_enclosing_type (val)))
|
||||
@ -199,11 +199,11 @@ Index: gdb-7.7.90.20140613/gdb/value.c
|
||||
|
||||
val->enclosing_type = new_encl_type;
|
||||
}
|
||||
Index: gdb-7.7.90.20140613/gdb/vax-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/vax-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.7.90.20140613.orig/gdb/vax-tdep.c 2014-06-13 22:14:49.732846391 +0200
|
||||
+++ gdb-7.7.90.20140613/gdb/vax-tdep.c 2014-06-13 22:14:53.169850088 +0200
|
||||
@@ -223,6 +223,7 @@ vax_return_value (struct gdbarch *gdbarc
|
||||
--- gdb-7.10.50.20151022.orig/gdb/vax-tdep.c 2015-10-24 23:03:50.619898058 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/vax-tdep.c 2015-10-24 23:03:52.105907788 +0200
|
||||
@@ -219,6 +219,7 @@ vax_return_value (struct gdbarch *gdbarc
|
||||
ULONGEST addr;
|
||||
|
||||
regcache_raw_read_unsigned (regcache, VAX_R0_REGNUM, &addr);
|
||||
@ -211,11 +211,11 @@ Index: gdb-7.7.90.20140613/gdb/vax-tdep.c
|
||||
read_memory (addr, readbuf, len);
|
||||
}
|
||||
|
||||
Index: gdb-7.7.90.20140613/gdb/defs.h
|
||||
Index: gdb-7.10.50.20151022/gdb/defs.h
|
||||
===================================================================
|
||||
--- gdb-7.7.90.20140613.orig/gdb/defs.h 2014-06-13 22:14:49.732846391 +0200
|
||||
+++ gdb-7.7.90.20140613/gdb/defs.h 2014-06-13 22:14:53.169850088 +0200
|
||||
@@ -756,4 +756,6 @@ enum block_enum
|
||||
--- gdb-7.10.50.20151022.orig/gdb/defs.h 2015-10-24 23:03:50.619898058 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/defs.h 2015-10-24 23:03:52.105907788 +0200
|
||||
@@ -690,4 +690,6 @@ enum block_enum
|
||||
|
||||
#include "utils.h"
|
||||
|
||||
|
@ -96,11 +96,11 @@ Content-Type: text/x-patch
|
||||
Content-Transfer-Encoding: 7bit
|
||||
Content-Disposition: attachment; filename=bitpos-wp.patch
|
||||
|
||||
Index: gdb-7.8.50.20141228/gdb/arm-linux-nat.c
|
||||
Index: gdb-7.10.50.20151022/gdb/arm-linux-nat.c
|
||||
===================================================================
|
||||
--- gdb-7.8.50.20141228.orig/gdb/arm-linux-nat.c 2015-01-05 22:10:30.170726774 +0100
|
||||
+++ gdb-7.8.50.20141228/gdb/arm-linux-nat.c 2015-01-05 22:10:35.571751324 +0100
|
||||
@@ -1295,7 +1295,7 @@ arm_linux_stopped_by_watchpoint (struct
|
||||
--- gdb-7.10.50.20151022.orig/gdb/arm-linux-nat.c 2015-10-24 23:13:24.617686121 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/arm-linux-nat.c 2015-10-24 23:13:32.051735501 +0200
|
||||
@@ -1209,7 +1209,7 @@ arm_linux_stopped_by_watchpoint (struct
|
||||
static int
|
||||
arm_linux_watchpoint_addr_within_range (struct target_ops *target,
|
||||
CORE_ADDR addr,
|
||||
@ -109,11 +109,11 @@ Index: gdb-7.8.50.20141228/gdb/arm-linux-nat.c
|
||||
{
|
||||
return start <= addr && start + length - 1 >= addr;
|
||||
}
|
||||
Index: gdb-7.8.50.20141228/gdb/ppc-linux-nat.c
|
||||
Index: gdb-7.10.50.20151022/gdb/ppc-linux-nat.c
|
||||
===================================================================
|
||||
--- gdb-7.8.50.20141228.orig/gdb/ppc-linux-nat.c 2015-01-05 22:10:30.171726779 +0100
|
||||
+++ gdb-7.8.50.20141228/gdb/ppc-linux-nat.c 2015-01-05 22:10:35.572751329 +0100
|
||||
@@ -1860,11 +1860,11 @@ can_use_watchpoint_cond_accel (void)
|
||||
--- gdb-7.10.50.20151022.orig/gdb/ppc-linux-nat.c 2015-10-24 23:13:24.617686121 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/ppc-linux-nat.c 2015-10-24 23:13:32.051735501 +0200
|
||||
@@ -1807,11 +1807,11 @@ can_use_watchpoint_cond_accel (void)
|
||||
CONDITION_VALUE will hold the value which should be put in the
|
||||
DVC register. */
|
||||
static void
|
||||
@ -128,7 +128,7 @@ Index: gdb-7.8.50.20141228/gdb/ppc-linux-nat.c
|
||||
CORE_ADDR addr_end_data, addr_end_dvc;
|
||||
|
||||
/* The DVC register compares bytes within fixed-length windows which
|
||||
@@ -1951,7 +1951,7 @@ num_memory_accesses (struct value *v)
|
||||
@@ -1898,7 +1898,7 @@ num_memory_accesses (struct value *v)
|
||||
of the constant. */
|
||||
static int
|
||||
check_condition (CORE_ADDR watch_addr, struct expression *cond,
|
||||
@ -137,7 +137,7 @@ Index: gdb-7.8.50.20141228/gdb/ppc-linux-nat.c
|
||||
{
|
||||
int pc = 1, num_accesses_left, num_accesses_right;
|
||||
struct value *left_val, *right_val, *left_chain, *right_chain;
|
||||
@@ -2019,7 +2019,7 @@ check_condition (CORE_ADDR watch_addr, s
|
||||
@@ -1966,7 +1966,7 @@ check_condition (CORE_ADDR watch_addr, s
|
||||
true. */
|
||||
static int
|
||||
ppc_linux_can_accel_watchpoint_condition (struct target_ops *self,
|
||||
@ -146,16 +146,16 @@ Index: gdb-7.8.50.20141228/gdb/ppc-linux-nat.c
|
||||
struct expression *cond)
|
||||
{
|
||||
CORE_ADDR data_value;
|
||||
@@ -2036,7 +2036,7 @@ ppc_linux_can_accel_watchpoint_condition
|
||||
@@ -1983,7 +1983,7 @@ ppc_linux_can_accel_watchpoint_condition
|
||||
|
||||
static void
|
||||
create_watchpoint_request (struct ppc_hw_breakpoint *p, CORE_ADDR addr,
|
||||
- int len, int rw, struct expression *cond,
|
||||
+ LONGEST len, int rw, struct expression *cond,
|
||||
int insert)
|
||||
- int len, enum target_hw_bp_type type,
|
||||
+ LONGEST len, enum target_hw_bp_type type,
|
||||
struct expression *cond, int insert)
|
||||
{
|
||||
if (len == 1
|
||||
@@ -2302,7 +2302,7 @@ ppc_linux_stopped_by_watchpoint (struct
|
||||
@@ -2249,7 +2249,7 @@ ppc_linux_stopped_by_watchpoint (struct
|
||||
static int
|
||||
ppc_linux_watchpoint_addr_within_range (struct target_ops *target,
|
||||
CORE_ADDR addr,
|
||||
@ -164,11 +164,11 @@ Index: gdb-7.8.50.20141228/gdb/ppc-linux-nat.c
|
||||
{
|
||||
int mask;
|
||||
|
||||
Index: gdb-7.8.50.20141228/gdb/procfs.c
|
||||
Index: gdb-7.10.50.20151022/gdb/procfs.c
|
||||
===================================================================
|
||||
--- gdb-7.8.50.20141228.orig/gdb/procfs.c 2015-01-05 22:10:30.172726783 +0100
|
||||
+++ gdb-7.8.50.20141228/gdb/procfs.c 2015-01-05 22:10:35.573751333 +0100
|
||||
@@ -2426,7 +2426,7 @@ procfs_address_to_host_pointer (CORE_ADD
|
||||
--- gdb-7.10.50.20151022.orig/gdb/procfs.c 2015-10-24 23:13:24.617686121 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/procfs.c 2015-10-24 23:13:32.052735507 +0200
|
||||
@@ -2427,7 +2427,7 @@ procfs_address_to_host_pointer (CORE_ADD
|
||||
#endif
|
||||
|
||||
static int
|
||||
@ -177,7 +177,7 @@ Index: gdb-7.8.50.20141228/gdb/procfs.c
|
||||
{
|
||||
#if !defined (PCWATCH) && !defined (PIOCSWATCH)
|
||||
/* If neither or these is defined, we can't support watchpoints.
|
||||
@@ -4705,7 +4705,7 @@ procfs_pid_to_str (struct target_ops *op
|
||||
@@ -4706,7 +4706,7 @@ procfs_pid_to_str (struct target_ops *op
|
||||
/* Insert a watchpoint. */
|
||||
|
||||
static int
|
||||
@ -186,11 +186,11 @@ Index: gdb-7.8.50.20141228/gdb/procfs.c
|
||||
int after)
|
||||
{
|
||||
#ifndef AIX5
|
||||
Index: gdb-7.8.50.20141228/gdb/remote.c
|
||||
Index: gdb-7.10.50.20151022/gdb/remote.c
|
||||
===================================================================
|
||||
--- gdb-7.8.50.20141228.orig/gdb/remote.c 2015-01-05 22:10:30.174726792 +0100
|
||||
+++ gdb-7.8.50.20141228/gdb/remote.c 2015-01-05 22:10:35.574751338 +0100
|
||||
@@ -8298,7 +8298,7 @@ remote_insert_watchpoint (struct target_
|
||||
--- gdb-7.10.50.20151022.orig/gdb/remote.c 2015-10-24 23:13:24.617686121 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/remote.c 2015-10-24 23:13:32.054735521 +0200
|
||||
@@ -9085,7 +9085,7 @@ remote_insert_watchpoint (struct target_
|
||||
p = strchr (rs->buf, '\0');
|
||||
addr = remote_address_masked (addr);
|
||||
p += hexnumstr (p, (ULONGEST) addr);
|
||||
@ -199,7 +199,7 @@ Index: gdb-7.8.50.20141228/gdb/remote.c
|
||||
|
||||
putpkt (rs->buf);
|
||||
getpkt (&rs->buf, &rs->buf_size, 0);
|
||||
@@ -8318,7 +8318,7 @@ remote_insert_watchpoint (struct target_
|
||||
@@ -9105,7 +9105,7 @@ remote_insert_watchpoint (struct target_
|
||||
|
||||
static int
|
||||
remote_watchpoint_addr_within_range (struct target_ops *target, CORE_ADDR addr,
|
||||
@ -208,7 +208,7 @@ Index: gdb-7.8.50.20141228/gdb/remote.c
|
||||
{
|
||||
CORE_ADDR diff = remote_address_masked (addr - start);
|
||||
|
||||
@@ -8348,7 +8348,7 @@ remote_remove_watchpoint (struct target_
|
||||
@@ -9134,7 +9134,7 @@ remote_remove_watchpoint (struct target_
|
||||
p = strchr (rs->buf, '\0');
|
||||
addr = remote_address_masked (addr);
|
||||
p += hexnumstr (p, (ULONGEST) addr);
|
||||
@ -217,10 +217,10 @@ Index: gdb-7.8.50.20141228/gdb/remote.c
|
||||
putpkt (rs->buf);
|
||||
getpkt (&rs->buf, &rs->buf_size, 0);
|
||||
|
||||
Index: gdb-7.8.50.20141228/gdb/target.c
|
||||
Index: gdb-7.10.50.20151022/gdb/target.c
|
||||
===================================================================
|
||||
--- gdb-7.8.50.20141228.orig/gdb/target.c 2015-01-05 22:10:30.175726797 +0100
|
||||
+++ gdb-7.8.50.20141228/gdb/target.c 2015-01-05 22:10:35.575751342 +0100
|
||||
--- gdb-7.10.50.20151022.orig/gdb/target.c 2015-10-24 23:13:24.617686121 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/target.c 2015-10-24 23:13:32.054735521 +0200
|
||||
@@ -51,7 +51,7 @@ static void generic_tls_error (void) ATT
|
||||
static void default_terminal_info (struct target_ops *, const char *, int);
|
||||
|
||||
@ -230,7 +230,7 @@ Index: gdb-7.8.50.20141228/gdb/target.c
|
||||
|
||||
static int default_region_ok_for_hw_watchpoint (struct target_ops *,
|
||||
CORE_ADDR, LONGEST);
|
||||
@@ -2983,7 +2983,7 @@ default_region_ok_for_hw_watchpoint (str
|
||||
@@ -3140,7 +3140,7 @@ default_region_ok_for_hw_watchpoint (str
|
||||
static int
|
||||
default_watchpoint_addr_within_range (struct target_ops *target,
|
||||
CORE_ADDR addr,
|
||||
@ -239,11 +239,11 @@ Index: gdb-7.8.50.20141228/gdb/target.c
|
||||
{
|
||||
return addr >= start && addr < start + length;
|
||||
}
|
||||
Index: gdb-7.8.50.20141228/gdb/target.h
|
||||
Index: gdb-7.10.50.20151022/gdb/target.h
|
||||
===================================================================
|
||||
--- gdb-7.8.50.20141228.orig/gdb/target.h 2015-01-05 22:10:30.176726802 +0100
|
||||
+++ gdb-7.8.50.20141228/gdb/target.h 2015-01-05 22:10:35.575751342 +0100
|
||||
@@ -483,7 +483,7 @@ struct target_ops
|
||||
--- gdb-7.10.50.20151022.orig/gdb/target.h 2015-10-24 23:13:24.617686121 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/target.h 2015-10-24 23:13:32.055735527 +0200
|
||||
@@ -543,7 +543,7 @@ struct target_ops
|
||||
int (*to_stopped_data_address) (struct target_ops *, CORE_ADDR *)
|
||||
TARGET_DEFAULT_RETURN (0);
|
||||
int (*to_watchpoint_addr_within_range) (struct target_ops *,
|
||||
@ -252,7 +252,7 @@ Index: gdb-7.8.50.20141228/gdb/target.h
|
||||
TARGET_DEFAULT_FUNC (default_watchpoint_addr_within_range);
|
||||
|
||||
/* Documentation of this routine is provided with the corresponding
|
||||
@@ -493,7 +493,7 @@ struct target_ops
|
||||
@@ -553,7 +553,7 @@ struct target_ops
|
||||
TARGET_DEFAULT_FUNC (default_region_ok_for_hw_watchpoint);
|
||||
|
||||
int (*to_can_accel_watchpoint_condition) (struct target_ops *,
|
||||
@ -261,80 +261,11 @@ Index: gdb-7.8.50.20141228/gdb/target.h
|
||||
struct expression *)
|
||||
TARGET_DEFAULT_RETURN (0);
|
||||
int (*to_masked_watch_num_registers) (struct target_ops *,
|
||||
Index: gdb-7.8.50.20141228/gdb/aarch64-linux-nat.c
|
||||
Index: gdb-7.10.50.20151022/gdb/aarch64-linux-nat.c
|
||||
===================================================================
|
||||
--- gdb-7.8.50.20141228.orig/gdb/aarch64-linux-nat.c 2015-01-05 22:10:30.176726802 +0100
|
||||
+++ gdb-7.8.50.20141228/gdb/aarch64-linux-nat.c 2015-01-05 22:10:35.575751342 +0100
|
||||
@@ -424,14 +424,14 @@ aarch64_notify_debug_reg_change (const s
|
||||
static void
|
||||
aarch64_show_debug_reg_state (struct aarch64_debug_reg_state *state,
|
||||
const char *func, CORE_ADDR addr,
|
||||
- int len, int type)
|
||||
+ LONGEST len, int type)
|
||||
{
|
||||
int i;
|
||||
|
||||
fprintf_unfiltered (gdb_stdlog, "%s", func);
|
||||
if (addr || len)
|
||||
- fprintf_unfiltered (gdb_stdlog, " (addr=0x%08lx, len=%d, type=%s)",
|
||||
- (unsigned long) addr, len,
|
||||
+ fprintf_unfiltered (gdb_stdlog, " (addr=0x%08lx, len=%s, type=%s)",
|
||||
+ (unsigned long) addr, plongest (len),
|
||||
type == hw_write ? "hw-write-watchpoint"
|
||||
: (type == hw_read ? "hw-read-watchpoint"
|
||||
: (type == hw_access ? "hw-access-watchpoint"
|
||||
@@ -851,9 +851,10 @@ aarch64_linux_read_description (struct t
|
||||
gdbserver/linux-aarch64-low.c for more information. */
|
||||
|
||||
static void
|
||||
-aarch64_align_watchpoint (CORE_ADDR addr, int len, CORE_ADDR *aligned_addr_p,
|
||||
+aarch64_align_watchpoint (CORE_ADDR addr, LONGEST len,
|
||||
+ CORE_ADDR *aligned_addr_p,
|
||||
int *aligned_len_p, CORE_ADDR *next_addr_p,
|
||||
- int *next_len_p)
|
||||
+ LONGEST *next_len_p)
|
||||
{
|
||||
int aligned_len;
|
||||
unsigned int offset;
|
||||
@@ -1020,7 +1021,7 @@ aarch64_point_encode_ctrl_reg (int type,
|
||||
Return 0 for any non-compliant ADDR and/or LEN; return 1 otherwise. */
|
||||
|
||||
static int
|
||||
-aarch64_point_is_aligned (int is_watchpoint, CORE_ADDR addr, int len)
|
||||
+aarch64_point_is_aligned (int is_watchpoint, CORE_ADDR addr, LONGEST len)
|
||||
{
|
||||
unsigned int alignment = is_watchpoint ? AARCH64_HWP_ALIGNMENT
|
||||
: AARCH64_HBP_ALIGNMENT;
|
||||
@@ -1272,7 +1273,7 @@ aarch64_handle_aligned_watchpoint (int t
|
||||
Return 0 if succeed. */
|
||||
|
||||
static int
|
||||
-aarch64_handle_unaligned_watchpoint (int type, CORE_ADDR addr, int len,
|
||||
+aarch64_handle_unaligned_watchpoint (int type, CORE_ADDR addr, LONGEST len,
|
||||
int is_insert)
|
||||
{
|
||||
struct aarch64_debug_reg_state *state
|
||||
@@ -1297,8 +1298,8 @@ aarch64_handle_unaligned_watchpoint (int
|
||||
fprintf_unfiltered (gdb_stdlog,
|
||||
"handle_unaligned_watchpoint: is_insert: %d\n"
|
||||
" aligned_addr: 0x%08lx, aligned_len: %d\n"
|
||||
-" next_addr: 0x%08lx, next_len: %d\n",
|
||||
- is_insert, aligned_addr, aligned_len, addr, len);
|
||||
+" next_addr: 0x%08lx, next_len: %s\n",
|
||||
+ is_insert, aligned_addr, aligned_len, addr, plongest (len));
|
||||
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
@@ -1310,7 +1311,7 @@ aarch64_handle_unaligned_watchpoint (int
|
||||
/* Implements insertion and removal of a single watchpoint. */
|
||||
|
||||
static int
|
||||
-aarch64_handle_watchpoint (int type, CORE_ADDR addr, int len, int is_insert)
|
||||
+aarch64_handle_watchpoint (int type, CORE_ADDR addr, LONGEST len, int is_insert)
|
||||
{
|
||||
if (aarch64_point_is_aligned (1 /* is_watchpoint */ , addr, len))
|
||||
return aarch64_handle_aligned_watchpoint (type, addr, len, is_insert);
|
||||
@@ -1479,7 +1480,7 @@ aarch64_linux_stopped_by_watchpoint (str
|
||||
--- gdb-7.10.50.20151022.orig/gdb/aarch64-linux-nat.c 2015-10-24 23:13:24.617686121 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/aarch64-linux-nat.c 2015-10-24 23:13:32.055735527 +0200
|
||||
@@ -795,7 +795,7 @@ aarch64_linux_stopped_by_watchpoint (str
|
||||
static int
|
||||
aarch64_linux_watchpoint_addr_within_range (struct target_ops *target,
|
||||
CORE_ADDR addr,
|
||||
@ -343,11 +274,11 @@ Index: gdb-7.8.50.20141228/gdb/aarch64-linux-nat.c
|
||||
{
|
||||
return start <= addr && start + length - 1 >= addr;
|
||||
}
|
||||
Index: gdb-7.8.50.20141228/gdb/target-delegates.c
|
||||
Index: gdb-7.10.50.20151022/gdb/target-delegates.c
|
||||
===================================================================
|
||||
--- gdb-7.8.50.20141228.orig/gdb/target-delegates.c 2015-01-05 22:10:30.177726806 +0100
|
||||
+++ gdb-7.8.50.20141228/gdb/target-delegates.c 2015-01-05 22:12:11.071185408 +0100
|
||||
@@ -607,14 +607,14 @@ debug_stopped_data_address (struct targe
|
||||
--- gdb-7.10.50.20151022.orig/gdb/target-delegates.c 2015-10-24 23:13:24.617686121 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/target-delegates.c 2015-10-24 23:13:32.055735527 +0200
|
||||
@@ -709,14 +709,14 @@ debug_stopped_data_address (struct targe
|
||||
}
|
||||
|
||||
static int
|
||||
@ -364,7 +295,7 @@ Index: gdb-7.8.50.20141228/gdb/target-delegates.c
|
||||
{
|
||||
int result;
|
||||
fprintf_unfiltered (gdb_stdlog, "-> %s->to_watchpoint_addr_within_range (...)\n", debug_target.to_shortname);
|
||||
@@ -626,7 +626,7 @@ debug_watchpoint_addr_within_range (stru
|
||||
@@ -728,7 +728,7 @@ debug_watchpoint_addr_within_range (stru
|
||||
fputs_unfiltered (", ", gdb_stdlog);
|
||||
target_debug_print_CORE_ADDR (arg2);
|
||||
fputs_unfiltered (", ", gdb_stdlog);
|
||||
@ -373,7 +304,7 @@ Index: gdb-7.8.50.20141228/gdb/target-delegates.c
|
||||
fputs_unfiltered (") = ", gdb_stdlog);
|
||||
target_debug_print_int (result);
|
||||
fputs_unfiltered ("\n", gdb_stdlog);
|
||||
@@ -659,20 +659,20 @@ debug_region_ok_for_hw_watchpoint (struc
|
||||
@@ -761,20 +761,20 @@ debug_region_ok_for_hw_watchpoint (struc
|
||||
}
|
||||
|
||||
static int
|
||||
@ -397,7 +328,7 @@ Index: gdb-7.8.50.20141228/gdb/target-delegates.c
|
||||
{
|
||||
int result;
|
||||
fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_accel_watchpoint_condition (...)\n", debug_target.to_shortname);
|
||||
@@ -682,7 +682,7 @@ debug_can_accel_watchpoint_condition (st
|
||||
@@ -784,7 +784,7 @@ debug_can_accel_watchpoint_condition (st
|
||||
fputs_unfiltered (", ", gdb_stdlog);
|
||||
target_debug_print_CORE_ADDR (arg1);
|
||||
fputs_unfiltered (", ", gdb_stdlog);
|
||||
@ -406,3 +337,77 @@ Index: gdb-7.8.50.20141228/gdb/target-delegates.c
|
||||
fputs_unfiltered (", ", gdb_stdlog);
|
||||
target_debug_print_int (arg3);
|
||||
fputs_unfiltered (", ", gdb_stdlog);
|
||||
Index: gdb-7.10.50.20151022/gdb/nat/aarch64-linux-hw-point.c
|
||||
===================================================================
|
||||
--- gdb-7.10.50.20151022.orig/gdb/nat/aarch64-linux-hw-point.c 2015-10-22 03:48:33.000000000 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/nat/aarch64-linux-hw-point.c 2015-10-24 23:12:29.927322845 +0200
|
||||
@@ -111,7 +111,7 @@ aarch64_point_encode_ctrl_reg (enum targ
|
||||
Return 0 for any non-compliant ADDR and/or LEN; return 1 otherwise. */
|
||||
|
||||
static int
|
||||
-aarch64_point_is_aligned (int is_watchpoint, CORE_ADDR addr, int len)
|
||||
+aarch64_point_is_aligned (int is_watchpoint, CORE_ADDR addr, LONGEST len)
|
||||
{
|
||||
unsigned int alignment = 0;
|
||||
|
||||
@@ -180,9 +180,10 @@ aarch64_point_is_aligned (int is_watchpo
|
||||
limitations can be largely relaxed with some further work. */
|
||||
|
||||
static void
|
||||
-aarch64_align_watchpoint (CORE_ADDR addr, int len, CORE_ADDR *aligned_addr_p,
|
||||
+aarch64_align_watchpoint (CORE_ADDR addr, LONGEST len,
|
||||
+ CORE_ADDR *aligned_addr_p,
|
||||
int *aligned_len_p, CORE_ADDR *next_addr_p,
|
||||
- int *next_len_p)
|
||||
+ LONGEST *next_len_p)
|
||||
{
|
||||
int aligned_len;
|
||||
unsigned int offset;
|
||||
@@ -494,7 +495,7 @@ aarch64_handle_aligned_watchpoint (enum
|
||||
|
||||
static int
|
||||
aarch64_handle_unaligned_watchpoint (enum target_hw_bp_type type,
|
||||
- CORE_ADDR addr, int len, int is_insert,
|
||||
+ CORE_ADDR addr, LONGEST len, int is_insert,
|
||||
struct aarch64_debug_reg_state *state)
|
||||
{
|
||||
while (len > 0)
|
||||
@@ -517,9 +518,9 @@ aarch64_handle_unaligned_watchpoint (enu
|
||||
" "
|
||||
"aligned_addr: %s, aligned_len: %d\n"
|
||||
" "
|
||||
- "next_addr: %s, next_len: %d\n",
|
||||
+ "next_addr: %s, next_len: %s\n",
|
||||
is_insert, core_addr_to_string_nz (aligned_addr),
|
||||
- aligned_len, core_addr_to_string_nz (addr), len);
|
||||
+ aligned_len, core_addr_to_string_nz (addr), plongest (len));
|
||||
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
@@ -530,7 +531,7 @@ aarch64_handle_unaligned_watchpoint (enu
|
||||
|
||||
int
|
||||
aarch64_handle_watchpoint (enum target_hw_bp_type type, CORE_ADDR addr,
|
||||
- int len, int is_insert,
|
||||
+ LONGEST len, int is_insert,
|
||||
struct aarch64_debug_reg_state *state)
|
||||
{
|
||||
if (aarch64_point_is_aligned (1 /* is_watchpoint */ , addr, len))
|
||||
@@ -581,14 +582,14 @@ aarch64_linux_set_debug_regs (const stru
|
||||
void
|
||||
aarch64_show_debug_reg_state (struct aarch64_debug_reg_state *state,
|
||||
const char *func, CORE_ADDR addr,
|
||||
- int len, enum target_hw_bp_type type)
|
||||
+ LONGEST len, enum target_hw_bp_type type)
|
||||
{
|
||||
int i;
|
||||
|
||||
debug_printf ("%s", func);
|
||||
if (addr || len)
|
||||
- debug_printf (" (addr=0x%08lx, len=%d, type=%s)",
|
||||
- (unsigned long) addr, len,
|
||||
+ debug_printf (" (addr=0x%08lx, len=%s, type=%s)",
|
||||
+ (unsigned long) addr, plongest (len),
|
||||
type == hw_write ? "hw-write-watchpoint"
|
||||
: (type == hw_read ? "hw-read-watchpoint"
|
||||
: (type == hw_access ? "hw-access-watchpoint"
|
||||
|
@ -137,11 +137,11 @@ Content-Type: text/x-patch
|
||||
Content-Transfer-Encoding: 7bit
|
||||
Content-Disposition: attachment; filename=bitpos-tdep.patch
|
||||
|
||||
Index: gdb-7.9.50.20150520/gdb/alpha-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/alpha-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/alpha-tdep.c 2015-05-31 17:15:01.056868035 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/alpha-tdep.c 2015-05-31 17:15:03.419882846 +0200
|
||||
@@ -298,18 +298,18 @@ alpha_push_dummy_call (struct gdbarch *g
|
||||
--- gdb-7.10.50.20151022.orig/gdb/alpha-tdep.c 2015-10-24 23:14:17.792039327 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/alpha-tdep.c 2015-10-24 23:15:07.615370274 +0200
|
||||
@@ -299,17 +299,17 @@ alpha_push_dummy_call (struct gdbarch *g
|
||||
{
|
||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||
int i;
|
||||
@ -155,8 +155,7 @@ Index: gdb-7.9.50.20150520/gdb/alpha-tdep.c
|
||||
+ ssize_t len;
|
||||
+ ssize_t offset;
|
||||
};
|
||||
struct alpha_arg *alpha_args
|
||||
= (struct alpha_arg *) alloca (nargs * sizeof (struct alpha_arg));
|
||||
struct alpha_arg *alpha_args = XALLOCAVEC (struct alpha_arg, nargs);
|
||||
struct alpha_arg *m_arg;
|
||||
gdb_byte arg_reg_buffer[ALPHA_REGISTER_SIZE * ALPHA_NUM_ARG_REGS];
|
||||
- int required_arg_regs;
|
||||
@ -184,10 +183,10 @@ Index: gdb-7.9.50.20150520/gdb/alpha-tdep.c
|
||||
memcpy (arg_reg_buffer + offset, contents, tlen);
|
||||
offset += tlen;
|
||||
contents += tlen;
|
||||
Index: gdb-7.9.50.20150520/gdb/amd64-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/amd64-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/amd64-tdep.c 2015-05-31 17:15:01.058868047 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/amd64-tdep.c 2015-05-31 17:15:40.253113722 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/amd64-tdep.c 2015-10-24 23:14:17.793039333 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/amd64-tdep.c 2015-10-24 23:14:20.935060204 +0200
|
||||
@@ -701,7 +701,7 @@ amd64_return_value (struct gdbarch *gdba
|
||||
gdb_byte *readbuf, const gdb_byte *writebuf)
|
||||
{
|
||||
@ -199,7 +198,7 @@ Index: gdb-7.9.50.20150520/gdb/amd64-tdep.c
|
||||
int integer_reg = 0;
|
||||
@@ -852,8 +852,8 @@ amd64_push_arguments (struct regcache *r
|
||||
};
|
||||
struct value **stack_args = alloca (nargs * sizeof (struct value *));
|
||||
struct value **stack_args = XALLOCAVEC (struct value *, nargs);
|
||||
int num_stack_args = 0;
|
||||
- int num_elements = 0;
|
||||
- int element = 0;
|
||||
@ -217,10 +216,10 @@ Index: gdb-7.9.50.20150520/gdb/amd64-tdep.c
|
||||
enum amd64_reg_class theclass[2];
|
||||
int needed_integer_regs = 0;
|
||||
int needed_sse_regs = 0;
|
||||
Index: gdb-7.9.50.20150520/gdb/amd64-windows-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/amd64-windows-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/amd64-windows-tdep.c 2015-05-31 17:15:01.059868054 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/amd64-windows-tdep.c 2015-05-31 17:15:03.421882859 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/amd64-windows-tdep.c 2015-10-24 23:14:17.794039340 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/amd64-windows-tdep.c 2015-10-24 23:14:20.935060204 +0200
|
||||
@@ -288,7 +288,7 @@ amd64_windows_return_value (struct gdbar
|
||||
struct type *type, struct regcache *regcache,
|
||||
gdb_byte *readbuf, const gdb_byte *writebuf)
|
||||
@ -230,11 +229,11 @@ Index: gdb-7.9.50.20150520/gdb/amd64-windows-tdep.c
|
||||
int regnum = -1;
|
||||
|
||||
/* See if our value is returned through a register. If it is, then
|
||||
Index: gdb-7.9.50.20150520/gdb/arm-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/arm-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/arm-tdep.c 2015-05-31 17:15:01.069868116 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/arm-tdep.c 2015-05-31 17:15:03.425882884 +0200
|
||||
@@ -3537,7 +3537,7 @@ arm_vfp_cprc_reg_char (enum arm_vfp_cprc
|
||||
--- gdb-7.10.50.20151022.orig/gdb/arm-tdep.c 2015-10-24 23:14:17.800039380 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/arm-tdep.c 2015-10-24 23:14:20.937060217 +0200
|
||||
@@ -3531,7 +3531,7 @@ arm_vfp_cprc_reg_char (enum arm_vfp_cprc
|
||||
array). Vector types are not currently supported, matching the
|
||||
generic AAPCS support. */
|
||||
|
||||
@ -243,7 +242,7 @@ Index: gdb-7.9.50.20150520/gdb/arm-tdep.c
|
||||
arm_vfp_cprc_sub_candidate (struct type *t,
|
||||
enum arm_vfp_cprc_base_type *base_type)
|
||||
{
|
||||
@@ -3600,7 +3600,7 @@ arm_vfp_cprc_sub_candidate (struct type
|
||||
@@ -3594,7 +3594,7 @@ arm_vfp_cprc_sub_candidate (struct type
|
||||
|
||||
case TYPE_CODE_ARRAY:
|
||||
{
|
||||
@ -252,7 +251,7 @@ Index: gdb-7.9.50.20150520/gdb/arm-tdep.c
|
||||
unsigned unitlen;
|
||||
count = arm_vfp_cprc_sub_candidate (TYPE_TARGET_TYPE (t), base_type);
|
||||
if (count == -1)
|
||||
@@ -3620,13 +3620,15 @@ arm_vfp_cprc_sub_candidate (struct type
|
||||
@@ -3614,13 +3614,15 @@ arm_vfp_cprc_sub_candidate (struct type
|
||||
|
||||
case TYPE_CODE_STRUCT:
|
||||
{
|
||||
@ -271,7 +270,7 @@ Index: gdb-7.9.50.20150520/gdb/arm-tdep.c
|
||||
if (sub_count == -1)
|
||||
return -1;
|
||||
count += sub_count;
|
||||
@@ -3646,13 +3648,15 @@ arm_vfp_cprc_sub_candidate (struct type
|
||||
@@ -3640,13 +3642,15 @@ arm_vfp_cprc_sub_candidate (struct type
|
||||
|
||||
case TYPE_CODE_UNION:
|
||||
{
|
||||
@ -290,7 +289,7 @@ Index: gdb-7.9.50.20150520/gdb/arm-tdep.c
|
||||
if (sub_count == -1)
|
||||
return -1;
|
||||
count = (count > sub_count ? count : sub_count);
|
||||
@@ -3688,7 +3692,7 @@ arm_vfp_call_candidate (struct type *t,
|
||||
@@ -3682,7 +3686,7 @@ arm_vfp_call_candidate (struct type *t,
|
||||
int *count)
|
||||
{
|
||||
enum arm_vfp_cprc_base_type b = VFP_CPRC_UNKNOWN;
|
||||
@ -299,7 +298,7 @@ Index: gdb-7.9.50.20150520/gdb/arm-tdep.c
|
||||
if (c <= 0 || c > 4)
|
||||
return 0;
|
||||
*base_type = b;
|
||||
@@ -3769,7 +3773,7 @@ arm_push_dummy_call (struct gdbarch *gdb
|
||||
@@ -3763,7 +3767,7 @@ arm_push_dummy_call (struct gdbarch *gdb
|
||||
|
||||
for (argnum = 0; argnum < nargs; argnum++)
|
||||
{
|
||||
@ -308,28 +307,27 @@ Index: gdb-7.9.50.20150520/gdb/arm-tdep.c
|
||||
struct type *arg_type;
|
||||
struct type *target_type;
|
||||
enum type_code typecode;
|
||||
Index: gdb-7.9.50.20150520/gdb/avr-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/avr-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/avr-tdep.c 2015-05-31 17:15:01.071868129 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/avr-tdep.c 2015-05-31 17:15:03.425882884 +0200
|
||||
@@ -1196,13 +1196,14 @@ avr_dummy_id (struct gdbarch *gdbarch, s
|
||||
--- gdb-7.10.50.20151022.orig/gdb/avr-tdep.c 2015-10-24 23:14:17.801039386 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/avr-tdep.c 2015-10-24 23:15:35.775557325 +0200
|
||||
@@ -1196,13 +1196,13 @@ avr_dummy_id (struct gdbarch *gdbarch, s
|
||||
|
||||
struct stack_item
|
||||
{
|
||||
- int len;
|
||||
+ ssize_t len;
|
||||
struct stack_item *prev;
|
||||
void *data;
|
||||
gdb_byte *data;
|
||||
};
|
||||
|
||||
static struct stack_item *
|
||||
-push_stack_item (struct stack_item *prev, const bfd_byte *contents, int len)
|
||||
+push_stack_item (struct stack_item *prev, const bfd_byte *contents,
|
||||
+ ssize_t len)
|
||||
+push_stack_item (struct stack_item *prev, const bfd_byte *contents, ssize_t len)
|
||||
{
|
||||
struct stack_item *si;
|
||||
si = xmalloc (sizeof (struct stack_item));
|
||||
@@ -1291,12 +1292,12 @@ avr_push_dummy_call (struct gdbarch *gdb
|
||||
si = XNEW (struct stack_item);
|
||||
@@ -1291,12 +1291,12 @@ avr_push_dummy_call (struct gdbarch *gdb
|
||||
|
||||
for (i = 0; i < nargs; i++)
|
||||
{
|
||||
@ -345,10 +343,10 @@ Index: gdb-7.9.50.20150520/gdb/avr-tdep.c
|
||||
|
||||
/* Calculate the potential last register needed. */
|
||||
last_regnum = regnum - (len + (len & 1));
|
||||
Index: gdb-7.9.50.20150520/gdb/bfin-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/bfin-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/bfin-tdep.c 2015-05-31 17:15:01.071868129 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/bfin-tdep.c 2015-05-31 17:15:03.426882890 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/bfin-tdep.c 2015-10-24 23:14:17.802039393 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/bfin-tdep.c 2015-10-24 23:14:20.937060217 +0200
|
||||
@@ -504,7 +504,7 @@ bfin_push_dummy_call (struct gdbarch *gd
|
||||
gdb_byte buf[4];
|
||||
int i;
|
||||
@ -367,10 +365,10 @@ Index: gdb-7.9.50.20150520/gdb/bfin-tdep.c
|
||||
|
||||
sp -= container_len;
|
||||
write_memory (sp, value_contents_writeable (args[i]), container_len);
|
||||
Index: gdb-7.9.50.20150520/gdb/cris-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/cris-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/cris-tdep.c 2015-05-31 17:15:01.073868142 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/cris-tdep.c 2015-05-31 17:15:03.427882897 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/cris-tdep.c 2015-10-24 23:14:17.802039393 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/cris-tdep.c 2015-10-24 23:15:58.902710945 +0200
|
||||
@@ -663,13 +663,13 @@ static CORE_ADDR cris_unwind_sp (struct
|
||||
|
||||
struct stack_item
|
||||
@ -378,16 +376,16 @@ Index: gdb-7.9.50.20150520/gdb/cris-tdep.c
|
||||
- int len;
|
||||
+ ssize_t len;
|
||||
struct stack_item *prev;
|
||||
void *data;
|
||||
gdb_byte *data;
|
||||
};
|
||||
|
||||
static struct stack_item *
|
||||
-push_stack_item (struct stack_item *prev, const gdb_byte *contents, int len)
|
||||
+push_stack_item (struct stack_item *prev, const gdb_byte *contents, ssize_t len)
|
||||
{
|
||||
struct stack_item *si;
|
||||
si = xmalloc (sizeof (struct stack_item));
|
||||
@@ -842,13 +842,13 @@ cris_push_dummy_call (struct gdbarch *gd
|
||||
struct stack_item *si = XNEW (struct stack_item);
|
||||
si->data = (gdb_byte *) xmalloc (len);
|
||||
@@ -841,13 +841,13 @@ cris_push_dummy_call (struct gdbarch *gd
|
||||
|
||||
for (argnum = 0; argnum < nargs; argnum++)
|
||||
{
|
||||
@ -405,10 +403,10 @@ Index: gdb-7.9.50.20150520/gdb/cris-tdep.c
|
||||
|
||||
/* How may registers worth of storage do we need for this argument? */
|
||||
reg_demand = (len / 4) + (len % 4 != 0 ? 1 : 0);
|
||||
Index: gdb-7.9.50.20150520/gdb/h8300-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/h8300-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/h8300-tdep.c 2015-05-31 17:15:01.074868148 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/h8300-tdep.c 2015-05-31 17:15:03.427882897 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/h8300-tdep.c 2015-10-24 23:14:17.803039400 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/h8300-tdep.c 2015-10-24 23:16:33.653941777 +0200
|
||||
@@ -639,7 +639,7 @@ h8300_push_dummy_call (struct gdbarch *g
|
||||
int struct_return, CORE_ADDR struct_addr)
|
||||
{
|
||||
@ -423,13 +421,13 @@ Index: gdb-7.9.50.20150520/gdb/h8300-tdep.c
|
||||
struct cleanup *back_to;
|
||||
struct type *type = value_type (args[argument]);
|
||||
- int len = TYPE_LENGTH (type);
|
||||
char *contents = (char *) value_contents (args[argument]);
|
||||
+ ssize_t len = TYPE_LENGTH (type);
|
||||
char *contents = (char *) value_contents (args[argument]);
|
||||
|
||||
/* Pad the argument appropriately. */
|
||||
- int padded_len = align_up (len, wordsize);
|
||||
+ ssize_t padded_len = align_up (len, wordsize);
|
||||
gdb_byte *padded = xmalloc (padded_len);
|
||||
gdb_byte *padded = (gdb_byte *) xmalloc (padded_len);
|
||||
back_to = make_cleanup (xfree, padded);
|
||||
|
||||
@@ -699,7 +699,7 @@ h8300_push_dummy_call (struct gdbarch *g
|
||||
@ -441,11 +439,11 @@ Index: gdb-7.9.50.20150520/gdb/h8300-tdep.c
|
||||
|
||||
for (offset = 0; offset < padded_len; offset += wordsize)
|
||||
{
|
||||
Index: gdb-7.9.50.20150520/gdb/hppa-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/hppa-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/hppa-tdep.c 2015-05-31 17:15:01.076868160 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/hppa-tdep.c 2015-05-31 17:15:03.428882903 +0200
|
||||
@@ -991,7 +991,7 @@ hppa64_push_dummy_call (struct gdbarch *
|
||||
--- gdb-7.10.50.20151022.orig/gdb/hppa-tdep.c 2015-10-24 23:14:17.804039407 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/hppa-tdep.c 2015-10-24 23:14:20.939060231 +0200
|
||||
@@ -996,7 +996,7 @@ hppa64_push_dummy_call (struct gdbarch *
|
||||
{
|
||||
struct value *arg = args[i];
|
||||
struct type *type = value_type (arg);
|
||||
@ -454,7 +452,7 @@ Index: gdb-7.9.50.20150520/gdb/hppa-tdep.c
|
||||
const bfd_byte *valbuf;
|
||||
bfd_byte fptrbuf[8];
|
||||
int regnum;
|
||||
@@ -1186,7 +1186,7 @@ hppa64_return_value (struct gdbarch *gdb
|
||||
@@ -1191,7 +1191,7 @@ hppa64_return_value (struct gdbarch *gdb
|
||||
struct type *type, struct regcache *regcache,
|
||||
gdb_byte *readbuf, const gdb_byte *writebuf)
|
||||
{
|
||||
@ -463,10 +461,10 @@ Index: gdb-7.9.50.20150520/gdb/hppa-tdep.c
|
||||
int regnum, offset;
|
||||
|
||||
if (len > 16)
|
||||
Index: gdb-7.9.50.20150520/gdb/i386-darwin-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/i386-darwin-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/i386-darwin-tdep.c 2015-05-31 17:15:01.076868160 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/i386-darwin-tdep.c 2015-05-31 17:15:03.428882903 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/i386-darwin-tdep.c 2015-10-24 23:14:17.804039407 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/i386-darwin-tdep.c 2015-10-24 23:14:20.939060231 +0200
|
||||
@@ -163,7 +163,7 @@ i386_darwin_push_dummy_call (struct gdba
|
||||
|
||||
for (write_pass = 0; write_pass < 2; write_pass++)
|
||||
@ -476,10 +474,10 @@ Index: gdb-7.9.50.20150520/gdb/i386-darwin-tdep.c
|
||||
int num_m128 = 0;
|
||||
|
||||
if (struct_return)
|
||||
Index: gdb-7.9.50.20150520/gdb/i386-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/i386-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/i386-tdep.c 2015-05-31 17:15:01.082868198 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/i386-tdep.c 2015-05-31 17:15:03.430882915 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/i386-tdep.c 2015-10-24 23:14:17.807039426 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/i386-tdep.c 2015-10-24 23:14:20.940060237 +0200
|
||||
@@ -2651,7 +2651,7 @@ i386_push_dummy_call (struct gdbarch *gd
|
||||
gdb_byte buf[4];
|
||||
int i;
|
||||
@ -543,10 +541,10 @@ Index: gdb-7.9.50.20150520/gdb/i386-tdep.c
|
||||
|
||||
if (i386_fp_regnum_p (get_frame_arch (frame), regnum))
|
||||
{
|
||||
Index: gdb-7.9.50.20150520/gdb/iq2000-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/iq2000-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/iq2000-tdep.c 2015-05-31 17:15:01.083868204 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/iq2000-tdep.c 2015-05-31 17:15:03.431882922 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/iq2000-tdep.c 2015-10-24 23:14:17.808039433 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/iq2000-tdep.c 2015-10-24 23:14:20.941060244 +0200
|
||||
@@ -651,8 +651,9 @@ iq2000_push_dummy_call (struct gdbarch *
|
||||
const bfd_byte *val;
|
||||
bfd_byte buf[4];
|
||||
@ -559,10 +557,10 @@ Index: gdb-7.9.50.20150520/gdb/iq2000-tdep.c
|
||||
/* Used to copy struct arguments into the stack. */
|
||||
CORE_ADDR struct_ptr;
|
||||
|
||||
Index: gdb-7.9.50.20150520/gdb/m32r-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/m32r-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/m32r-tdep.c 2015-05-31 17:15:01.083868204 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/m32r-tdep.c 2015-05-31 17:15:03.431882922 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/m32r-tdep.c 2015-10-24 23:14:17.808039433 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/m32r-tdep.c 2015-10-24 23:14:20.941060244 +0200
|
||||
@@ -687,7 +687,7 @@ m32r_push_dummy_call (struct gdbarch *gd
|
||||
CORE_ADDR regval;
|
||||
gdb_byte *val;
|
||||
@ -572,10 +570,10 @@ Index: gdb-7.9.50.20150520/gdb/m32r-tdep.c
|
||||
|
||||
/* First force sp to a 4-byte alignment. */
|
||||
sp = sp & ~3;
|
||||
Index: gdb-7.9.50.20150520/gdb/m68k-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/m68k-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/m68k-tdep.c 2015-05-31 17:15:01.084868210 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/m68k-tdep.c 2015-05-31 17:15:03.432882928 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/m68k-tdep.c 2015-10-24 23:14:17.808039433 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/m68k-tdep.c 2015-10-24 23:14:20.941060244 +0200
|
||||
@@ -382,7 +382,7 @@ m68k_reg_struct_return_p (struct gdbarch
|
||||
{
|
||||
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
|
||||
@ -598,10 +596,10 @@ Index: gdb-7.9.50.20150520/gdb/m68k-tdep.c
|
||||
|
||||
/* Non-scalars bigger than 4 bytes are left aligned, others are
|
||||
right aligned. */
|
||||
Index: gdb-7.9.50.20150520/gdb/m88k-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/m88k-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/m88k-tdep.c 2015-05-31 17:15:01.085868217 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/m88k-tdep.c 2015-05-31 17:15:03.432882928 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/m88k-tdep.c 2015-10-24 23:14:17.809039440 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/m88k-tdep.c 2015-10-24 23:14:20.942060250 +0200
|
||||
@@ -257,13 +257,13 @@ m88k_store_arguments (struct regcache *r
|
||||
{
|
||||
struct gdbarch *gdbarch = get_regcache_arch (regcache);
|
||||
@ -629,11 +627,11 @@ Index: gdb-7.9.50.20150520/gdb/m88k-tdep.c
|
||||
|
||||
if (m88k_in_register_p (type))
|
||||
{
|
||||
Index: gdb-7.9.50.20150520/gdb/mep-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/mep-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/mep-tdep.c 2015-05-31 17:15:01.086868223 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/mep-tdep.c 2015-05-31 17:15:03.433882934 +0200
|
||||
@@ -2269,7 +2269,7 @@ push_large_arguments (CORE_ADDR sp, int
|
||||
--- gdb-7.10.50.20151022.orig/gdb/mep-tdep.c 2015-10-24 23:14:17.809039440 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/mep-tdep.c 2015-10-24 23:14:20.942060250 +0200
|
||||
@@ -2270,7 +2270,7 @@ push_large_arguments (CORE_ADDR sp, int
|
||||
|
||||
for (i = 0; i < argc; i++)
|
||||
{
|
||||
@ -642,10 +640,10 @@ Index: gdb-7.9.50.20150520/gdb/mep-tdep.c
|
||||
|
||||
if (arg_len > MEP_GPR_SIZE)
|
||||
{
|
||||
Index: gdb-7.9.50.20150520/gdb/mips-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/mips-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/mips-tdep.c 2015-05-31 17:15:01.094868273 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/mips-tdep.c 2015-05-31 17:15:03.435882947 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/mips-tdep.c 2015-10-24 23:14:17.814039473 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/mips-tdep.c 2015-10-24 23:14:20.943060257 +0200
|
||||
@@ -455,7 +455,7 @@ static void
|
||||
mips_xfer_register (struct gdbarch *gdbarch, struct regcache *regcache,
|
||||
int reg_num, int length,
|
||||
@ -666,7 +664,7 @@ Index: gdb-7.9.50.20150520/gdb/mips-tdep.c
|
||||
if (mips_debug && out != NULL)
|
||||
{
|
||||
int i;
|
||||
@@ -4551,13 +4551,13 @@ mips_eabi_push_dummy_call (struct gdbarc
|
||||
@@ -4554,13 +4554,13 @@ mips_eabi_push_dummy_call (struct gdbarc
|
||||
gdb_byte valbuf[MAX_REGISTER_SIZE];
|
||||
struct value *arg = args[argnum];
|
||||
struct type *arg_type = check_typedef (value_type (arg));
|
||||
@ -683,7 +681,7 @@ Index: gdb-7.9.50.20150520/gdb/mips-tdep.c
|
||||
|
||||
/* The EABI passes structures that do not fit in a register by
|
||||
reference. */
|
||||
@@ -4826,7 +4826,7 @@ mips_eabi_return_value (struct gdbarch *
|
||||
@@ -4829,7 +4829,7 @@ mips_eabi_return_value (struct gdbarch *
|
||||
|
||||
static int
|
||||
mips_n32n64_fp_arg_chunk_p (struct gdbarch *gdbarch, struct type *arg_type,
|
||||
@ -692,7 +690,7 @@ Index: gdb-7.9.50.20150520/gdb/mips-tdep.c
|
||||
{
|
||||
int i;
|
||||
|
||||
@@ -4841,7 +4841,7 @@ mips_n32n64_fp_arg_chunk_p (struct gdbar
|
||||
@@ -4844,7 +4844,7 @@ mips_n32n64_fp_arg_chunk_p (struct gdbar
|
||||
|
||||
for (i = 0; i < TYPE_NFIELDS (arg_type); i++)
|
||||
{
|
||||
@ -701,7 +699,7 @@ Index: gdb-7.9.50.20150520/gdb/mips-tdep.c
|
||||
struct type *field_type;
|
||||
|
||||
/* We're only looking at normal fields. */
|
||||
@@ -4883,7 +4883,7 @@ mips_n32n64_push_dummy_call (struct gdba
|
||||
@@ -4886,7 +4886,7 @@ mips_n32n64_push_dummy_call (struct gdba
|
||||
int argreg;
|
||||
int float_argreg;
|
||||
int argnum;
|
||||
@ -710,7 +708,7 @@ Index: gdb-7.9.50.20150520/gdb/mips-tdep.c
|
||||
int stack_offset = 0;
|
||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||
CORE_ADDR func_addr = find_function_addr (function, NULL);
|
||||
@@ -5234,11 +5234,11 @@ mips_n32n64_return_value (struct gdbarch
|
||||
@@ -5237,11 +5237,11 @@ mips_n32n64_return_value (struct gdbarch
|
||||
: MIPS_V0_REGNUM);
|
||||
field < TYPE_NFIELDS (type); field++, regnum += 2)
|
||||
{
|
||||
@ -726,7 +724,7 @@ Index: gdb-7.9.50.20150520/gdb/mips-tdep.c
|
||||
if (TYPE_LENGTH (TYPE_FIELD_TYPE (type, field)) == 16)
|
||||
{
|
||||
/* A 16-byte long double field goes in two consecutive
|
||||
@@ -5280,8 +5280,8 @@ mips_n32n64_return_value (struct gdbarch
|
||||
@@ -5283,8 +5283,8 @@ mips_n32n64_return_value (struct gdbarch
|
||||
if (offset + xfer > TYPE_LENGTH (type))
|
||||
xfer = TYPE_LENGTH (type) - offset;
|
||||
if (mips_debug)
|
||||
@ -737,7 +735,7 @@ Index: gdb-7.9.50.20150520/gdb/mips-tdep.c
|
||||
mips_xfer_register (gdbarch, regcache,
|
||||
gdbarch_num_regs (gdbarch) + regnum,
|
||||
xfer, BFD_ENDIAN_UNKNOWN, readbuf, writebuf,
|
||||
@@ -5339,7 +5339,7 @@ mips_o32_push_dummy_call (struct gdbarch
|
||||
@@ -5342,7 +5342,7 @@ mips_o32_push_dummy_call (struct gdbarch
|
||||
int argreg;
|
||||
int float_argreg;
|
||||
int argnum;
|
||||
@ -746,7 +744,7 @@ Index: gdb-7.9.50.20150520/gdb/mips-tdep.c
|
||||
int stack_offset = 0;
|
||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||
CORE_ADDR func_addr = find_function_addr (function, NULL);
|
||||
@@ -5403,13 +5403,13 @@ mips_o32_push_dummy_call (struct gdbarch
|
||||
@@ -5406,13 +5406,13 @@ mips_o32_push_dummy_call (struct gdbarch
|
||||
const gdb_byte *val;
|
||||
struct value *arg = args[argnum];
|
||||
struct type *arg_type = check_typedef (value_type (arg));
|
||||
@ -763,7 +761,7 @@ Index: gdb-7.9.50.20150520/gdb/mips-tdep.c
|
||||
|
||||
val = value_contents (arg);
|
||||
|
||||
@@ -5867,8 +5867,8 @@ mips_o64_push_dummy_call (struct gdbarch
|
||||
@@ -5870,8 +5870,8 @@ mips_o64_push_dummy_call (struct gdbarch
|
||||
int argreg;
|
||||
int float_argreg;
|
||||
int argnum;
|
||||
@ -774,7 +772,7 @@ Index: gdb-7.9.50.20150520/gdb/mips-tdep.c
|
||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||
CORE_ADDR func_addr = find_function_addr (function, NULL);
|
||||
|
||||
@@ -5928,13 +5928,13 @@ mips_o64_push_dummy_call (struct gdbarch
|
||||
@@ -5931,13 +5931,13 @@ mips_o64_push_dummy_call (struct gdbarch
|
||||
const gdb_byte *val;
|
||||
struct value *arg = args[argnum];
|
||||
struct type *arg_type = check_typedef (value_type (arg));
|
||||
@ -791,11 +789,11 @@ Index: gdb-7.9.50.20150520/gdb/mips-tdep.c
|
||||
|
||||
val = value_contents (arg);
|
||||
|
||||
Index: gdb-7.9.50.20150520/gdb/mn10300-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/mn10300-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/mn10300-tdep.c 2015-05-31 17:15:01.095868279 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/mn10300-tdep.c 2015-05-31 17:15:03.435882947 +0200
|
||||
@@ -1225,7 +1225,7 @@ mn10300_push_dummy_call (struct gdbarch
|
||||
--- gdb-7.10.50.20151022.orig/gdb/mn10300-tdep.c 2015-10-24 23:14:17.815039480 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/mn10300-tdep.c 2015-10-24 23:14:20.943060257 +0200
|
||||
@@ -1227,7 +1227,7 @@ mn10300_push_dummy_call (struct gdbarch
|
||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||
const int push_size = register_size (gdbarch, E_PC_REGNUM);
|
||||
int regs_used;
|
||||
@ -804,10 +802,10 @@ Index: gdb-7.9.50.20150520/gdb/mn10300-tdep.c
|
||||
int stack_offset = 0;
|
||||
int argnum;
|
||||
const gdb_byte *val;
|
||||
Index: gdb-7.9.50.20150520/gdb/mt-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/mt-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/mt-tdep.c 2015-05-31 17:15:01.096868286 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/mt-tdep.c 2015-05-31 17:15:03.436882953 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/mt-tdep.c 2015-10-24 23:14:17.815039480 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/mt-tdep.c 2015-10-24 23:14:20.944060264 +0200
|
||||
@@ -781,9 +781,9 @@ mt_push_dummy_call (struct gdbarch *gdba
|
||||
gdb_byte buf[MT_MAX_STRUCT_SIZE];
|
||||
int argreg = MT_1ST_ARGREG;
|
||||
@ -820,10 +818,10 @@ Index: gdb-7.9.50.20150520/gdb/mt-tdep.c
|
||||
int i, j;
|
||||
|
||||
/* First handle however many args we can fit into MT_1ST_ARGREG thru
|
||||
Index: gdb-7.9.50.20150520/gdb/ppc-sysv-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/ppc-sysv-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/ppc-sysv-tdep.c 2015-05-31 17:15:01.097868292 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/ppc-sysv-tdep.c 2015-05-31 17:15:03.436882953 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/ppc-sysv-tdep.c 2015-10-24 23:14:17.816039486 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/ppc-sysv-tdep.c 2015-10-24 23:14:20.944060264 +0200
|
||||
@@ -66,7 +66,7 @@ ppc_sysv_abi_push_dummy_call (struct gdb
|
||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||
int opencl_abi = ppc_sysv_use_opencl_abi (value_type (function));
|
||||
@ -868,11 +866,11 @@ Index: gdb-7.9.50.20150520/gdb/ppc-sysv-tdep.c
|
||||
|
||||
/* Enforce alignment of stack location, if requested. */
|
||||
if (align > tdep->wordsize)
|
||||
Index: gdb-7.9.50.20150520/gdb/rl78-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/rl78-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/rl78-tdep.c 2015-05-31 17:15:01.097868292 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/rl78-tdep.c 2015-05-31 17:15:03.437882959 +0200
|
||||
@@ -1333,8 +1333,8 @@ rl78_push_dummy_call (struct gdbarch *gd
|
||||
--- gdb-7.10.50.20151022.orig/gdb/rl78-tdep.c 2015-10-24 23:14:17.816039486 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/rl78-tdep.c 2015-10-24 23:14:20.944060264 +0200
|
||||
@@ -1338,8 +1338,8 @@ rl78_push_dummy_call (struct gdbarch *gd
|
||||
for (i = nargs - 1; i >= 0; i--)
|
||||
{
|
||||
struct type *value_type = value_enclosing_type (args[i]);
|
||||
@ -883,10 +881,10 @@ Index: gdb-7.9.50.20150520/gdb/rl78-tdep.c
|
||||
|
||||
sp -= container_len;
|
||||
write_memory (rl78_make_data_address (sp),
|
||||
Index: gdb-7.9.50.20150520/gdb/rs6000-aix-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/rs6000-aix-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/rs6000-aix-tdep.c 2015-05-31 17:15:01.098868298 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/rs6000-aix-tdep.c 2015-05-31 17:15:03.437882959 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/rs6000-aix-tdep.c 2015-10-24 23:14:17.816039486 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/rs6000-aix-tdep.c 2015-10-24 23:14:20.944060264 +0200
|
||||
@@ -186,9 +186,9 @@ rs6000_push_dummy_call (struct gdbarch *
|
||||
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
|
||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||
@ -908,11 +906,11 @@ Index: gdb-7.9.50.20150520/gdb/rs6000-aix-tdep.c
|
||||
|
||||
if (argbytes)
|
||||
{
|
||||
Index: gdb-7.9.50.20150520/gdb/s390-linux-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/s390-linux-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/s390-linux-tdep.c 2015-05-31 17:15:01.099868304 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/s390-linux-tdep.c 2015-05-31 17:16:13.285320769 +0200
|
||||
@@ -2463,7 +2463,7 @@ s390_function_arg_vector (struct type *t
|
||||
--- gdb-7.10.50.20151022.orig/gdb/s390-linux-tdep.c 2015-10-24 23:14:17.817039493 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/s390-linux-tdep.c 2015-10-24 23:14:20.945060270 +0200
|
||||
@@ -2571,7 +2571,7 @@ s390_function_arg_vector (struct type *t
|
||||
/* Determine whether N is a power of two. */
|
||||
|
||||
static int
|
||||
@ -921,7 +919,7 @@ Index: gdb-7.9.50.20150520/gdb/s390-linux-tdep.c
|
||||
{
|
||||
return n && ((n & (n - 1)) == 0);
|
||||
}
|
||||
@@ -2520,7 +2520,7 @@ s390_handle_arg (struct s390_arg_state *
|
||||
@@ -2628,7 +2628,7 @@ s390_handle_arg (struct s390_arg_state *
|
||||
enum bfd_endian byte_order, int is_unnamed)
|
||||
{
|
||||
struct type *type = check_typedef (value_type (arg));
|
||||
@ -930,10 +928,10 @@ Index: gdb-7.9.50.20150520/gdb/s390-linux-tdep.c
|
||||
int write_mode = as->regcache != NULL;
|
||||
|
||||
if (s390_function_arg_float (type))
|
||||
Index: gdb-7.9.50.20150520/gdb/score-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/score-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/score-tdep.c 2015-05-31 17:15:01.100868311 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/score-tdep.c 2015-05-31 17:15:03.439882972 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/score-tdep.c 2015-10-24 23:14:17.817039493 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/score-tdep.c 2015-10-24 23:14:20.945060270 +0200
|
||||
@@ -514,7 +514,7 @@ score_push_dummy_call (struct gdbarch *g
|
||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||
int argnum;
|
||||
@ -943,10 +941,10 @@ Index: gdb-7.9.50.20150520/gdb/score-tdep.c
|
||||
CORE_ADDR stack_offset = 0;
|
||||
CORE_ADDR addr = 0;
|
||||
|
||||
Index: gdb-7.9.50.20150520/gdb/sh-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/sh-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/sh-tdep.c 2015-05-31 17:15:01.101868317 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/sh-tdep.c 2015-05-31 17:15:03.439882972 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/sh-tdep.c 2015-10-24 23:14:17.818039499 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/sh-tdep.c 2015-10-24 23:14:20.946060277 +0200
|
||||
@@ -805,7 +805,7 @@ sh_skip_prologue (struct gdbarch *gdbarc
|
||||
static int
|
||||
sh_use_struct_convention (int renesas_abi, struct type *type)
|
||||
@ -985,10 +983,10 @@ Index: gdb-7.9.50.20150520/gdb/sh-tdep.c
|
||||
int pass_on_stack = 0;
|
||||
int last_reg_arg = INT_MAX;
|
||||
|
||||
Index: gdb-7.9.50.20150520/gdb/sh64-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/sh64-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/sh64-tdep.c 2015-05-31 17:15:01.102868323 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/sh64-tdep.c 2015-05-31 17:15:03.440882978 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/sh64-tdep.c 2015-10-24 23:14:17.819039506 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/sh64-tdep.c 2015-10-24 23:14:20.946060277 +0200
|
||||
@@ -1056,7 +1056,7 @@ sh64_push_dummy_call (struct gdbarch *gd
|
||||
CORE_ADDR struct_addr)
|
||||
{
|
||||
@ -1007,10 +1005,10 @@ Index: gdb-7.9.50.20150520/gdb/sh64-tdep.c
|
||||
int argreg_size;
|
||||
int fp_args[12];
|
||||
|
||||
Index: gdb-7.9.50.20150520/gdb/sparc-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/sparc-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/sparc-tdep.c 2015-05-31 17:15:01.103868329 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/sparc-tdep.c 2015-05-31 17:15:03.441882984 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/sparc-tdep.c 2015-10-24 23:14:17.819039506 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/sparc-tdep.c 2015-10-24 23:14:20.946060277 +0200
|
||||
@@ -525,7 +525,7 @@ sparc32_store_arguments (struct regcache
|
||||
for (i = 0; i < nargs; i++)
|
||||
{
|
||||
@ -1020,10 +1018,10 @@ Index: gdb-7.9.50.20150520/gdb/sparc-tdep.c
|
||||
|
||||
if (sparc_structure_or_union_p (type)
|
||||
|| (sparc_floating_p (type) && len == 16)
|
||||
Index: gdb-7.9.50.20150520/gdb/sparc64-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/sparc64-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/sparc64-tdep.c 2015-05-31 17:15:01.104868336 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/sparc64-tdep.c 2015-05-31 17:15:03.441882984 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/sparc64-tdep.c 2015-10-24 23:14:17.820039513 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/sparc64-tdep.c 2015-10-24 23:14:20.947060284 +0200
|
||||
@@ -636,7 +636,8 @@ sparc64_16_byte_align_p (struct type *ty
|
||||
|
||||
static void
|
||||
@ -1079,11 +1077,11 @@ Index: gdb-7.9.50.20150520/gdb/sparc64-tdep.c
|
||||
int regnum = -1;
|
||||
gdb_byte buf[16];
|
||||
|
||||
Index: gdb-7.9.50.20150520/gdb/spu-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/spu-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/spu-tdep.c 2015-05-31 17:15:01.105868342 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/spu-tdep.c 2015-05-31 17:15:03.442882990 +0200
|
||||
@@ -1430,7 +1430,7 @@ spu_push_dummy_call (struct gdbarch *gdb
|
||||
--- gdb-7.10.50.20151022.orig/gdb/spu-tdep.c 2015-10-24 23:14:17.821039519 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/spu-tdep.c 2015-10-24 23:14:20.947060284 +0200
|
||||
@@ -1429,7 +1429,7 @@ spu_push_dummy_call (struct gdbarch *gdb
|
||||
struct value *arg = args[i];
|
||||
struct type *type = check_typedef (value_type (arg));
|
||||
const gdb_byte *contents = value_contents (arg);
|
||||
@ -1092,7 +1090,7 @@ Index: gdb-7.9.50.20150520/gdb/spu-tdep.c
|
||||
|
||||
/* If the argument doesn't wholly fit into registers, it and
|
||||
all subsequent arguments go to the stack. */
|
||||
@@ -1462,7 +1462,7 @@ spu_push_dummy_call (struct gdbarch *gdb
|
||||
@@ -1461,7 +1461,7 @@ spu_push_dummy_call (struct gdbarch *gdb
|
||||
{
|
||||
struct value *arg = args[i];
|
||||
struct type *type = check_typedef (value_type (arg));
|
||||
@ -1101,10 +1099,10 @@ Index: gdb-7.9.50.20150520/gdb/spu-tdep.c
|
||||
int preferred_slot;
|
||||
|
||||
if (spu_scalar_value_p (type))
|
||||
Index: gdb-7.9.50.20150520/gdb/tic6x-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/tic6x-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/tic6x-tdep.c 2015-05-31 17:15:01.106868348 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/tic6x-tdep.c 2015-05-31 17:15:03.442882990 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/tic6x-tdep.c 2015-10-24 23:14:17.821039519 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/tic6x-tdep.c 2015-10-24 23:14:20.947060284 +0200
|
||||
@@ -895,7 +895,7 @@ tic6x_push_dummy_call (struct gdbarch *g
|
||||
int argreg = 0;
|
||||
int argnum;
|
||||
@ -1142,10 +1140,10 @@ Index: gdb-7.9.50.20150520/gdb/tic6x-tdep.c
|
||||
|
||||
addr = sp + stack_offset;
|
||||
write_memory (addr, val, len);
|
||||
Index: gdb-7.9.50.20150520/gdb/tilegx-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/tilegx-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/tilegx-tdep.c 2015-05-31 17:15:01.107868355 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/tilegx-tdep.c 2015-05-31 17:15:03.442882990 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/tilegx-tdep.c 2015-10-24 23:14:17.822039526 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/tilegx-tdep.c 2015-10-24 23:14:20.947060284 +0200
|
||||
@@ -288,7 +288,7 @@ tilegx_push_dummy_call (struct gdbarch *
|
||||
CORE_ADDR stack_dest = sp;
|
||||
int argreg = TILEGX_R0_REGNUM;
|
||||
@ -1155,10 +1153,10 @@ Index: gdb-7.9.50.20150520/gdb/tilegx-tdep.c
|
||||
static const gdb_byte four_zero_words[16] = { 0 };
|
||||
|
||||
/* If struct_return is 1, then the struct return address will
|
||||
Index: gdb-7.9.50.20150520/gdb/v850-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/v850-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/v850-tdep.c 2015-05-31 17:15:01.107868355 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/v850-tdep.c 2015-05-31 17:15:03.443882997 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/v850-tdep.c 2015-10-24 23:14:17.822039526 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/v850-tdep.c 2015-10-24 23:14:20.948060290 +0200
|
||||
@@ -1019,7 +1019,7 @@ v850_push_dummy_call (struct gdbarch *gd
|
||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||
int argreg;
|
||||
@ -1177,10 +1175,10 @@ Index: gdb-7.9.50.20150520/gdb/v850-tdep.c
|
||||
gdb_byte *val;
|
||||
gdb_byte valbuf[v850_reg_size];
|
||||
|
||||
Index: gdb-7.9.50.20150520/gdb/vax-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/vax-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/vax-tdep.c 2015-05-31 17:15:01.108868361 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/vax-tdep.c 2015-05-31 17:15:03.443882997 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/vax-tdep.c 2015-10-24 23:14:17.822039526 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/vax-tdep.c 2015-10-24 23:14:20.948060290 +0200
|
||||
@@ -111,7 +111,7 @@ vax_store_arguments (struct regcache *re
|
||||
struct gdbarch *gdbarch = get_regcache_arch (regcache);
|
||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||
@ -1199,10 +1197,10 @@ Index: gdb-7.9.50.20150520/gdb/vax-tdep.c
|
||||
|
||||
sp -= (len + 3) & ~3;
|
||||
count += (len + 3) / 4;
|
||||
Index: gdb-7.9.50.20150520/gdb/xstormy16-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/xstormy16-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/xstormy16-tdep.c 2015-05-31 17:15:01.108868361 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/xstormy16-tdep.c 2015-05-31 17:15:03.443882997 +0200
|
||||
--- gdb-7.10.50.20151022.orig/gdb/xstormy16-tdep.c 2015-10-24 23:14:17.822039526 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/xstormy16-tdep.c 2015-10-24 23:14:20.948060290 +0200
|
||||
@@ -233,8 +233,9 @@ xstormy16_push_dummy_call (struct gdbarc
|
||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||
CORE_ADDR stack_dest = sp;
|
||||
@ -1215,11 +1213,11 @@ Index: gdb-7.9.50.20150520/gdb/xstormy16-tdep.c
|
||||
const gdb_byte *val;
|
||||
gdb_byte buf[xstormy16_pc_size];
|
||||
|
||||
Index: gdb-7.9.50.20150520/gdb/xtensa-tdep.c
|
||||
Index: gdb-7.10.50.20151022/gdb/xtensa-tdep.c
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/xtensa-tdep.c 2015-05-31 17:15:01.110868373 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/xtensa-tdep.c 2015-05-31 17:15:03.444883003 +0200
|
||||
@@ -1646,8 +1646,7 @@ xtensa_store_return_value (struct type *
|
||||
--- gdb-7.10.50.20151022.orig/gdb/xtensa-tdep.c 2015-10-24 23:14:17.824039539 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/xtensa-tdep.c 2015-10-24 23:14:20.948060290 +0200
|
||||
@@ -1640,8 +1640,7 @@ xtensa_store_return_value (struct type *
|
||||
|
||||
if (len > (callsize > 8 ? 8 : 16))
|
||||
internal_error (__FILE__, __LINE__,
|
||||
@ -1229,7 +1227,7 @@ Index: gdb-7.9.50.20150520/gdb/xtensa-tdep.c
|
||||
areg = arreg_number (gdbarch,
|
||||
gdbarch_tdep (gdbarch)->a0_base + 2 + callsize, wb);
|
||||
|
||||
@@ -1721,18 +1720,18 @@ xtensa_push_dummy_call (struct gdbarch *
|
||||
@@ -1715,18 +1714,18 @@ xtensa_push_dummy_call (struct gdbarch *
|
||||
{
|
||||
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
|
||||
int i;
|
||||
@ -1251,7 +1249,7 @@ Index: gdb-7.9.50.20150520/gdb/xtensa-tdep.c
|
||||
int regno; /* regno if in register. */
|
||||
} u;
|
||||
};
|
||||
@@ -1756,9 +1755,10 @@ xtensa_push_dummy_call (struct gdbarch *
|
||||
@@ -1750,9 +1749,10 @@ xtensa_push_dummy_call (struct gdbarch *
|
||||
{
|
||||
struct value *arg = args[i];
|
||||
struct type *arg_type = check_typedef (value_type (arg));
|
||||
@ -1265,7 +1263,7 @@ Index: gdb-7.9.50.20150520/gdb/xtensa-tdep.c
|
||||
switch (TYPE_CODE (arg_type))
|
||||
{
|
||||
case TYPE_CODE_INT:
|
||||
@@ -1828,8 +1828,8 @@ xtensa_push_dummy_call (struct gdbarch *
|
||||
@@ -1822,8 +1822,8 @@ xtensa_push_dummy_call (struct gdbarch *
|
||||
info->align = TYPE_LENGTH (builtin_type (gdbarch)->builtin_long);
|
||||
break;
|
||||
}
|
||||
@ -1275,7 +1273,7 @@ Index: gdb-7.9.50.20150520/gdb/xtensa-tdep.c
|
||||
|
||||
/* Align size and onstack_size. */
|
||||
size = (size + info->align - 1) & ~(info->align - 1);
|
||||
@@ -1874,7 +1874,7 @@ xtensa_push_dummy_call (struct gdbarch *
|
||||
@@ -1868,7 +1868,7 @@ xtensa_push_dummy_call (struct gdbarch *
|
||||
|
||||
if (info->onstack)
|
||||
{
|
||||
@ -1284,7 +1282,7 @@ Index: gdb-7.9.50.20150520/gdb/xtensa-tdep.c
|
||||
CORE_ADDR offset = sp + info->u.offset;
|
||||
|
||||
/* Odd-sized structs are aligned to the lower side of a memory
|
||||
@@ -1890,7 +1890,7 @@ xtensa_push_dummy_call (struct gdbarch *
|
||||
@@ -1884,7 +1884,7 @@ xtensa_push_dummy_call (struct gdbarch *
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -47,10 +47,10 @@ Content-Type: text/x-patch
|
||||
Content-Transfer-Encoding: 7bit
|
||||
Content-Disposition: attachment; filename=f77-bounds.patch
|
||||
|
||||
Index: gdb-7.8.50.20141228/gdb/f-lang.h
|
||||
Index: gdb-7.10.50.20151027/gdb/f-lang.h
|
||||
===================================================================
|
||||
--- gdb-7.8.50.20141228.orig/gdb/f-lang.h 2015-01-06 22:46:31.620852996 +0100
|
||||
+++ gdb-7.8.50.20141228/gdb/f-lang.h 2015-01-06 22:46:34.190865466 +0100
|
||||
--- gdb-7.10.50.20151027.orig/gdb/f-lang.h 2015-11-02 21:25:14.233161097 +0100
|
||||
+++ gdb-7.10.50.20151027/gdb/f-lang.h 2015-11-02 21:25:22.404214860 +0100
|
||||
@@ -62,9 +62,9 @@ struct common_block
|
||||
struct symbol *contents[1];
|
||||
};
|
||||
@ -63,11 +63,11 @@ Index: gdb-7.8.50.20141228/gdb/f-lang.h
|
||||
|
||||
extern void f77_get_dynamic_array_length (struct type *);
|
||||
|
||||
Index: gdb-7.8.50.20141228/gdb/f-typeprint.c
|
||||
Index: gdb-7.10.50.20151027/gdb/f-typeprint.c
|
||||
===================================================================
|
||||
--- gdb-7.8.50.20141228.orig/gdb/f-typeprint.c 2015-01-06 22:46:31.621853001 +0100
|
||||
+++ gdb-7.8.50.20141228/gdb/f-typeprint.c 2015-01-06 22:47:03.731008798 +0100
|
||||
@@ -158,7 +158,7 @@ f_type_print_varspec_suffix (struct type
|
||||
--- gdb-7.10.50.20151027.orig/gdb/f-typeprint.c 2015-11-02 21:25:14.234161104 +0100
|
||||
+++ gdb-7.10.50.20151027/gdb/f-typeprint.c 2015-11-02 21:25:22.404214860 +0100
|
||||
@@ -171,7 +171,7 @@ f_type_print_varspec_suffix (struct type
|
||||
int show, int passed_a_ptr, int demangled_args,
|
||||
int arrayprint_recurse_level)
|
||||
{
|
||||
@ -76,7 +76,7 @@ Index: gdb-7.8.50.20141228/gdb/f-typeprint.c
|
||||
|
||||
/* No static variables are permitted as an error call may occur during
|
||||
execution of this function. */
|
||||
@@ -192,7 +192,7 @@ f_type_print_varspec_suffix (struct type
|
||||
@@ -204,7 +204,7 @@ f_type_print_varspec_suffix (struct type
|
||||
|
||||
lower_bound = f77_get_lowerbound (type);
|
||||
if (lower_bound != 1) /* Not the default. */
|
||||
@ -85,7 +85,7 @@ Index: gdb-7.8.50.20141228/gdb/f-typeprint.c
|
||||
|
||||
/* Make sure that, if we have an assumed size array, we
|
||||
print out a warning and print the upperbound as '*'. */
|
||||
@@ -202,7 +202,7 @@ f_type_print_varspec_suffix (struct type
|
||||
@@ -214,7 +214,7 @@ f_type_print_varspec_suffix (struct type
|
||||
else
|
||||
{
|
||||
upper_bound = f77_get_upperbound (type);
|
||||
@ -94,7 +94,7 @@ Index: gdb-7.8.50.20141228/gdb/f-typeprint.c
|
||||
}
|
||||
|
||||
if (TYPE_CODE (TYPE_TARGET_TYPE (type)) != TYPE_CODE_ARRAY)
|
||||
@@ -271,7 +271,7 @@ void
|
||||
@@ -283,7 +283,7 @@ void
|
||||
f_type_print_base (struct type *type, struct ui_file *stream, int show,
|
||||
int level)
|
||||
{
|
||||
@ -103,7 +103,7 @@ Index: gdb-7.8.50.20141228/gdb/f-typeprint.c
|
||||
int index;
|
||||
|
||||
QUIT;
|
||||
@@ -353,7 +353,7 @@ f_type_print_base (struct type *type, st
|
||||
@@ -365,7 +365,7 @@ f_type_print_base (struct type *type, st
|
||||
else
|
||||
{
|
||||
upper_bound = f77_get_upperbound (type);
|
||||
@ -112,10 +112,10 @@ Index: gdb-7.8.50.20141228/gdb/f-typeprint.c
|
||||
}
|
||||
break;
|
||||
|
||||
Index: gdb-7.8.50.20141228/gdb/f-valprint.c
|
||||
Index: gdb-7.10.50.20151027/gdb/f-valprint.c
|
||||
===================================================================
|
||||
--- gdb-7.8.50.20141228.orig/gdb/f-valprint.c 2015-01-06 22:46:31.621853001 +0100
|
||||
+++ gdb-7.8.50.20141228/gdb/f-valprint.c 2015-01-06 22:46:34.191865471 +0100
|
||||
--- gdb-7.10.50.20151027.orig/gdb/f-valprint.c 2015-11-02 21:25:14.234161104 +0100
|
||||
+++ gdb-7.10.50.20151027/gdb/f-valprint.c 2015-11-02 21:25:22.405214867 +0100
|
||||
@@ -43,7 +43,7 @@ LONGEST f77_array_offset_tbl[MAX_FORTRAN
|
||||
/* Array which holds offsets to be applied to get a row's elements
|
||||
for a given array. Array also holds the size of each subarray. */
|
||||
|
@ -1,15 +1,19 @@
|
||||
--- gdb-7.5.0.20120926-m64/gdb/value.c-orig 2012-11-09 17:08:52.137406118 +0100
|
||||
+++ gdb-7.5.0.20120926-m64/gdb/value.c 2012-11-09 17:32:38.324199230 +0100
|
||||
@@ -663,7 +663,6 @@ allocate_value_lazy (struct type *type)
|
||||
Index: gdb-7.10.50.20151022/gdb/value.c
|
||||
===================================================================
|
||||
--- gdb-7.10.50.20151022.orig/gdb/value.c 2015-10-24 23:17:04.042143628 +0200
|
||||
+++ gdb-7.10.50.20151022/gdb/value.c 2015-10-24 23:17:27.687300689 +0200
|
||||
@@ -934,7 +934,6 @@ allocate_value_lazy (struct type *type)
|
||||
description correctly. */
|
||||
check_typedef (type);
|
||||
|
||||
- ulongest_fits_host_or_error (TYPE_LENGTH (type));
|
||||
val = (struct value *) xzalloc (sizeof (struct value));
|
||||
val = XCNEW (struct value);
|
||||
val->contents = NULL;
|
||||
val->next = all_values;
|
||||
--- /dev/null 2012-10-18 11:08:13.202328239 +0200
|
||||
+++ gdb-7.5.0.20120926-m64-test/gdb/testsuite/gdb.base/longest-types-64bit.exp 2012-11-09 18:13:56.286587994 +0100
|
||||
Index: gdb-7.10.50.20151022/gdb/testsuite/gdb.base/longest-types-64bit.exp
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.10.50.20151022/gdb/testsuite/gdb.base/longest-types-64bit.exp 2015-10-24 23:17:04.042143628 +0200
|
||||
@@ -0,0 +1,59 @@
|
||||
+# This testcase is part of GDB, the GNU debugger.
|
||||
+
|
||||
@ -70,8 +74,10 @@
|
||||
+}
|
||||
+
|
||||
+test "native"
|
||||
--- /dev/null 2012-10-18 11:08:13.202328239 +0200
|
||||
+++ ./gdb/testsuite/gdb.base/longest-types-64bit.c 2012-11-09 17:08:51.374406344 +0100
|
||||
Index: gdb-7.10.50.20151022/gdb/testsuite/gdb.base/longest-types-64bit.c
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.10.50.20151022/gdb/testsuite/gdb.base/longest-types-64bit.c 2015-10-24 23:17:04.042143628 +0200
|
||||
@@ -0,0 +1,28 @@
|
||||
+/* This testcase is part of GDB, the GNU debugger.
|
||||
+
|
||||
@ -101,8 +107,10 @@
|
||||
+{
|
||||
+ return 0;
|
||||
+}
|
||||
--- /dev/null 2012-10-18 11:08:13.202328239 +0200
|
||||
+++ ./gdb/testsuite/gdb.base/longest-types-64bit.S 2012-11-09 17:51:37.597846130 +0100
|
||||
Index: gdb-7.10.50.20151022/gdb/testsuite/gdb.base/longest-types-64bit.S
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.10.50.20151022/gdb/testsuite/gdb.base/longest-types-64bit.S 2015-10-24 23:17:04.042143628 +0200
|
||||
@@ -0,0 +1,249 @@
|
||||
+/* This testcase is part of GDB, the GNU debugger.
|
||||
+
|
||||
@ -353,8 +361,10 @@
|
||||
+ .string "char"
|
||||
+ .ident "GCC: (GNU) 4.7.3 20121109 (prerelease)"
|
||||
+ .section .note.GNU-stack,"",@progbits
|
||||
--- /dev/null 2012-10-18 11:08:13.202328239 +0200
|
||||
+++ gdb-7.5.0.20120926-m64-test/gdb/testsuite/gdb.base/longest-types-64bit.bz2.uu 2012-11-09 18:04:52.995692771 +0100
|
||||
Index: gdb-7.10.50.20151022/gdb/testsuite/gdb.base/longest-types-64bit.bz2.uu
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ gdb-7.10.50.20151022/gdb/testsuite/gdb.base/longest-types-64bit.bz2.uu 2015-10-24 23:17:04.042143628 +0200
|
||||
@@ -0,0 +1,67 @@
|
||||
+begin 755 gdb.base/longest-types-64bit.bz2
|
||||
+M0EIH.3%!62936<'N#OH`"G/________^______?_Y______//]7SQD5'^/_%
|
||||
|
69
gdb-upstream.patch
Normal file
69
gdb-upstream.patch
Normal file
@ -0,0 +1,69 @@
|
||||
http://sourceware.org/ml/gdb-patches/2015-10/msg00510.html
|
||||
Subject: [patch] Fix access_to_packed_array.exp typos/errors [Re: [PATCH] [Ada] Fix the evaluation of access to packed array subscript]
|
||||
|
||||
|
||||
--r5Pyd7+fXNt84Ff3
|
||||
Content-Type: text/plain; charset=us-ascii
|
||||
Content-Disposition: inline
|
||||
|
||||
On Mon, 14 Sep 2015 16:18:00 +0200, Joel Brobecker wrote:
|
||||
> > * gdb.ada/access_to_packed_array.exp: New testcase.
|
||||
>
|
||||
> Looks good to me. Please go ahead and push.
|
||||
|
||||
Running ./gdb.ada/access_to_packed_array.exp ...
|
||||
ERROR: tcl error sourcing ./gdb.ada/access_to_packed_array.exp.
|
||||
ERROR: extra characters after close-quote
|
||||
while executing
|
||||
"gdb_test "print pack.a" "\\(0 => 1, 2, 3, 4, 5, 6, 7, 8, 9, 10\\)")"
|
||||
(file "./gdb.ada/access_to_packed_array.exp" line 29)
|
||||
invoked from within
|
||||
"source ./gdb.ada/access_to_packed_array.exp"
|
||||
("uplevel" body line 1)
|
||||
invoked from within
|
||||
"uplevel #0 source ./gdb.ada/access_to_packed_array.exp"
|
||||
invoked from within
|
||||
"catch "uplevel #0 source $test_file_name""
|
||||
|
||||
Attaching a fix of the typos.
|
||||
|
||||
Unrelated to the typos I have changed the print expectations s/"x"/" = x"/
|
||||
as for example expectation "3" should not match " = 43".
|
||||
|
||||
On Fedora 21 x86_64 it then:
|
||||
# of expected passes 5
|
||||
|
||||
OK for check-in?
|
||||
|
||||
|
||||
Jan
|
||||
|
||||
--r5Pyd7+fXNt84Ff3
|
||||
Content-Type: text/plain; charset=us-ascii
|
||||
Content-Disposition: inline; filename=1
|
||||
|
||||
gdb/testsuite/ChangeLog
|
||||
2015-10-25 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
* gdb.ada/access_to_packed_array.exp: Fix typos erroring the testfile.
|
||||
|
||||
diff --git a/gdb/testsuite/gdb.ada/access_to_packed_array.exp b/gdb/testsuite/gdb.ada/access_to_packed_array.exp
|
||||
index 0dca780..1bf3e22 100644
|
||||
--- a/gdb/testsuite/gdb.ada/access_to_packed_array.exp
|
||||
+++ b/gdb/testsuite/gdb.ada/access_to_packed_array.exp
|
||||
@@ -26,8 +26,8 @@ clean_restart ${testfile}
|
||||
set bp_location [gdb_get_line_number "BREAK" ${testdir}/foo.adb]
|
||||
runto "foo.adb:$bp_location"
|
||||
|
||||
-gdb_test "print pack.a" "\\(0 => 1, 2, 3, 4, 5, 6, 7, 8, 9, 10\\)")
|
||||
-gdb_test "pack.aa" "\\(access pack\\.array_type\\) 0x.* <pack\\.a>")
|
||||
+gdb_test "print pack.a" " = \\(0 => 1, 2, 3, 4, 5, 6, 7, 8, 9, 10\\)"
|
||||
+gdb_test "print pack.aa" " = \\(access pack\\.array_type\\) 0x.* <pack\\.a>"
|
||||
|
||||
-gdb_test "pack.a(2)" "3"
|
||||
-gdb_test "pack.aa(2)" "3"
|
||||
+gdb_test "print pack.a(2)" " = 3"
|
||||
+gdb_test "print pack.aa(2)" " = 3"
|
||||
|
||||
--r5Pyd7+fXNt84Ff3--
|
||||
|
@ -1,38 +1,38 @@
|
||||
Re: [PATCH 04/23] vla: make dynamic fortran arrays functional.
|
||||
https://sourceware.org/ml/gdb-patches/2014-06/msg00570.html
|
||||
|
||||
Index: gdb-7.7.90.20140627/gdb/valarith.c
|
||||
Index: gdb-7.10.50.20151027/gdb/valarith.c
|
||||
===================================================================
|
||||
--- gdb-7.7.90.20140627.orig/gdb/valarith.c 2014-07-07 20:44:03.136394525 +0200
|
||||
+++ gdb-7.7.90.20140627/gdb/valarith.c 2014-07-07 20:45:41.588536459 +0200
|
||||
@@ -195,10 +195,17 @@ value_subscripted_rvalue (struct value *
|
||||
--- gdb-7.10.50.20151027.orig/gdb/valarith.c 2015-11-03 20:41:48.543504999 +0100
|
||||
+++ gdb-7.10.50.20151027/gdb/valarith.c 2015-11-03 20:46:36.995238888 +0100
|
||||
@@ -193,10 +193,17 @@ value_subscripted_rvalue (struct value *
|
||||
struct type *array_type = check_typedef (value_type (array));
|
||||
struct type *elt_type = check_typedef (TYPE_TARGET_TYPE (array_type));
|
||||
unsigned int elt_size = TYPE_LENGTH (elt_type);
|
||||
unsigned int elt_size = type_length_units (elt_type);
|
||||
- unsigned int elt_offs = longest_to_int (index - lowerbound);
|
||||
+ unsigned int elt_offs;
|
||||
LONGEST elt_stride = TYPE_BYTE_STRIDE (TYPE_INDEX_TYPE (array_type));
|
||||
struct value *v;
|
||||
|
||||
+ if (TYPE_NOT_ASSOCIATED (array_type))
|
||||
+ error (_("no such vector element because not associated"));
|
||||
+ error (_("no such vector element (vector not associated)"));
|
||||
+ if (TYPE_NOT_ALLOCATED (array_type))
|
||||
+ error (_("no such vector element because not allocated"));
|
||||
+ error (_("no such vector element (vector not allocated)"));
|
||||
+
|
||||
+ elt_offs = longest_to_int (index - lowerbound);
|
||||
+
|
||||
if (elt_stride > 0)
|
||||
elt_offs *= elt_stride;
|
||||
else if (elt_stride < 0)
|
||||
@@ -212,14 +219,7 @@ value_subscripted_rvalue (struct value *
|
||||
@@ -210,14 +217,7 @@ value_subscripted_rvalue (struct value *
|
||||
|
||||
if (index < lowerbound || (!TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED (array_type)
|
||||
&& elt_offs >= TYPE_LENGTH (array_type)))
|
||||
&& elt_offs >= type_length_units (array_type)))
|
||||
- {
|
||||
- if (TYPE_NOT_ASSOCIATED (array_type))
|
||||
- error (_("no such vector element because not associated"));
|
||||
- else if (TYPE_NOT_ALLOCATED (array_type))
|
||||
- error (_("no such vector element because not allocated"));
|
||||
- if (type_not_associated (array_type))
|
||||
- error (_("no such vector element (vector not associated)"));
|
||||
- else if (type_not_allocated (array_type))
|
||||
- error (_("no such vector element (vector not allocated)"));
|
||||
- else
|
||||
- error (_("no such vector element"));
|
||||
- }
|
||||
|
@ -165,17 +165,3 @@ Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/dynamic-other-frame.f90
|
||||
+ end interface
|
||||
+ call foo ('hello')
|
||||
+end
|
||||
Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-strings.exp
|
||||
===================================================================
|
||||
--- gdb-7.9.50.20150520.orig/gdb/testsuite/gdb.fortran/vla-strings.exp 2015-05-31 16:14:04.167533854 +0200
|
||||
+++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/vla-strings.exp 2015-05-31 16:14:31.073718201 +0200
|
||||
@@ -33,9 +33,6 @@ gdb_continue_to_breakpoint "var_char-all
|
||||
gdb_test "print var_char" \
|
||||
" = \\(PTR TO -> \\( character\\*10 \\)\\) ${hex}" \
|
||||
"print var_char after allocated first time"
|
||||
-gdb_test "print *var_char" \
|
||||
- " = '\\\\000\\\\000\\\\000\\\\000\\\\000\\\\000\\\\000\\\\000\\\\000\\\\000'" \
|
||||
- "print *var_char after allocated first time"
|
||||
gdb_test "whatis var_char" "type = PTR TO -> \\( character\\*10 \\)" \
|
||||
"whatis var_char first time"
|
||||
gdb_test "ptype var_char" "type = PTR TO -> \\( character\\*10 \\)" \
|
||||
|
1771
gdb-vla-intel.patch
1771
gdb-vla-intel.patch
File diff suppressed because it is too large
Load Diff
36
gdb.spec
36
gdb.spec
@ -19,15 +19,15 @@ Summary: A GNU source-level debugger for C, C++, Fortran, Go and other languages
|
||||
Name: %{?scl_prefix}gdb
|
||||
|
||||
# Freeze it when GDB gets branched
|
||||
%global snapsrc 20150706
|
||||
%global snapsrc 20151027
|
||||
# See timestamp of source gnulib installed into gdb/gnulib/ .
|
||||
%global snapgnulib 20121213
|
||||
%global snapgnulib 20150822
|
||||
%global tarname gdb-%{version}
|
||||
Version: 7.10
|
||||
Version: 7.10.50.%{snapsrc}
|
||||
|
||||
# The release always contains a leading reserved number, start it at 1.
|
||||
# `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
|
||||
Release: 29%{?dist}
|
||||
Release: 30%{?dist}
|
||||
|
||||
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and BSD and Public Domain and GFDL
|
||||
Group: Development/Debuggers
|
||||
@ -245,7 +245,7 @@ Patch231: gdb-6.3-bz202689-exec-from-pthread-test.patch
|
||||
|
||||
# Backported fixups post the source tarball.
|
||||
#Xdrop: Just backports.
|
||||
#Patch232: gdb-upstream.patch
|
||||
Patch232: gdb-upstream.patch
|
||||
|
||||
# Testcase for PPC Power6/DFP instructions disassembly (BZ 230000).
|
||||
#=fedoratest+ppc
|
||||
@ -542,19 +542,14 @@ Patch927: gdb-python-gil.patch
|
||||
# Fix jit-reader.h for multi-lib.
|
||||
Patch978: gdb-jit-reader-multilib.patch
|
||||
|
||||
# Fix 'Make the probes-based dynamic linker interface more robust to
|
||||
# errors' (Sergio Durigan Junior, RH BZ 1259132).
|
||||
Patch1029: gdb-probes-based-interface-robust-1of2.patch
|
||||
Patch1030: gdb-probes-based-interface-robust-2of2.patch
|
||||
|
||||
# [ppc64le] Use skip_entrypoint for skip_trampoline_code (RH BZ 1260558).
|
||||
Patch1031: gdb-rhbz1260558-ppc64le-skip_trampoline_code.patch
|
||||
|
||||
# Fix the pahole command breakage due to its Python3 port (RH BZ 1264532).
|
||||
Patch1044: gdb-pahole-python2.patch
|
||||
|
||||
# Fix internal error on DW_OP_bregx(-1) (RH BZ 1270564).
|
||||
Patch1052: gdb-rhbz1270564-invalid-dwarf-regno.patch
|
||||
# Fix callframecfa.exp and typeddwarf.exp rebase regression.
|
||||
Patch1054: gdb-nonstop-scratchpad.patch
|
||||
|
||||
# testsuite: Fortran: allocate()d memory is uninitialized.
|
||||
Patch1056: gdb-fortran-allocate-not-inited.patch
|
||||
|
||||
%if 0%{!?rhel:1} || 0%{?rhel} > 6
|
||||
# RL_STATE_FEDORA_GDB would not be found for:
|
||||
@ -747,7 +742,7 @@ find -name "*.info*"|xargs rm -f
|
||||
# Match the Fedora's version info.
|
||||
%patch2 -p1
|
||||
|
||||
#patch232 -p1
|
||||
%patch232 -p1
|
||||
%patch349 -p1
|
||||
%patch888 -p1
|
||||
%patch983 -p1
|
||||
@ -851,10 +846,8 @@ find -name "*.info*"|xargs rm -f
|
||||
%patch925 -p1
|
||||
%patch927 -p1
|
||||
%patch978 -p1
|
||||
%patch1029 -p1
|
||||
%patch1030 -p1
|
||||
%patch1031 -p1
|
||||
%patch1052 -p1
|
||||
%patch1054 -p1
|
||||
%patch1056 -p1
|
||||
|
||||
%patch848 -p1
|
||||
%if 0%{!?el6:1}
|
||||
@ -1370,6 +1363,9 @@ then
|
||||
fi
|
||||
|
||||
%changelog
|
||||
* Tue Nov 3 2015 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.10.50.20151027-30.fc24
|
||||
- Rebase to FSF GDB 7.10.50.20151027 (trunk snapshot).
|
||||
|
||||
* Mon Oct 12 2015 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.10-29.fc23
|
||||
- Fix internal error on DW_OP_bregx(-1) (RH BZ 1270564).
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user