Rebase to FSF GDB 7.10.50.20151027 (trunk snapshot).

This commit is contained in:
Jan Kratochvil 2015-11-03 22:28:36 +01:00
parent ebe9b7c7c7
commit 23f398e61a
25 changed files with 1746 additions and 3631 deletions

2
.gitignore vendored
View File

@ -1,2 +1,2 @@
/gdb-libstdc++-v3-python-r225521.tar.xz /gdb-libstdc++-v3-python-r225521.tar.xz
/gdb-7.10.tar.xz /gdb-7.10.50.20151027.tar.xz

View File

@ -11,10 +11,10 @@
* gdb.texinfo (File Options): Document --readnever. * 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.10.50.20151022.orig/gdb/doc/gdb.texinfo 2015-10-22 22:16:50.483482288 +0200
+++ gdb-7.9.50.20150520/gdb/doc/gdb.texinfo 2015-05-31 16:35:03.452416381 +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 @@ -1032,6 +1032,12 @@ Read each symbol file's entire symbol ta
the default, which is to read it incrementally as it is needed. the default, which is to read it incrementally as it is needed.
This makes startup slower, but makes future operations faster. This makes startup slower, but makes future operations faster.
@ -28,10 +28,10 @@ Index: gdb-7.9.50.20150520/gdb/doc/gdb.texinfo
@end table @end table
@node Mode Options @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.10.50.20151022.orig/gdb/main.c 2015-10-22 22:16:50.485482299 +0200
+++ gdb-7.9.50.20150520/gdb/main.c 2015-05-31 16:35:20.547541518 +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) @@ -604,6 +604,7 @@ captured_main (void *data)
{"tui", no_argument, 0, OPT_TUI}, {"tui", no_argument, 0, OPT_TUI},
{"dbx", no_argument, &dbx_commands, 1}, {"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\ --write Set writing into executable and core files.\n\n\
"), stream); "), stream);
fputs_unfiltered (_("\ 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.10.50.20151022.orig/gdb/symfile.c 2015-10-22 22:16:50.486482305 +0200
+++ gdb-7.9.50.20150520/gdb/symfile.c 2015-05-31 16:35:03.454416395 +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 ( @@ -80,6 +80,7 @@ static void clear_symtab_users_cleanup (
/* Global variables owned by this file. */ /* Global variables owned by this file. */
@ -60,33 +60,33 @@ Index: gdb-7.9.50.20150520/gdb/symfile.c
/* Functions this file defines. */ /* 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.10.50.20151022.orig/gdb/dwarf2read.c 2015-10-22 22:28:22.046554165 +0200
+++ gdb-7.9.50.20150520/gdb/dwarf2read.c 2015-05-31 16:35:03.459416432 +0200 +++ gdb-7.10.50.20151022/gdb/dwarf2read.c 2015-10-22 22:29:17.664881642 +0200
@@ -69,6 +69,7 @@ @@ -70,6 +70,7 @@
#include "source.h"
#include "filestuff.h" #include "filestuff.h"
#include "build-id.h" #include "build-id.h"
#include "namespace.h"
+#include "top.h" +#include "top.h"
#include <fcntl.h> #include <fcntl.h>
#include <sys/types.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); (void *) names);
dwarf2_per_objfile->objfile = objfile; dwarf2_per_objfile->objfile = objfile;
} }
- return (!dwarf2_per_objfile->info.is_virtual - return (!dwarf2_per_objfile->info.is_virtual
+ return !readnever_symbol_files && + return !readnever_symbol_files &&
+ (!dwarf2_per_objfile->info.is_virtual + (!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.is_virtual
&& dwarf2_per_objfile->abbrev.s.asection != NULL); && dwarf2_per_objfile->abbrev.s.section != NULL);
Index: gdb-7.9.50.20150520/gdb/top.h 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.10.50.20151022.orig/gdb/top.h 2015-10-22 22:16:50.490482329 +0200
+++ gdb-7.9.50.20150520/gdb/top.h 2015-05-31 16:35:03.459416432 +0200 +++ gdb-7.10.50.20151022/gdb/top.h 2015-10-22 22:28:22.047554171 +0200
@@ -67,6 +67,7 @@ extern void set_prompt (const char *s); @@ -74,6 +74,7 @@ extern int gdb_in_secondary_prompt_p (vo
/* From random places. */ /* From random places. */
extern int readnow_symbol_files; extern int readnow_symbol_files;

View File

@ -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.10.50.20151022.orig/gdb/corelow.c 2015-10-22 22:30:46.226403087 +0200
+++ gdb-7.9.90.20150709/gdb/corelow.c 2015-07-09 22:05:42.057222722 +0200 +++ gdb-7.10.50.20151022/gdb/corelow.c 2015-10-22 22:30:49.266420986 +0200
@@ -45,6 +45,10 @@ @@ -45,6 +45,10 @@
#include "gdb_bfd.h" #include "gdb_bfd.h"
#include "completer.h" #include "completer.h"
@ -94,11 +94,11 @@ Index: gdb-7.9.90.20150709/gdb/corelow.c
+ NULL, NULL, NULL, + NULL, NULL, NULL,
+ &setlist, &showlist); + &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.10.50.20151022.orig/gdb/doc/gdb.texinfo 2015-10-22 22:30:46.233403128 +0200
+++ gdb-7.9.90.20150709/gdb/doc/gdb.texinfo 2015-07-09 22:05:42.067222806 +0200 +++ gdb-7.10.50.20151022/gdb/doc/gdb.texinfo 2015-10-22 22:30:49.271421015 +0200
@@ -18304,6 +18304,27 @@ information files. @@ -18495,6 +18495,27 @@ information files.
@end table @end table
@ -126,10 +126,10 @@ Index: gdb-7.9.90.20150709/gdb/doc/gdb.texinfo
@cindex @code{.gnu_debuglink} sections @cindex @code{.gnu_debuglink} sections
@cindex debug link sections @cindex debug link sections
A debug link is a special section of the executable file named A debug link is a special section of the executable file named
Index: gdb-7.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.10.50.20151022.orig/gdb/solib-svr4.c 2015-10-22 22:30:46.235403140 +0200
+++ gdb-7.9.90.20150709/gdb/solib-svr4.c 2015-07-09 22:05:42.068222815 +0200 +++ gdb-7.10.50.20151022/gdb/solib-svr4.c 2015-10-22 22:30:49.272421021 +0200
@@ -45,6 +45,7 @@ @@ -45,6 +45,7 @@
#include "auxv.h" #include "auxv.h"
#include "gdb_bfd.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 struct link_map_offsets *svr4_fetch_link_map_offsets (void);
static int svr4_have_link_map_offsets (void); static int svr4_have_link_map_offsets (void);
@@ -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; continue;
} }
@ -194,11 +194,11 @@ Index: gdb-7.9.90.20150709/gdb/solib-svr4.c
xfree (buffer); xfree (buffer);
/* If this entry has no name, or its name matches the name /* If this entry has no name, or its name matches the name
Index: gdb-7.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.10.50.20151022.orig/gdb/elfread.c 2015-10-22 22:30:46.235403140 +0200
+++ gdb-7.9.90.20150709/gdb/elfread.c 2015-07-09 22:05:42.068222815 +0200 +++ gdb-7.10.50.20151022/gdb/elfread.c 2015-10-22 22:30:49.272421021 +0200
@@ -1250,9 +1250,10 @@ elf_symfile_read (struct objfile *objfil @@ -1259,9 +1259,10 @@ elf_symfile_read (struct objfile *objfil
&& objfile->separate_debug_objfile == NULL && objfile->separate_debug_objfile == NULL
&& objfile->separate_debug_objfile_backlink == NULL) && objfile->separate_debug_objfile_backlink == NULL)
{ {
@ -211,7 +211,7 @@ Index: gdb-7.9.90.20150709/gdb/elfread.c
if (debugfile == NULL) if (debugfile == NULL)
debugfile = find_separate_debug_file_by_debuglink (objfile); 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); symbol_file_add_separate (abfd, debugfile, symfile_flags, objfile);
do_cleanups (cleanup); 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.10.50.20151022.orig/gdb/symfile.h 2015-10-22 22:30:46.236403145 +0200
+++ gdb-7.9.90.20150709/gdb/symfile.h 2015-07-09 22:05:42.068222815 +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 @@ -584,6 +584,10 @@ void expand_symtabs_matching (expand_sym
void map_symbol_filenames (symbol_filename_ftype *fun, void *data, void map_symbol_filenames (symbol_filename_ftype *fun, void *data,
int need_fullname); int need_fullname);
@ -239,11 +239,11 @@ Index: gdb-7.9.90.20150709/gdb/symfile.h
/* From dwarf2read.c */ /* From dwarf2read.c */
/* Names for a dwarf2 debugging section. The field NORMAL is the normal /* Names for a dwarf2 debugging section. The field NORMAL is the normal
Index: gdb-7.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.10.50.20151022.orig/gdb/testsuite/lib/gdb.exp 2015-10-22 22:30:46.237403151 +0200
+++ gdb-7.9.90.20150709/gdb/testsuite/lib/gdb.exp 2015-07-09 22:05:42.070222832 +0200 +++ gdb-7.10.50.20151022/gdb/testsuite/lib/gdb.exp 2015-10-22 22:30:49.273421027 +0200
@@ -1573,6 +1573,16 @@ proc default_gdb_start { } { @@ -1640,6 +1640,16 @@ proc default_gdb_start { } {
warning "Couldn't set the width to 0." 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 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.10.50.20151022.orig/gdb/testsuite/lib/mi-support.exp 2015-10-22 22:30:49.274421033 +0200
+++ gdb-7.9.90.20150709/gdb/testsuite/lib/mi-support.exp 2015-07-09 22:05:42.070222832 +0200 +++ gdb-7.10.50.20151022/gdb/testsuite/lib/mi-support.exp 2015-10-22 22:31:24.869631575 +0200
@@ -214,6 +214,16 @@ proc default_mi_gdb_start { args } { @@ -204,6 +204,16 @@ proc default_mi_gdb_start { args } {
warning "Couldn't set the width to 0." 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.." + 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 } { 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.10.50.20151022.orig/gdb/objfiles.h 2015-10-22 22:30:46.238403157 +0200
+++ gdb-7.9.90.20150709/gdb/objfiles.h 2015-07-09 22:05:42.071222840 +0200 +++ gdb-7.10.50.20151022/gdb/objfiles.h 2015-10-22 22:30:49.274421033 +0200
@@ -459,6 +459,10 @@ struct objfile @@ -489,6 +489,10 @@ struct objfile
#define OBJF_NOT_FILENAME (1 << 6) #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 */ /* Declarations for functions defined in objfiles.c */
extern struct objfile *allocate_objfile (bfd *, const char *name, int); extern struct objfile *allocate_objfile (bfd *, const char *name, 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.10.50.20151022.orig/gdb/testsuite/gdb.base/corefile.exp 2015-10-22 22:30:46.238403157 +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/gdb/testsuite/gdb.base/corefile.exp 2015-10-22 22:30:49.274421033 +0200
@@ -293,3 +293,33 @@ gdb_test_multiple "core-file $corefile" @@ -293,3 +293,33 @@ gdb_test_multiple "core-file $corefile"
pass $test 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 .*" + gdb_test "info files" "Local exec file:\r\n\[ \t\]*`[string_to_regexp $debugdir/$buildid]', file type .*"
+ pass $wholetest + 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.10.50.20151022.orig/gdb/build-id.c 2015-10-22 22:30:46.238403157 +0200
+++ gdb-7.9.90.20150709/gdb/build-id.c 2015-07-09 22:19:35.022957009 +0200 +++ gdb-7.10.50.20151022/gdb/build-id.c 2015-10-22 22:34:36.579774662 +0200
@@ -26,11 +26,67 @@ @@ -26,11 +26,67 @@
#include "objfiles.h" #include "objfiles.h"
#include "filenames.h" #include "filenames.h"
@ -765,7 +765,7 @@ Index: gdb-7.9.90.20150709/gdb/build-id.c
if (found == NULL) if (found == NULL)
warning (_("File \"%s\" has no build-id, file skipped"), 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; return retval;
} }
@ -818,15 +818,18 @@ Index: gdb-7.9.90.20150709/gdb/build-id.c
struct cleanup *back_to; struct cleanup *back_to;
int ix; int ix;
bfd *abfd = NULL; bfd *abfd = NULL;
- int alloc_len;
/* DEBUG_FILE_DIRECTORY/.build-id/ab/cdef */ /* DEBUG_FILE_DIRECTORY/.build-id/ab/cdef */
- link = alloca (strlen (debug_file_directory) + (sizeof "/.build-id/" - 1) + 1 - alloc_len = (strlen (debug_file_directory)
- + 2 * build_id_len + (sizeof ".debug" - 1) + 1); - + (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); + link = xmalloc (strlen (debug_file_directory) + 2 * build_id_len + 50);
/* Keep backward compatibility so that DEBUG_FILE_DIRECTORY being "" will /* Keep backward compatibility so that DEBUG_FILE_DIRECTORY being "" will
cause "/.build-id/..." lookups. */ 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); size_t debugdir_len = strlen (debugdir);
const gdb_byte *data = build_id; const gdb_byte *data = build_id;
size_t size = build_id_len; 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); memcpy (link, debugdir, debugdir_len);
s = &link[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++ = '/'; *s++ = '/';
while (size-- > 0) while (size-- > 0)
s += sprintf (s, "%02x", (unsigned) *data++); 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. */ /* Prevent looping on a stripped .debug file. */
if (abfd != NULL if (abfd != NULL
&& filename_cmp (bfd_get_filename (abfd), && filename_cmp (bfd_get_filename (abfd),
@@ -167,3 +838,21 @@ find_separate_debug_file_by_buildid (str @@ -170,3 +838,21 @@ find_separate_debug_file_by_buildid (str
} }
return NULL; return NULL;
} }
@ -1163,10 +1166,10 @@ Index: gdb-7.9.90.20150709/gdb/build-id.c
+ +
+ observer_attach_executable_changed (debug_print_executable_changed); + 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.10.50.20151022.orig/gdb/build-id.h 2015-10-22 22:30:46.239403163 +0200
+++ gdb-7.9.90.20150709/gdb/build-id.h 2015-07-09 22:05:42.072222849 +0200 +++ gdb-7.10.50.20151022/gdb/build-id.h 2015-10-22 22:30:49.275421039 +0200
@@ -20,9 +20,10 @@ @@ -20,9 +20,10 @@
#ifndef BUILD_ID_H #ifndef BUILD_ID_H
#define 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); + char **build_id_filename_return);
#endif /* BUILD_ID_H */ #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.10.50.20151022.orig/gdb/dwarf2read.c 2015-10-22 22:30:46.242403181 +0200
+++ gdb-7.9.90.20150709/gdb/dwarf2read.c 2015-07-09 22:05:42.077222891 +0200 +++ gdb-7.10.50.20151022/gdb/dwarf2read.c 2015-10-22 22:30:49.278421057 +0200
@@ -2507,7 +2507,7 @@ dwarf2_get_dwz_file (void) @@ -2514,7 +2514,7 @@ dwarf2_get_dwz_file (void)
} }
if (dwz_bfd == NULL) if (dwz_bfd == NULL)
@ -1214,10 +1217,10 @@ Index: gdb-7.9.90.20150709/gdb/dwarf2read.c
if (dwz_bfd == NULL) if (dwz_bfd == NULL)
error (_("could not find '.gnu_debugaltlink' file for %s"), error (_("could not find '.gnu_debugaltlink' file for %s"),
Index: gdb-7.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.10.50.20151022.orig/gdb/python/py-objfile.c 2015-10-22 22:30:46.243403187 +0200
+++ gdb-7.9.90.20150709/gdb/python/py-objfile.c 2015-07-09 22:05:42.077222891 +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 @@ -139,7 +139,7 @@ objfpy_get_build_id (PyObject *self, voi
TRY TRY
@ -1236,10 +1239,10 @@ Index: gdb-7.9.90.20150709/gdb/python/py-objfile.c
if (obfd_build_id == NULL) if (obfd_build_id == NULL)
continue; continue;
if (objfpy_build_id_matches (obfd_build_id, build_id)) if (objfpy_build_id_matches (obfd_build_id, build_id))
Index: gdb-7.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.10.50.20151022.orig/gdb/coffread.c 2015-10-22 22:30:46.244403193 +0200
+++ gdb-7.9.90.20150709/gdb/coffread.c 2015-07-09 22:05:42.078222899 +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 @@ -739,7 +739,7 @@ coff_symfile_read (struct objfile *objfi
{ {
char *debugfile; char *debugfile;

View File

@ -3,10 +3,10 @@
Port to GDB-6.8pre. Port to GDB-6.8pre.
Remove the `[' character from the GDB-6.8 default message. 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 --- /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 @@ @@ -0,0 +1,57 @@
+/* This testcase is part of GDB, the GNU debugger. +/* 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; + 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 --- /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 @@ @@ -0,0 +1,36 @@
+# Copyright 2007 Free Software Foundation, Inc. +# 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 "" \ +gdb_test "" \
+ "Detaching after fork from child process.*\\\[Inferior .* exited normally\\\]" \ + "Detaching after fork from child process.*\\\[Inferior .* exited normally\\\]" \
+ "Info message caught" + "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.10.50.20151027.orig/gdb/infrun.c 2015-10-27 22:38:34.333386939 +0100
+++ gdb-7.9.50.20150531/gdb/infrun.c 2015-05-31 18:23:49.011450735 +0200 +++ gdb-7.10.50.20151027/gdb/infrun.c 2015-10-27 22:38:46.695459581 +0100
@@ -443,7 +443,7 @@ holding the child stopped. Try \"set de @@ -477,7 +477,7 @@ holding the child stopped. Try \"set de
remove_breakpoints_pid (ptid_get_pid (inferior_ptid)); 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. */ /* Ensure that we have a process ptid. */
ptid_t process_ptid = pid_to_ptid (ptid_get_pid (child_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
}
}

View File

@ -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.10.50.20151022.orig/gdb/infrun.c 2015-10-22 22:30:15.887224452 +0200
+++ gdb-7.7.50.20140609/gdb/infrun.c 2014-06-13 20:08:55.515703466 +0200 +++ gdb-7.10.50.20151022/gdb/infrun.c 2015-10-22 22:30:25.742282478 +0200
@@ -1661,7 +1661,7 @@ static const char *const scheduler_enums @@ -2175,7 +2175,7 @@ static const char *const scheduler_enums
schedlock_step, schedlock_replay,
NULL NULL
}; };
-static const char *scheduler_mode = schedlock_off; -static const char *scheduler_mode = schedlock_replay;
+static const char *scheduler_mode = schedlock_step; +static const char *scheduler_mode = schedlock_step;
static void static void
show_scheduler_mode (struct ui_file *file, int from_tty, show_scheduler_mode (struct ui_file *file, int from_tty,
struct cmd_list_element *c, const char *value) struct cmd_list_element *c, const char *value)
Index: gdb-7.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.10.50.20151022.orig/gdb/testsuite/gdb.mi/mi-cli.exp 2015-10-22 22:29:38.352003447 +0200
+++ gdb-7.7.50.20140609/gdb/testsuite/gdb.mi/mi-cli.exp 2014-06-13 20:09:24.862732832 +0200 +++ gdb-7.10.50.20151022/gdb/testsuite/gdb.mi/mi-cli.exp 2015-10-22 22:30:15.888224458 +0200
@@ -181,7 +181,7 @@ mi_expect_stop "breakpoint-hit" "main" " @@ -199,7 +199,7 @@ mi_expect_stop "breakpoint-hit" "main" "
# Test that the token is output even for CLI commands # Test that the token is output even for CLI commands
# Also test that *stopped includes frame information. # Also test that *stopped includes frame information.
mi_gdb_test "34 next" \ 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" "34 next: run"
# Test that the new current source line is output to the console # Test that the new current source line is output to the console
Index: gdb-7.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.10.50.20151022.orig/gdb/testsuite/gdb.mi/mi-logging.exp 2015-10-22 22:29:38.352003447 +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/gdb/testsuite/gdb.mi/mi-logging.exp 2015-10-22 22:30:15.888224458 +0200
@@ -53,7 +53,7 @@ close $chan @@ -53,7 +53,7 @@ close $chan
set mi_log_prompt "\[(\]gdb\[)\] \[\r\n\]+" 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" pass "Redirect log file contents"
} else { } else {
fail "Redirect log file contents" 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.10.50.20151022.orig/gdb/testsuite/gdb.mi/mi-console.exp 2015-10-22 22:29:38.353003453 +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/gdb/testsuite/gdb.mi/mi-console.exp 2015-10-22 22:30:15.888224458 +0200
@@ -60,6 +60,9 @@ if { [gdb_compile "${srcdir}/${subdir}/ @@ -60,6 +60,9 @@ if { [gdb_compile "${srcdir}/${subdir}/
mi_run_to_main mi_run_to_main

View File

@ -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.10.50.20151027.orig/gdb/testsuite/gdb.ada/packed_array.exp 2015-10-27 02:48:32.000000000 +0100
+++ 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/gdb/testsuite/gdb.ada/packed_array.exp 2015-11-03 22:23:27.212877605 +0100
@@ -56,5 +56,11 @@ gdb_test_multiple "$test" "$test" { @@ -56,5 +56,11 @@ gdb_test_multiple "$test" "$test" {
# are. Observed with (FSF GNU Ada 4.5.3 20110124). # are. Observed with (FSF GNU Ada 4.5.3 20110124).
xfail $test xfail $test
@ -14,10 +14,10 @@ Index: gdb-7.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 --- /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 @@ @@ -0,0 +1,455 @@
+ .file "x86_64-vla-typedef.c" + .file "x86_64-vla-typedef.c"
+ .section .debug_abbrev,"",@progbits + .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)" + .string "GNU C 4.3.2 20081105 (Red Hat 4.3.2-7)"
+ .ident "GCC: (GNU) 4.3.2 20081105 (Red Hat 4.3.2-7)" + .ident "GCC: (GNU) 4.3.2 20081105 (Red Hat 4.3.2-7)"
+ .section .note.GNU-stack,"",@progbits + .section .note.GNU-stack,"",@progbits
Index: gdb-7.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 --- /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 @@ @@ -0,0 +1,43 @@
+/* This testcase is part of GDB, the GNU debugger. +/* 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 +#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 --- /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 @@ @@ -0,0 +1,64 @@
+# Copyright 2009 Free Software Foundation, Inc. +# 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 "whatis array" "type = array_t" "second: whatis array"
+ +
+gdb_test "ptype array" "type = char \\\[78\\\]" "second: ptype array" +gdb_test "ptype array" "type = char \\\[78\\\]" "second: ptype array"
Index: gdb-7.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.10.50.20151027.orig/gdb/testsuite/gdb.base/arrayidx.c 2015-10-27 02:48:32.000000000 +0100
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.base/arrayidx.c 2014-06-16 23:30:30.109940484 +0200 +++ gdb-7.10.50.20151027/gdb/testsuite/gdb.base/arrayidx.c 2015-11-03 22:23:27.213877611 +0100
@@ -17,6 +17,13 @@ @@ -17,6 +17,13 @@
int array[] = {1, 2, 3, 4}; int array[] = {1, 2, 3, 4};
@ -609,10 +609,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/arrayidx.c
int int
main (void) 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.10.50.20151027.orig/gdb/testsuite/gdb.base/arrayidx.exp 2015-10-27 02:48:32.000000000 +0100
+++ gdb-7.7.90.20140613/gdb/testsuite/gdb.base/arrayidx.exp 2014-06-16 23:30:30.109940484 +0200 +++ 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" \ @@ -49,4 +49,12 @@ gdb_test "print array" \
"\\{\\\[0\\\] = 1, \\\[1\\\] = 2, \\\[2\\\] = 3, \\\[3\\\] = 4\\}" \ "\\{\\\[0\\\] = 1, \\\[1\\\] = 2, \\\[2\\\] = 3, \\\[3\\\] = 4\\}" \
"Print array with array-indexes on" "Print array with array-indexes on"
@ -627,10 +627,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.base/arrayidx.exp
+ unsupported "$test (no GCC)" + 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 --- /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 @@ @@ -0,0 +1,20 @@
+/* This testcase is part of GDB, the GNU debugger. +/* 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 { +struct {
+ int field; + int field;
+} staticstruct = { 1 }; +} 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 --- /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 @@ @@ -0,0 +1,26 @@
+# Copyright 2009 Free Software Foundation, Inc. +# 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 {set $varstruct = staticstruct}
+gdb_test {p $varstruct.field} " = 1" +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 --- /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 @@ @@ -0,0 +1,31 @@
+/* This testcase is part of GDB, the GNU debugger. +/* 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); + f (s);
+ return 0; + 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 --- /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 @@ @@ -0,0 +1,38 @@
+# Copyright 2011 Free Software Foundation, Inc. +# 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.*" +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 --- /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 @@ @@ -0,0 +1,30 @@
+/* This testcase is part of GDB, the GNU debugger. +/* 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; + 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 --- /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 @@ @@ -0,0 +1,109 @@
+# Copyright 2008 Free Software Foundation, Inc. +# 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()" +gdb_test "bt" "in \[^ \]*abort \\(.* in main \\(.*" "Backtrace after abort()"
+ +
+verbose -log "kb_found in bt after abort() = [expr [memory_v_pages_get] * $pagesize / 1024]" +verbose -log "kb_found in bt after abort() = [expr [memory_v_pages_get] * $pagesize / 1024]"
Index: gdb-7.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 --- /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 @@ @@ -0,0 +1,55 @@
+/* This testcase is part of GDB, the GNU debugger. +/* 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); + foo (78);
+ return 0; + 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 --- /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 @@ @@ -0,0 +1,62 @@
+# Copyright 2008 Free Software Foundation, Inc. +# 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 temp1" " = '1' <repeats 78 times>" "second: print temp1"
+gdb_test "p temp2" " = '2' <repeats 78 times>" "second: print temp2" +gdb_test "p temp2" " = '2' <repeats 78 times>" "second: print temp2"
+gdb_test "p temp3" " = '3' <repeats 48 times>" "second: print temp3" +gdb_test "p temp3" " = '3' <repeats 48 times>" "second: print temp3"
Index: gdb-7.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 --- /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 @@ @@ -0,0 +1,246 @@
+/* This testcase is part of GDB, the GNU debugger. +/* 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" + .string "char"
+.Luint_str: +.Luint_str:
+ .string "unsigned int" + .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 --- /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 +++ gdb-7.10.50.20151027/gdb/testsuite/gdb.dwarf2/dw2-bound-loclist.exp 2015-11-03 22:23:27.214877617 +0100
@@ -0,0 +1,63 @@ @@ -0,0 +1,66 @@
+# Copyright 2010 Free Software Foundation, Inc. +# Copyright 2010 Free Software Foundation, Inc.
+ +
+# This program is free software; you can redistribute it and/or modify +# 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. +# Verify it behaves at least as an unbound array without inferior.
+ +
+set test "p a_string" +# FIXME: FSF GDB crashes due to !has_stack_frames ().
+gdb_test_multiple $test $test { +# But in practice that should not happen.
+ -re " = 0x\[0-9a-f\]+ \"seennotseen\"\r\n$gdb_prompt $" { +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43762
+ pass $test +#set test "p a_string"
+ } +#gdb_test_multiple $test $test {
+ -re "No registers\\.\r\n$gdb_prompt $" { +# -re " = 0x\[0-9a-f\]+ \"seennotseen\"\r\n$gdb_prompt $" {
+ kfail "vlaregression" $test +# pass $test
+ } +# }
+} +# -re "No registers\\.\r\n$gdb_prompt $" {
+ +# kfail "vlaregression" $test
+gdb_test "ptype a_string" {type = char \[variable length\]} +# }
+#}
+#
+#gdb_test "ptype a_string" {type = char \[variable length\]}
+ +
+# Not runto_main as dw2-bound-loclist.S handles only the first byte of main. +# Not runto_main as dw2-bound-loclist.S handles only the first byte of main.
+if ![runto "*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. +# The register contains unpredictable value - the array size.
+gdb_test "ptype reg_string" {type = char \[-?[0-9]+\]} +gdb_test "ptype reg_string" {type = char \[-?[0-9]+\]}
Index: gdb-7.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 --- /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 @@ @@ -0,0 +1,42 @@
+/* This testcase is part of GDB, the GNU debugger. +/* 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); + func1 (1, 2);
+ return 0; + 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 --- /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 @@ @@ -0,0 +1,79 @@
+# Copyright 2006 Free Software Foundation, Inc. +# 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" \ +gdb_test "step" \
+ "func.* \\(.*\\) at .*" \ + "func.* \\(.*\\) at .*" \
+ "step" + "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 --- /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 @@ @@ -0,0 +1,83 @@
+/* This testcase is part of GDB, the GNU debugger. +/* 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 */
+ .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 --- /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 @@ @@ -0,0 +1,37 @@
+# Copyright 2009 Free Software Foundation, Inc. +# 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 +clean_restart $binfile
+ +
+gdb_test "ptype struct some_struct" "type = struct some_struct {\[\r\n \t\]*void field;\[\r\n \t\]*}" +gdb_test "ptype struct some_struct" "type = struct some_struct {\[\r\n \t\]*void field;\[\r\n \t\]*}"
Index: gdb-7.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 --- /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 @@ @@ -0,0 +1,121 @@
+/* This testcase is part of GDB, the GNU debugger. +/* 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 */
+ +
+ .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 --- /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 @@ @@ -0,0 +1,39 @@
+# Copyright 2012 Free Software Foundation, Inc. +# 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 "ptype notype_string" {type = char \[129\]}
+gdb_test "p notype_string" " = 'x' <repeats 129 times>" +gdb_test "p notype_string" " = 'x' <repeats 129 times>"
Index: gdb-7.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 --- /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 @@ @@ -0,0 +1,42 @@
+# Copyright 2009 Free Software Foundation, Inc. +# 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_continue_to_breakpoint "break-here" ".*break-here.*"
+gdb_test "p c40pt(1)" " = '0-hello.*" +gdb_test "p c40pt(1)" " = '0-hello.*"
+gdb_test "p c40pt(2)" " = '1-hello.*" +gdb_test "p c40pt(2)" " = '1-hello.*"
Index: gdb-7.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 --- /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 @@ @@ -0,0 +1,40 @@
+! Copyright 2009 Free Software Foundation, Inc. +! 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 + print *, c40pt ! break-here
+ +
+end program repro +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 --- /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 @@ @@ -0,0 +1,151 @@
+# Copyright 2007 Free Software Foundation, Inc. +# 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_continue_to_breakpoint "varx-init"
+gdb_test "p varx" "\\$\[0-9\]* = <not allocated>" "p varx unallocated" +gdb_test "p varx" "\\$\[0-9\]* = <not allocated>" "p varx unallocated"
+gdb_test "ptype varx" "type = <not allocated>" "ptype 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)" {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 because not allocated" "p varx(1,5,17)=1 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 because not allocated" "ptype varx(1,5,17) 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_breakpoint [gdb_get_line_number "varx-allocated"]
+gdb_continue_to_breakpoint "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 "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 "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 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 "p varv(1,5,17)" {no such vector element \(vector not associated\)}
+gdb_test "ptype varv(1,5,17)" "no such vector element because 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_breakpoint [gdb_get_line_number "varx-deallocated"]
+gdb_continue_to_breakpoint "varx-deallocated" +gdb_continue_to_breakpoint "varx-deallocated"
+gdb_test "p varx" "\\$\[0-9\]* = <not allocated>" "p 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 "ptype varx" "type = <not allocated>" "ptype varx deallocated"
+gdb_test "p l" "\\$\[0-9\]* = \\.FALSE\\." "p l if 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 "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 because not allocated" "ptype 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_breakpoint [gdb_get_line_number "vary-passed"]
+gdb_continue_to_breakpoint "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" +gdb_test "p vart(3,8)" "\\$\[0-9\]* = 9"
+# maps to foo::vary(1,3) +# maps to foo::vary(1,3)
+gdb_test "p vart(2,9)" "\\$\[0-9\]* = 10" +gdb_test "p vart(2,9)" "\\$\[0-9\]* = 10"
Index: gdb-7.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 --- /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 @@ @@ -0,0 +1,98 @@
+! Copyright 2007 Free Software Foundation, Inc. +! 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 (1, 1) .ne. 8 .or. x (2, 2) .ne. 9 .or. x (1, 2) .ne. 4) call abort
+ if (x (3, 1) .ne. 10) call abort + if (x (3, 1) .ne. 10) call abort
+end +end
Index: gdb-7.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 --- /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 @@ @@ -0,0 +1,59 @@
+# Copyright 2008 Free Software Foundation, Inc. +# 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_continue_to_breakpoint "var-finish"
+gdb_test "p e" "\\$\[0-9\]* = 'e '" "p e re-set" +gdb_test "p e" "\\$\[0-9\]* = 'e '" "p e re-set"
+gdb_test "p f" "\\$\[0-9\]* = \\(\\( 'f ', 'f ', 'f ', 'f ', 'f ', 'f ', 'f '\\) \\( 'f2 ', 'f ', 'f ', 'f ', 'f ', 'f ', 'f '\\) \\( 'f ', 'f ', 'f ', 'f ', 'f ', 'f ', 'f '\\) \\)" "p *f re-set" +gdb_test "p f" "\\$\[0-9\]* = \\(\\( 'f ', 'f ', 'f ', 'f ', 'f ', 'f ', 'f '\\) \\( 'f2 ', 'f ', 'f ', 'f ', 'f ', 'f ', 'f '\\) \\( 'f ', 'f ', 'f ', 'f ', 'f ', 'f ', 'f '\\) \\)" "p *f re-set"
Index: gdb-7.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 --- /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 @@ @@ -0,0 +1,37 @@
+! Copyright 2008 Free Software Foundation, Inc. +! Copyright 2008 Free Software Foundation, Inc.
+! +!
@ -2245,10 +2248,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/string.f90
+ h = 'h' + h = 'h'
+ call foo (g, h) + call foo (g, h)
+end +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 --- /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 @@ @@ -0,0 +1,72 @@
+# Copyright 2011 Free Software Foundation, Inc. +# Copyright 2011 Free Software Foundation, Inc.
+ +
@ -2322,10 +2325,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/subrange.exp
+gdb_unload +gdb_unload
+setup_kfail "*-*-*" "vlaregression/9999" +setup_kfail "*-*-*" "vlaregression/9999"
+gdb_test {p $a (3, 2:2)} { = \(23\)} +gdb_test {p $a (3, 2:2)} { = \(23\)}
Index: gdb-7.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 --- /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 @@ @@ -0,0 +1,28 @@
+! Copyright 2011 Free Software Foundation, Inc. +! Copyright 2011 Free Software Foundation, Inc.
+! +!
@ -2355,10 +2358,10 @@ Index: gdb-7.7.90.20140613/gdb/testsuite/gdb.fortran/subrange.f90
+ ptr => a + ptr => a
+ write (*,*) a ! break-static + write (*,*) a ! break-static
+end +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 --- /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 @@ @@ -0,0 +1,26 @@
+/* Copyright 2011 Free Software Foundation, Inc. +/* 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; + 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 --- /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 @@ @@ -0,0 +1,57 @@
+# Copyright 2011 Free Software Foundation, Inc. +# 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_create_varobj "vla" "vla" "create local variable vla"
+ +
+mi_gdb_test "-var-update *" "\\^done,changelist=.*" "-var-update *" +mi_gdb_test "-var-update *" "\\^done,changelist=.*" "-var-update *"
Index: gdb-7.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 --- /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 @@ @@ -0,0 +1,22 @@
+/* This file is part of GDB, the GNU debugger. +/* 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]; + 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 --- /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 @@ @@ -0,0 +1,28 @@
+/* This file is part of GDB, the GNU debugger. +/* 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; + 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 --- /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 @@ @@ -0,0 +1,33 @@
+# Copyright 2009 Free Software Foundation, Inc. +# 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: +# Seen regression:
+# Address requested for identifier "arr" which is in register $rdi +# Address requested for identifier "arr" which is in register $rdi
+gdb_test "p arr\[0\]" "\\$\[0-9\]+ = 42" +gdb_test "p arr\[0\]" "\\$\[0-9\]+ = 42"
Index: gdb-7.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 --- /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 @@ @@ -0,0 +1,104 @@
+# Copyright 2008, 2009 Free Software Foundation, Inc. +# 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" +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 --- /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 @@ @@ -0,0 +1,82 @@
+{ +{
+ Copyright 2008, 2009 Free Software Foundation, Inc. + 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'; + s := 'test'#0'string';
+ writeln(s); { set breakpoint 2 here } + writeln(s); { set breakpoint 2 here }
+end. +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.10.50.20151027.orig/gdb/testsuite/lib/gdb.exp 2015-11-03 22:23:26.684874457 +0100
+++ gdb-7.7.90.20140613/gdb/testsuite/lib/gdb.exp 2014-06-16 23:30:30.117940492 +0200 +++ gdb-7.10.50.20151027/gdb/testsuite/lib/gdb.exp 2015-11-03 22:23:27.217877635 +0100
@@ -159,6 +159,11 @@ proc gdb_unload {} { @@ -173,6 +173,11 @@ proc gdb_unload {} {
send_gdb "y\n" send_gdb "y\n"
exp_continue 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.*$" { -re "Discard symbol table from .*y or n.*$" {
send_gdb "y\n" send_gdb "y\n"
exp_continue 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.10.50.20151027.orig/gdb/testsuite/lib/pascal.exp 2015-10-27 02:48:32.000000000 +0100
+++ gdb-7.7.90.20140613/gdb/testsuite/lib/pascal.exp 2014-06-16 23:30:30.117940492 +0200 +++ 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 {} { @@ -37,6 +37,9 @@ proc pascal_init {} {
global pascal_compiler_is_fpc global pascal_compiler_is_fpc
global gpc_compiler global gpc_compiler

View File

@ -37,13 +37,13 @@ gdb/gdbserver/
(linux_create_inferior, linux_tracefork_child): Call it instead of (linux_create_inferior, linux_tracefork_child): Call it instead of
direct ptrace. direct ptrace.
Index: gdb-7.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.10.50.20151022.orig/gdb/nat/linux-ptrace.c 2015-10-22 22:35:00.474917139 +0200
+++ gdb-7.9.90.20150709/gdb/nat/linux-ptrace.c 2015-07-09 18:24:24.911235973 +0200 +++ gdb-7.10.50.20151022/gdb/nat/linux-ptrace.c 2015-10-22 22:35:08.120962729 +0200
@@ -23,6 +23,10 @@ @@ -24,6 +24,10 @@
#include "buffer.h"
#include "gdb_wait.h" #include "gdb_wait.h"
#include "gdb_ptrace.h"
+#ifdef HAVE_SELINUX_SELINUX_H +#ifdef HAVE_SELINUX_SELINUX_H
+# include <selinux/selinux.h> +# include <selinux/selinux.h>
@ -52,7 +52,7 @@ Index: gdb-7.9.90.20150709/gdb/nat/linux-ptrace.c
/* Stores the ptrace options supported by the running kernel. /* Stores the ptrace options supported by the running kernel.
A value of -1 means we did not check for features yet. A value A value of -1 means we did not check for features yet. A value
of 0 means there are no supported features. */ of 0 means there are no supported features. */
@@ -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 " buffer_xml_printf (buffer, _("process %d is a zombie "
"- the process has already terminated"), "- the process has already terminated"),
(int) pid); (int) pid);
@ -61,7 +61,7 @@ Index: gdb-7.9.90.20150709/gdb/nat/linux-ptrace.c
} }
/* See linux-ptrace.h. */ /* 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 (); 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. */ /* Extract extended ptrace event from wait status. */
int 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.10.50.20151022.orig/gdb/nat/linux-ptrace.h 2015-10-22 22:35:00.474917139 +0200
+++ gdb-7.9.90.20150709/gdb/nat/linux-ptrace.h 2015-07-09 18:24:24.912235981 +0200 +++ gdb-7.10.50.20151022/gdb/nat/linux-ptrace.h 2015-10-22 22:35:08.120962729 +0200
@@ -157,6 +157,7 @@ extern void linux_ptrace_attach_fail_rea @@ -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 char *linux_ptrace_attach_fail_reason_string (ptid_t ptid, int err);
extern void linux_ptrace_init_warnings (void); extern void linux_ptrace_init_warnings (void);
@ -96,11 +96,11 @@ Index: gdb-7.9.90.20150709/gdb/nat/linux-ptrace.h
extern void linux_check_ptrace_features (void); extern void linux_check_ptrace_features (void);
extern void linux_enable_event_reporting (pid_t pid, int attached); extern void linux_enable_event_reporting (pid_t pid, int attached);
extern void linux_disable_event_reporting (pid_t pid); extern void linux_disable_event_reporting (pid_t pid);
Index: gdb-7.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.10.50.20151022.orig/gdb/configure.ac 2015-10-22 22:35:00.475917145 +0200
+++ gdb-7.9.90.20150709/gdb/configure.ac 2015-07-09 18:24:24.913235990 +0200 +++ gdb-7.10.50.20151022/gdb/configure.ac 2015-10-22 22:35:08.121962735 +0200
@@ -2150,6 +2150,10 @@ case $host_os in @@ -2096,6 +2096,10 @@ case $host_os in
esac esac
AC_DEFINE_UNQUOTED(GDBINIT,"$gdbinit",[The .gdbinit filename.]) AC_DEFINE_UNQUOTED(GDBINIT,"$gdbinit",[The .gdbinit filename.])
@ -111,11 +111,11 @@ Index: gdb-7.9.90.20150709/gdb/configure.ac
dnl Handle optional features that can be enabled. dnl Handle optional features that can be enabled.
# Support for --with-sysroot is a copy of GDB_AC_WITH_DIR, # Support for --with-sysroot is a copy of GDB_AC_WITH_DIR,
Index: gdb-7.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.10.50.20151022.orig/gdb/gdbserver/configure.ac 2015-10-22 22:35:00.475917145 +0200
+++ gdb-7.9.90.20150709/gdb/gdbserver/configure.ac 2015-07-09 18:24:24.913235990 +0200 +++ gdb-7.10.50.20151022/gdb/gdbserver/configure.ac 2015-10-22 22:35:08.121962735 +0200
@@ -499,6 +499,10 @@ if $want_ipa ; then @@ -502,6 +502,10 @@ if $want_ipa ; then
fi fi
fi fi
@ -126,11 +126,11 @@ Index: gdb-7.9.90.20150709/gdb/gdbserver/configure.ac
AC_SUBST(GDBSERVER_DEPFILES) AC_SUBST(GDBSERVER_DEPFILES)
AC_SUBST(GDBSERVER_LIBS) AC_SUBST(GDBSERVER_LIBS)
AC_SUBST(srv_xmlbuiltin) AC_SUBST(srv_xmlbuiltin)
Index: gdb-7.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.10.50.20151022.orig/gdb/gdbserver/linux-low.c 2015-10-22 22:35:00.476917151 +0200
+++ gdb-7.9.90.20150709/gdb/gdbserver/linux-low.c 2015-07-09 18:24:24.914235998 +0200 +++ gdb-7.10.50.20151022/gdb/gdbserver/linux-low.c 2015-10-22 22:35:08.122962741 +0200
@@ -755,6 +755,29 @@ add_lwp (ptid_t ptid) @@ -843,6 +843,29 @@ add_lwp (ptid_t ptid)
return lwp; 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. /* Start an inferior process and returns its pid.
ALLARGS is a vector of program-name and args. */ ALLARGS is a vector of program-name and args. */
@@ -778,7 +801,7 @@ linux_create_inferior (char *program, ch @@ -866,7 +889,7 @@ linux_create_inferior (char *program, ch
if (pid == 0) if (pid == 0)
{ {
close_most_fds (); 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. */ #ifndef __ANDROID__ /* Bionic doesn't use SIGRTMIN the way glibc does. */
signal (__SIGRTMIN + 1, SIG_DFL); 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.10.50.20151022.orig/gdb/inf-ptrace.c 2015-10-22 22:35:00.477917156 +0200
+++ gdb-7.9.90.20150709/gdb/inf-ptrace.c 2015-07-09 18:24:24.915236007 +0200 +++ gdb-7.10.50.20151022/gdb/inf-ptrace.c 2015-10-22 22:35:08.122962741 +0200
@@ -79,7 +79,15 @@ static void @@ -79,7 +79,15 @@ static void
inf_ptrace_me (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 /* 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.10.50.20151022.orig/gdb/linux-nat.c 2015-10-22 22:35:00.477917156 +0200
+++ gdb-7.9.90.20150709/gdb/linux-nat.c 2015-07-09 18:24:24.916236015 +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 @@ -1184,6 +1184,7 @@ linux_nat_create_inferior (struct target
{ {
struct cleanup *restore_personality struct cleanup *restore_personality
@ -231,10 +231,10 @@ Index: gdb-7.9.90.20150709/gdb/linux-nat.c
do_cleanups (restore_personality); 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.10.50.20151022.orig/gdb/config.in 2015-10-22 22:35:00.478917162 +0200
+++ gdb-7.9.90.20150709/gdb/config.in 2015-07-09 18:24:24.916236015 +0200 +++ gdb-7.10.50.20151022/gdb/config.in 2015-10-22 22:35:08.123962747 +0200
@@ -264,6 +264,9 @@ @@ -264,6 +264,9 @@
/* Define if librpm library is being used. */ /* Define if librpm library is being used. */
#undef HAVE_LIBRPM #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. */ /* Define to 1 if you have the `setlocale' function. */
#undef HAVE_SETLOCALE #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.10.50.20151022.orig/gdb/configure 2015-10-22 22:35:00.480917174 +0200
+++ gdb-7.9.90.20150709/gdb/configure 2015-07-09 18:24:24.920236049 +0200 +++ gdb-7.10.50.20151022/gdb/configure 2015-10-22 22:35:08.125962759 +0200
@@ -14228,6 +14228,64 @@ cat >>confdefs.h <<_ACEOF @@ -14691,6 +14691,64 @@ cat >>confdefs.h <<_ACEOF
_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, # Support for --with-sysroot is a copy of GDB_AC_WITH_DIR,
# except that the argument to --with-sysroot is optional. # except that the argument to --with-sysroot is optional.
Index: gdb-7.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.10.50.20151022.orig/gdb/gdbserver/config.in 2015-10-22 22:35:00.481917180 +0200
+++ gdb-7.9.90.20150709/gdb/gdbserver/config.in 2015-07-09 18:24:24.920236049 +0200 +++ gdb-7.10.50.20151022/gdb/gdbserver/config.in 2015-10-22 22:35:08.126962765 +0200
@@ -113,6 +113,9 @@ @@ -117,6 +117,9 @@
/* Define to 1 if you have the `mcheck' library (-lmcheck). */ /* Define to 1 if you have the `mcheck' library (-lmcheck). */
#undef HAVE_LIBMCHECK #undef HAVE_LIBMCHECK
@ -338,7 +338,7 @@ Index: gdb-7.9.90.20150709/gdb/gdbserver/config.in
/* Define if the target supports branch tracing. */ /* Define if the target supports branch tracing. */
#undef HAVE_LINUX_BTRACE #undef HAVE_LINUX_BTRACE
@@ -189,6 +192,9 @@ @@ -196,6 +199,9 @@
/* Define to 1 if you have the `setns' function. */ /* Define to 1 if you have the `setns' function. */
#undef HAVE_SETNS #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. */ /* Define to 1 if you have the <sgtty.h> header file. */
#undef HAVE_SGTTY_H #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.10.50.20151022.orig/gdb/gdbserver/configure 2015-10-22 22:35:00.482917186 +0200
+++ gdb-7.9.90.20150709/gdb/gdbserver/configure 2015-07-09 18:24:24.922236066 +0200 +++ gdb-7.10.50.20151022/gdb/gdbserver/configure 2015-10-22 22:35:08.127962770 +0200
@@ -7022,6 +7022,64 @@ if $want_ipa ; then @@ -7290,6 +7290,64 @@ if $want_ipa ; then
fi fi
fi fi

View 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--

View 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

View File

@ -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);
}

View File

@ -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;

View File

@ -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,
&current_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+--

View File

@ -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

View File

@ -52,11 +52,11 @@ Content-Type: text/x-patch
Content-Transfer-Encoding: 7bit Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=bitpos-ensure-size_t.patch 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.10.50.20151022.orig/gdb/alpha-tdep.c 2015-10-24 23:03:50.614898025 +0200
+++ gdb-7.7.90.20140613/gdb/alpha-tdep.c 2014-06-13 22:14:53.163850081 +0200 +++ gdb-7.10.50.20151022/gdb/alpha-tdep.c 2015-10-24 23:03:52.099907749 +0200
@@ -414,6 +414,13 @@ alpha_push_dummy_call (struct gdbarch *g @@ -413,6 +413,13 @@ alpha_push_dummy_call (struct gdbarch *g
accumulate_size = 0; accumulate_size = 0;
else else
accumulate_size -= sizeof(arg_reg_buffer); accumulate_size -= sizeof(arg_reg_buffer);
@ -70,24 +70,24 @@ Index: gdb-7.7.90.20140613/gdb/alpha-tdep.c
sp -= accumulate_size; sp -= accumulate_size;
/* Keep sp aligned to a multiple of 16 as the ABI requires. */ /* 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.10.50.20151022.orig/gdb/cp-valprint.c 2015-10-24 23:03:52.100907756 +0200
+++ gdb-7.7.90.20140613/gdb/cp-valprint.c 2014-06-13 22:14:53.164850081 +0200 +++ gdb-7.10.50.20151022/gdb/cp-valprint.c 2015-10-24 23:06:20.496879433 +0200
@@ -538,6 +538,8 @@ cp_print_value (struct type *type, struc @@ -536,6 +536,8 @@ cp_print_value (struct type *type, struc
gdb_byte *buf; gdb_byte *buf;
struct cleanup *back_to; struct cleanup *back_to;
+ ulongest_fits_host_or_error (TYPE_LENGTH (baseclass)); + 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); 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.10.50.20151022.orig/gdb/dwarf2loc.c 2015-10-24 23:03:50.616898039 +0200
+++ gdb-7.7.90.20140613/gdb/dwarf2loc.c 2014-06-13 22:14:53.166850084 +0200 +++ gdb-7.10.50.20151022/gdb/dwarf2loc.c 2015-10-24 23:03:52.101907762 +0200
@@ -1666,6 +1666,8 @@ read_pieced_value (struct value *v) @@ -1744,6 +1744,8 @@ read_pieced_value (struct value *v)
this_size = (this_size_bits + source_offset_bits % 8 + 7) / 8; this_size = (this_size_bits + source_offset_bits % 8 + 7) / 8;
source_offset = source_offset_bits / 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) if (buffer_size < this_size)
{ {
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 else
{ {
@ -104,35 +104,35 @@ Index: gdb-7.7.90.20140613/gdb/dwarf2loc.c
if (buffer_size < this_size) if (buffer_size < this_size)
{ {
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.10.50.20151022.orig/gdb/findcmd.c 2015-10-24 23:03:52.101907762 +0200
+++ gdb-7.7.90.20140613/gdb/findcmd.c 2014-06-13 22:14:53.166850084 +0200 +++ gdb-7.10.50.20151022/gdb/findcmd.c 2015-10-24 23:06:57.208119813 +0200
@@ -185,6 +185,7 @@ parse_find_args (char *args, ULONGEST *m @@ -184,6 +184,7 @@ parse_find_args (char *args, ULONGEST *m
size_t current_offset = pattern_buf_end - pattern_buf; size_t current_offset = pattern_buf_end - pattern_buf;
pattern_buf_size = pattern_buf_size_need * 2; pattern_buf_size = pattern_buf_size_need * 2;
+ ulongest_fits_host_or_error (pattern_buf_size); + 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; 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.10.50.20151022.orig/gdb/p-valprint.c 2015-10-24 23:03:52.101907762 +0200
+++ gdb-7.7.90.20140613/gdb/p-valprint.c 2014-06-13 22:14:53.166850084 +0200 +++ gdb-7.10.50.20151022/gdb/p-valprint.c 2015-10-24 23:07:18.457258950 +0200
@@ -772,6 +772,7 @@ pascal_object_print_value (struct type * @@ -768,6 +768,7 @@ pascal_object_print_value (struct type *
gdb_byte *buf; gdb_byte *buf;
struct cleanup *back_to; struct cleanup *back_to;
+ ulongest_fits_host_or_error (TYPE_LENGTH (baseclass)); + 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); 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.10.50.20151022.orig/gdb/utils.c 2015-10-24 23:03:50.617898045 +0200
+++ gdb-7.7.90.20140613/gdb/utils.c 2014-06-13 22:15:16.839875341 +0200 +++ gdb-7.10.50.20151022/gdb/utils.c 2015-10-24 23:03:52.102907769 +0200
@@ -2838,6 +2838,18 @@ string_to_core_addr (const char *my_stri @@ -2835,6 +2835,18 @@ string_to_core_addr (const char *my_stri
return addr; return addr;
} }
@ -151,31 +151,31 @@ Index: gdb-7.7.90.20140613/gdb/utils.c
char * char *
gdb_realpath (const char *filename) 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.10.50.20151022.orig/gdb/valops.c 2015-10-24 23:03:52.103907775 +0200
+++ gdb-7.7.90.20140613/gdb/valops.c 2014-06-13 22:14:53.169850088 +0200 +++ gdb-7.10.50.20151022/gdb/valops.c 2015-10-24 23:08:27.056709599 +0200
@@ -2074,6 +2074,7 @@ search_struct_method (const char *name, @@ -2057,6 +2057,7 @@ search_struct_method (const char *name,
struct cleanup *back_to; struct cleanup *back_to;
CORE_ADDR address; CORE_ADDR address;
+ ulongest_fits_host_or_error (TYPE_LENGTH (baseclass)); + 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); back_to = make_cleanup (xfree, tmp);
address = value_address (*arg1p); 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.10.50.20151022.orig/gdb/value.c 2015-10-24 23:03:50.619898058 +0200
+++ gdb-7.7.90.20140613/gdb/value.c 2014-06-13 22:14:53.169850088 +0200 +++ gdb-7.10.50.20151022/gdb/value.c 2015-10-24 23:08:00.049531291 +0200
@@ -824,6 +824,7 @@ allocate_value_lazy (struct type *type) @@ -934,6 +934,7 @@ allocate_value_lazy (struct type *type)
description correctly. */ description correctly. */
check_typedef (type); check_typedef (type);
+ ulongest_fits_host_or_error (TYPE_LENGTH (type)); + ulongest_fits_host_or_error (TYPE_LENGTH (type));
val = (struct value *) xzalloc (sizeof (struct value)); val = XCNEW (struct value);
val->contents = NULL; val->contents = NULL;
val->next = all_values; 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 static void
allocate_value_contents (struct value *val) allocate_value_contents (struct value *val)
{ {
@ -184,7 +184,7 @@ Index: gdb-7.7.90.20140613/gdb/value.c
if (!val->contents) if (!val->contents)
val->contents = (gdb_byte *) xzalloc (TYPE_LENGTH (val->enclosing_type)); 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) set_value_enclosing_type (struct value *val, struct type *new_encl_type)
{ {
if (TYPE_LENGTH (new_encl_type) > TYPE_LENGTH (value_enclosing_type (val))) 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; 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.10.50.20151022.orig/gdb/vax-tdep.c 2015-10-24 23:03:50.619898058 +0200
+++ gdb-7.7.90.20140613/gdb/vax-tdep.c 2014-06-13 22:14:53.169850088 +0200 +++ gdb-7.10.50.20151022/gdb/vax-tdep.c 2015-10-24 23:03:52.105907788 +0200
@@ -223,6 +223,7 @@ vax_return_value (struct gdbarch *gdbarc @@ -219,6 +219,7 @@ vax_return_value (struct gdbarch *gdbarc
ULONGEST addr; ULONGEST addr;
regcache_raw_read_unsigned (regcache, VAX_R0_REGNUM, &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); 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.10.50.20151022.orig/gdb/defs.h 2015-10-24 23:03:50.619898058 +0200
+++ gdb-7.7.90.20140613/gdb/defs.h 2014-06-13 22:14:53.169850088 +0200 +++ gdb-7.10.50.20151022/gdb/defs.h 2015-10-24 23:03:52.105907788 +0200
@@ -756,4 +756,6 @@ enum block_enum @@ -690,4 +690,6 @@ enum block_enum
#include "utils.h" #include "utils.h"

View File

@ -96,11 +96,11 @@ Content-Type: text/x-patch
Content-Transfer-Encoding: 7bit Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=bitpos-wp.patch 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.10.50.20151022.orig/gdb/arm-linux-nat.c 2015-10-24 23:13:24.617686121 +0200
+++ gdb-7.8.50.20141228/gdb/arm-linux-nat.c 2015-01-05 22:10:35.571751324 +0100 +++ gdb-7.10.50.20151022/gdb/arm-linux-nat.c 2015-10-24 23:13:32.051735501 +0200
@@ -1295,7 +1295,7 @@ arm_linux_stopped_by_watchpoint (struct @@ -1209,7 +1209,7 @@ arm_linux_stopped_by_watchpoint (struct
static int static int
arm_linux_watchpoint_addr_within_range (struct target_ops *target, arm_linux_watchpoint_addr_within_range (struct target_ops *target,
CORE_ADDR addr, 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; 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.10.50.20151022.orig/gdb/ppc-linux-nat.c 2015-10-24 23:13:24.617686121 +0200
+++ gdb-7.8.50.20141228/gdb/ppc-linux-nat.c 2015-01-05 22:10:35.572751329 +0100 +++ gdb-7.10.50.20151022/gdb/ppc-linux-nat.c 2015-10-24 23:13:32.051735501 +0200
@@ -1860,11 +1860,11 @@ can_use_watchpoint_cond_accel (void) @@ -1807,11 +1807,11 @@ can_use_watchpoint_cond_accel (void)
CONDITION_VALUE will hold the value which should be put in the CONDITION_VALUE will hold the value which should be put in the
DVC register. */ DVC register. */
static void 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; CORE_ADDR addr_end_data, addr_end_dvc;
/* The DVC register compares bytes within fixed-length windows which /* 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. */ of the constant. */
static int static int
check_condition (CORE_ADDR watch_addr, struct expression *cond, 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; int pc = 1, num_accesses_left, num_accesses_right;
struct value *left_val, *right_val, *left_chain, *right_chain; 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. */ true. */
static int static int
ppc_linux_can_accel_watchpoint_condition (struct target_ops *self, 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) struct expression *cond)
{ {
CORE_ADDR data_value; 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 static void
create_watchpoint_request (struct ppc_hw_breakpoint *p, CORE_ADDR addr, create_watchpoint_request (struct ppc_hw_breakpoint *p, CORE_ADDR addr,
- int len, int rw, struct expression *cond, - int len, enum target_hw_bp_type type,
+ LONGEST len, int rw, struct expression *cond, + LONGEST len, enum target_hw_bp_type type,
int insert) struct expression *cond, int insert)
{ {
if (len == 1 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 static int
ppc_linux_watchpoint_addr_within_range (struct target_ops *target, ppc_linux_watchpoint_addr_within_range (struct target_ops *target,
CORE_ADDR addr, CORE_ADDR addr,
@ -164,11 +164,11 @@ Index: gdb-7.8.50.20141228/gdb/ppc-linux-nat.c
{ {
int mask; 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.10.50.20151022.orig/gdb/procfs.c 2015-10-24 23:13:24.617686121 +0200
+++ gdb-7.8.50.20141228/gdb/procfs.c 2015-01-05 22:10:35.573751333 +0100 +++ gdb-7.10.50.20151022/gdb/procfs.c 2015-10-24 23:13:32.052735507 +0200
@@ -2426,7 +2426,7 @@ procfs_address_to_host_pointer (CORE_ADD @@ -2427,7 +2427,7 @@ procfs_address_to_host_pointer (CORE_ADD
#endif #endif
static int static int
@ -177,7 +177,7 @@ Index: gdb-7.8.50.20141228/gdb/procfs.c
{ {
#if !defined (PCWATCH) && !defined (PIOCSWATCH) #if !defined (PCWATCH) && !defined (PIOCSWATCH)
/* If neither or these is defined, we can't support watchpoints. /* 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. */ /* Insert a watchpoint. */
static int static int
@ -186,11 +186,11 @@ Index: gdb-7.8.50.20141228/gdb/procfs.c
int after) int after)
{ {
#ifndef AIX5 #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.10.50.20151022.orig/gdb/remote.c 2015-10-24 23:13:24.617686121 +0200
+++ gdb-7.8.50.20141228/gdb/remote.c 2015-01-05 22:10:35.574751338 +0100 +++ gdb-7.10.50.20151022/gdb/remote.c 2015-10-24 23:13:32.054735521 +0200
@@ -8298,7 +8298,7 @@ remote_insert_watchpoint (struct target_ @@ -9085,7 +9085,7 @@ remote_insert_watchpoint (struct target_
p = strchr (rs->buf, '\0'); p = strchr (rs->buf, '\0');
addr = remote_address_masked (addr); addr = remote_address_masked (addr);
p += hexnumstr (p, (ULONGEST) addr); p += hexnumstr (p, (ULONGEST) addr);
@ -199,7 +199,7 @@ Index: gdb-7.8.50.20141228/gdb/remote.c
putpkt (rs->buf); putpkt (rs->buf);
getpkt (&rs->buf, &rs->buf_size, 0); 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 static int
remote_watchpoint_addr_within_range (struct target_ops *target, CORE_ADDR addr, 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); 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'); p = strchr (rs->buf, '\0');
addr = remote_address_masked (addr); addr = remote_address_masked (addr);
p += hexnumstr (p, (ULONGEST) addr); p += hexnumstr (p, (ULONGEST) addr);
@ -217,10 +217,10 @@ Index: gdb-7.8.50.20141228/gdb/remote.c
putpkt (rs->buf); putpkt (rs->buf);
getpkt (&rs->buf, &rs->buf_size, 0); 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.10.50.20151022.orig/gdb/target.c 2015-10-24 23:13:24.617686121 +0200
+++ gdb-7.8.50.20141228/gdb/target.c 2015-01-05 22:10:35.575751342 +0100 +++ 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 @@ -51,7 +51,7 @@ static void generic_tls_error (void) ATT
static void default_terminal_info (struct target_ops *, const char *, int); 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 *, static int default_region_ok_for_hw_watchpoint (struct target_ops *,
CORE_ADDR, LONGEST); 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 static int
default_watchpoint_addr_within_range (struct target_ops *target, default_watchpoint_addr_within_range (struct target_ops *target,
CORE_ADDR addr, CORE_ADDR addr,
@ -239,11 +239,11 @@ Index: gdb-7.8.50.20141228/gdb/target.c
{ {
return addr >= start && addr < start + length; 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.10.50.20151022.orig/gdb/target.h 2015-10-24 23:13:24.617686121 +0200
+++ gdb-7.8.50.20141228/gdb/target.h 2015-01-05 22:10:35.575751342 +0100 +++ gdb-7.10.50.20151022/gdb/target.h 2015-10-24 23:13:32.055735527 +0200
@@ -483,7 +483,7 @@ struct target_ops @@ -543,7 +543,7 @@ struct target_ops
int (*to_stopped_data_address) (struct target_ops *, CORE_ADDR *) int (*to_stopped_data_address) (struct target_ops *, CORE_ADDR *)
TARGET_DEFAULT_RETURN (0); TARGET_DEFAULT_RETURN (0);
int (*to_watchpoint_addr_within_range) (struct target_ops *, 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); TARGET_DEFAULT_FUNC (default_watchpoint_addr_within_range);
/* Documentation of this routine is provided with the corresponding /* 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); TARGET_DEFAULT_FUNC (default_region_ok_for_hw_watchpoint);
int (*to_can_accel_watchpoint_condition) (struct target_ops *, int (*to_can_accel_watchpoint_condition) (struct target_ops *,
@ -261,80 +261,11 @@ Index: gdb-7.8.50.20141228/gdb/target.h
struct expression *) struct expression *)
TARGET_DEFAULT_RETURN (0); TARGET_DEFAULT_RETURN (0);
int (*to_masked_watch_num_registers) (struct target_ops *, 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.10.50.20151022.orig/gdb/aarch64-linux-nat.c 2015-10-24 23:13:24.617686121 +0200
+++ gdb-7.8.50.20141228/gdb/aarch64-linux-nat.c 2015-01-05 22:10:35.575751342 +0100 +++ gdb-7.10.50.20151022/gdb/aarch64-linux-nat.c 2015-10-24 23:13:32.055735527 +0200
@@ -424,14 +424,14 @@ aarch64_notify_debug_reg_change (const s @@ -795,7 +795,7 @@ aarch64_linux_stopped_by_watchpoint (str
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
static int static int
aarch64_linux_watchpoint_addr_within_range (struct target_ops *target, aarch64_linux_watchpoint_addr_within_range (struct target_ops *target,
CORE_ADDR addr, 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; 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.10.50.20151022.orig/gdb/target-delegates.c 2015-10-24 23:13:24.617686121 +0200
+++ gdb-7.8.50.20141228/gdb/target-delegates.c 2015-01-05 22:12:11.071185408 +0100 +++ gdb-7.10.50.20151022/gdb/target-delegates.c 2015-10-24 23:13:32.055735527 +0200
@@ -607,14 +607,14 @@ debug_stopped_data_address (struct targe @@ -709,14 +709,14 @@ debug_stopped_data_address (struct targe
} }
static int static int
@ -364,7 +295,7 @@ Index: gdb-7.8.50.20141228/gdb/target-delegates.c
{ {
int result; int result;
fprintf_unfiltered (gdb_stdlog, "-> %s->to_watchpoint_addr_within_range (...)\n", debug_target.to_shortname); 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); fputs_unfiltered (", ", gdb_stdlog);
target_debug_print_CORE_ADDR (arg2); target_debug_print_CORE_ADDR (arg2);
fputs_unfiltered (", ", gdb_stdlog); fputs_unfiltered (", ", gdb_stdlog);
@ -373,7 +304,7 @@ Index: gdb-7.8.50.20141228/gdb/target-delegates.c
fputs_unfiltered (") = ", gdb_stdlog); fputs_unfiltered (") = ", gdb_stdlog);
target_debug_print_int (result); target_debug_print_int (result);
fputs_unfiltered ("\n", gdb_stdlog); 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 static int
@ -397,7 +328,7 @@ Index: gdb-7.8.50.20141228/gdb/target-delegates.c
{ {
int result; int result;
fprintf_unfiltered (gdb_stdlog, "-> %s->to_can_accel_watchpoint_condition (...)\n", debug_target.to_shortname); 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); fputs_unfiltered (", ", gdb_stdlog);
target_debug_print_CORE_ADDR (arg1); target_debug_print_CORE_ADDR (arg1);
fputs_unfiltered (", ", gdb_stdlog); fputs_unfiltered (", ", gdb_stdlog);
@ -406,3 +337,77 @@ Index: gdb-7.8.50.20141228/gdb/target-delegates.c
fputs_unfiltered (", ", gdb_stdlog); fputs_unfiltered (", ", gdb_stdlog);
target_debug_print_int (arg3); target_debug_print_int (arg3);
fputs_unfiltered (", ", gdb_stdlog); 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"

View File

@ -137,11 +137,11 @@ Content-Type: text/x-patch
Content-Transfer-Encoding: 7bit Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=bitpos-tdep.patch Content-Disposition: attachment; filename=bitpos-tdep.patch
Index: gdb-7.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.10.50.20151022.orig/gdb/alpha-tdep.c 2015-10-24 23:14:17.792039327 +0200
+++ gdb-7.9.50.20150520/gdb/alpha-tdep.c 2015-05-31 17:15:03.419882846 +0200 +++ gdb-7.10.50.20151022/gdb/alpha-tdep.c 2015-10-24 23:15:07.615370274 +0200
@@ -298,18 +298,18 @@ alpha_push_dummy_call (struct gdbarch *g @@ -299,17 +299,17 @@ alpha_push_dummy_call (struct gdbarch *g
{ {
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
int i; int i;
@ -155,8 +155,7 @@ Index: gdb-7.9.50.20150520/gdb/alpha-tdep.c
+ ssize_t len; + ssize_t len;
+ ssize_t offset; + ssize_t offset;
}; };
struct alpha_arg *alpha_args struct alpha_arg *alpha_args = XALLOCAVEC (struct alpha_arg, nargs);
= (struct alpha_arg *) alloca (nargs * sizeof (struct alpha_arg));
struct alpha_arg *m_arg; struct alpha_arg *m_arg;
gdb_byte arg_reg_buffer[ALPHA_REGISTER_SIZE * ALPHA_NUM_ARG_REGS]; gdb_byte arg_reg_buffer[ALPHA_REGISTER_SIZE * ALPHA_NUM_ARG_REGS];
- int required_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); memcpy (arg_reg_buffer + offset, contents, tlen);
offset += tlen; offset += tlen;
contents += 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.10.50.20151022.orig/gdb/amd64-tdep.c 2015-10-24 23:14:17.793039333 +0200
+++ gdb-7.9.50.20150520/gdb/amd64-tdep.c 2015-05-31 17:15:40.253113722 +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 @@ -701,7 +701,7 @@ amd64_return_value (struct gdbarch *gdba
gdb_byte *readbuf, const gdb_byte *writebuf) 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; int integer_reg = 0;
@@ -852,8 +852,8 @@ amd64_push_arguments (struct regcache *r @@ -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_stack_args = 0;
- int num_elements = 0; - int num_elements = 0;
- int element = 0; - int element = 0;
@ -217,10 +216,10 @@ Index: gdb-7.9.50.20150520/gdb/amd64-tdep.c
enum amd64_reg_class theclass[2]; enum amd64_reg_class theclass[2];
int needed_integer_regs = 0; int needed_integer_regs = 0;
int needed_sse_regs = 0; int needed_sse_regs = 0;
Index: gdb-7.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.10.50.20151022.orig/gdb/amd64-windows-tdep.c 2015-10-24 23:14:17.794039340 +0200
+++ gdb-7.9.50.20150520/gdb/amd64-windows-tdep.c 2015-05-31 17:15:03.421882859 +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 @@ -288,7 +288,7 @@ amd64_windows_return_value (struct gdbar
struct type *type, struct regcache *regcache, struct type *type, struct regcache *regcache,
gdb_byte *readbuf, const gdb_byte *writebuf) gdb_byte *readbuf, const gdb_byte *writebuf)
@ -230,11 +229,11 @@ Index: gdb-7.9.50.20150520/gdb/amd64-windows-tdep.c
int regnum = -1; int regnum = -1;
/* See if our value is returned through a register. If it is, then /* See if our value is returned through a register. If it is, then
Index: gdb-7.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.10.50.20151022.orig/gdb/arm-tdep.c 2015-10-24 23:14:17.800039380 +0200
+++ gdb-7.9.50.20150520/gdb/arm-tdep.c 2015-05-31 17:15:03.425882884 +0200 +++ gdb-7.10.50.20151022/gdb/arm-tdep.c 2015-10-24 23:14:20.937060217 +0200
@@ -3537,7 +3537,7 @@ arm_vfp_cprc_reg_char (enum arm_vfp_cprc @@ -3531,7 +3531,7 @@ arm_vfp_cprc_reg_char (enum arm_vfp_cprc
array). Vector types are not currently supported, matching the array). Vector types are not currently supported, matching the
generic AAPCS support. */ 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, arm_vfp_cprc_sub_candidate (struct type *t,
enum arm_vfp_cprc_base_type *base_type) 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: case TYPE_CODE_ARRAY:
{ {
@ -252,7 +251,7 @@ Index: gdb-7.9.50.20150520/gdb/arm-tdep.c
unsigned unitlen; unsigned unitlen;
count = arm_vfp_cprc_sub_candidate (TYPE_TARGET_TYPE (t), base_type); count = arm_vfp_cprc_sub_candidate (TYPE_TARGET_TYPE (t), base_type);
if (count == -1) 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: case TYPE_CODE_STRUCT:
{ {
@ -271,7 +270,7 @@ Index: gdb-7.9.50.20150520/gdb/arm-tdep.c
if (sub_count == -1) if (sub_count == -1)
return -1; return -1;
count += sub_count; 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: case TYPE_CODE_UNION:
{ {
@ -290,7 +289,7 @@ Index: gdb-7.9.50.20150520/gdb/arm-tdep.c
if (sub_count == -1) if (sub_count == -1)
return -1; return -1;
count = (count > sub_count ? count : sub_count); count = (count > sub_count ? count : sub_count);
@@ -3688,7 +3692,7 @@ arm_vfp_call_candidate (struct type *t, @@ -3682,7 +3686,7 @@ arm_vfp_call_candidate (struct type *t,
int *count) int *count)
{ {
enum arm_vfp_cprc_base_type b = VFP_CPRC_UNKNOWN; 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) if (c <= 0 || c > 4)
return 0; return 0;
*base_type = b; *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++) 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 *arg_type;
struct type *target_type; struct type *target_type;
enum type_code typecode; 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.10.50.20151022.orig/gdb/avr-tdep.c 2015-10-24 23:14:17.801039386 +0200
+++ gdb-7.9.50.20150520/gdb/avr-tdep.c 2015-05-31 17:15:03.425882884 +0200 +++ gdb-7.10.50.20151022/gdb/avr-tdep.c 2015-10-24 23:15:35.775557325 +0200
@@ -1196,13 +1196,14 @@ avr_dummy_id (struct gdbarch *gdbarch, s @@ -1196,13 +1196,13 @@ avr_dummy_id (struct gdbarch *gdbarch, s
struct stack_item struct stack_item
{ {
- int len; - int len;
+ ssize_t len; + ssize_t len;
struct stack_item *prev; struct stack_item *prev;
void *data; gdb_byte *data;
}; };
static struct stack_item * 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, int len)
+push_stack_item (struct stack_item *prev, const bfd_byte *contents, +push_stack_item (struct stack_item *prev, const bfd_byte *contents, ssize_t len)
+ ssize_t len)
{ {
struct stack_item *si; struct stack_item *si;
si = xmalloc (sizeof (struct stack_item)); si = XNEW (struct stack_item);
@@ -1291,12 +1292,12 @@ avr_push_dummy_call (struct gdbarch *gdb @@ -1291,12 +1291,12 @@ avr_push_dummy_call (struct gdbarch *gdb
for (i = 0; i < nargs; i++) 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. */ /* Calculate the potential last register needed. */
last_regnum = regnum - (len + (len & 1)); 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.10.50.20151022.orig/gdb/bfin-tdep.c 2015-10-24 23:14:17.802039393 +0200
+++ gdb-7.9.50.20150520/gdb/bfin-tdep.c 2015-05-31 17:15:03.426882890 +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 @@ -504,7 +504,7 @@ bfin_push_dummy_call (struct gdbarch *gd
gdb_byte buf[4]; gdb_byte buf[4];
int i; int i;
@ -367,10 +365,10 @@ Index: gdb-7.9.50.20150520/gdb/bfin-tdep.c
sp -= container_len; sp -= container_len;
write_memory (sp, value_contents_writeable (args[i]), 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.10.50.20151022.orig/gdb/cris-tdep.c 2015-10-24 23:14:17.802039393 +0200
+++ gdb-7.9.50.20150520/gdb/cris-tdep.c 2015-05-31 17:15:03.427882897 +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 @@ -663,13 +663,13 @@ static CORE_ADDR cris_unwind_sp (struct
struct stack_item struct stack_item
@ -378,16 +376,16 @@ Index: gdb-7.9.50.20150520/gdb/cris-tdep.c
- int len; - int len;
+ ssize_t len; + ssize_t len;
struct stack_item *prev; struct stack_item *prev;
void *data; gdb_byte *data;
}; };
static struct stack_item * 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, int len)
+push_stack_item (struct stack_item *prev, const gdb_byte *contents, ssize_t len) +push_stack_item (struct stack_item *prev, const gdb_byte *contents, ssize_t len)
{ {
struct stack_item *si; struct stack_item *si = XNEW (struct stack_item);
si = xmalloc (sizeof (struct stack_item)); si->data = (gdb_byte *) xmalloc (len);
@@ -842,13 +842,13 @@ cris_push_dummy_call (struct gdbarch *gd @@ -841,13 +841,13 @@ cris_push_dummy_call (struct gdbarch *gd
for (argnum = 0; argnum < nargs; argnum++) 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? */ /* How may registers worth of storage do we need for this argument? */
reg_demand = (len / 4) + (len % 4 != 0 ? 1 : 0); reg_demand = (len / 4) + (len % 4 != 0 ? 1 : 0);
Index: gdb-7.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.10.50.20151022.orig/gdb/h8300-tdep.c 2015-10-24 23:14:17.803039400 +0200
+++ gdb-7.9.50.20150520/gdb/h8300-tdep.c 2015-05-31 17:15:03.427882897 +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 @@ -639,7 +639,7 @@ h8300_push_dummy_call (struct gdbarch *g
int struct_return, CORE_ADDR struct_addr) 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 cleanup *back_to;
struct type *type = value_type (args[argument]); struct type *type = value_type (args[argument]);
- int len = TYPE_LENGTH (type); - int len = TYPE_LENGTH (type);
char *contents = (char *) value_contents (args[argument]);
+ ssize_t len = TYPE_LENGTH (type); + ssize_t len = TYPE_LENGTH (type);
char *contents = (char *) value_contents (args[argument]);
/* Pad the argument appropriately. */ /* Pad the argument appropriately. */
- int padded_len = align_up (len, wordsize); - int padded_len = align_up (len, wordsize);
+ ssize_t 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); back_to = make_cleanup (xfree, padded);
@@ -699,7 +699,7 @@ h8300_push_dummy_call (struct gdbarch *g @@ -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) 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.10.50.20151022.orig/gdb/hppa-tdep.c 2015-10-24 23:14:17.804039407 +0200
+++ gdb-7.9.50.20150520/gdb/hppa-tdep.c 2015-05-31 17:15:03.428882903 +0200 +++ gdb-7.10.50.20151022/gdb/hppa-tdep.c 2015-10-24 23:14:20.939060231 +0200
@@ -991,7 +991,7 @@ hppa64_push_dummy_call (struct gdbarch * @@ -996,7 +996,7 @@ hppa64_push_dummy_call (struct gdbarch *
{ {
struct value *arg = args[i]; struct value *arg = args[i];
struct type *type = value_type (arg); struct type *type = value_type (arg);
@ -454,7 +452,7 @@ Index: gdb-7.9.50.20150520/gdb/hppa-tdep.c
const bfd_byte *valbuf; const bfd_byte *valbuf;
bfd_byte fptrbuf[8]; bfd_byte fptrbuf[8];
int regnum; int regnum;
@@ -1186,7 +1186,7 @@ hppa64_return_value (struct gdbarch *gdb @@ -1191,7 +1191,7 @@ hppa64_return_value (struct gdbarch *gdb
struct type *type, struct regcache *regcache, struct type *type, struct regcache *regcache,
gdb_byte *readbuf, const gdb_byte *writebuf) gdb_byte *readbuf, const gdb_byte *writebuf)
{ {
@ -463,10 +461,10 @@ Index: gdb-7.9.50.20150520/gdb/hppa-tdep.c
int regnum, offset; int regnum, offset;
if (len > 16) 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.10.50.20151022.orig/gdb/i386-darwin-tdep.c 2015-10-24 23:14:17.804039407 +0200
+++ gdb-7.9.50.20150520/gdb/i386-darwin-tdep.c 2015-05-31 17:15:03.428882903 +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 @@ -163,7 +163,7 @@ i386_darwin_push_dummy_call (struct gdba
for (write_pass = 0; write_pass < 2; write_pass++) 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; int num_m128 = 0;
if (struct_return) 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.10.50.20151022.orig/gdb/i386-tdep.c 2015-10-24 23:14:17.807039426 +0200
+++ gdb-7.9.50.20150520/gdb/i386-tdep.c 2015-05-31 17:15:03.430882915 +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 @@ -2651,7 +2651,7 @@ i386_push_dummy_call (struct gdbarch *gd
gdb_byte buf[4]; gdb_byte buf[4];
int i; 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)) 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.10.50.20151022.orig/gdb/iq2000-tdep.c 2015-10-24 23:14:17.808039433 +0200
+++ gdb-7.9.50.20150520/gdb/iq2000-tdep.c 2015-05-31 17:15:03.431882922 +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 * @@ -651,8 +651,9 @@ iq2000_push_dummy_call (struct gdbarch *
const bfd_byte *val; const bfd_byte *val;
bfd_byte buf[4]; 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. */ /* Used to copy struct arguments into the stack. */
CORE_ADDR struct_ptr; 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.10.50.20151022.orig/gdb/m32r-tdep.c 2015-10-24 23:14:17.808039433 +0200
+++ gdb-7.9.50.20150520/gdb/m32r-tdep.c 2015-05-31 17:15:03.431882922 +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 @@ -687,7 +687,7 @@ m32r_push_dummy_call (struct gdbarch *gd
CORE_ADDR regval; CORE_ADDR regval;
gdb_byte *val; 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. */ /* First force sp to a 4-byte alignment. */
sp = sp & ~3; 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.10.50.20151022.orig/gdb/m68k-tdep.c 2015-10-24 23:14:17.808039433 +0200
+++ gdb-7.9.50.20150520/gdb/m68k-tdep.c 2015-05-31 17:15:03.432882928 +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 @@ -382,7 +382,7 @@ m68k_reg_struct_return_p (struct gdbarch
{ {
struct gdbarch_tdep *tdep = gdbarch_tdep (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 /* Non-scalars bigger than 4 bytes are left aligned, others are
right aligned. */ 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.10.50.20151022.orig/gdb/m88k-tdep.c 2015-10-24 23:14:17.809039440 +0200
+++ gdb-7.9.50.20150520/gdb/m88k-tdep.c 2015-05-31 17:15:03.432882928 +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 @@ -257,13 +257,13 @@ m88k_store_arguments (struct regcache *r
{ {
struct gdbarch *gdbarch = get_regcache_arch (regcache); 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)) 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.10.50.20151022.orig/gdb/mep-tdep.c 2015-10-24 23:14:17.809039440 +0200
+++ gdb-7.9.50.20150520/gdb/mep-tdep.c 2015-05-31 17:15:03.433882934 +0200 +++ gdb-7.10.50.20151022/gdb/mep-tdep.c 2015-10-24 23:14:20.942060250 +0200
@@ -2269,7 +2269,7 @@ push_large_arguments (CORE_ADDR sp, int @@ -2270,7 +2270,7 @@ push_large_arguments (CORE_ADDR sp, int
for (i = 0; i < argc; i++) 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) 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.10.50.20151022.orig/gdb/mips-tdep.c 2015-10-24 23:14:17.814039473 +0200
+++ gdb-7.9.50.20150520/gdb/mips-tdep.c 2015-05-31 17:15:03.435882947 +0200 +++ gdb-7.10.50.20151022/gdb/mips-tdep.c 2015-10-24 23:14:20.943060257 +0200
@@ -455,7 +455,7 @@ static void @@ -455,7 +455,7 @@ static void
mips_xfer_register (struct gdbarch *gdbarch, struct regcache *regcache, mips_xfer_register (struct gdbarch *gdbarch, struct regcache *regcache,
int reg_num, int length, int reg_num, int length,
@ -666,7 +664,7 @@ Index: gdb-7.9.50.20150520/gdb/mips-tdep.c
if (mips_debug && out != NULL) if (mips_debug && out != NULL)
{ {
int i; 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]; gdb_byte valbuf[MAX_REGISTER_SIZE];
struct value *arg = args[argnum]; struct value *arg = args[argnum];
struct type *arg_type = check_typedef (value_type (arg)); struct type *arg_type = check_typedef (value_type (arg));
@ -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 /* The EABI passes structures that do not fit in a register by
reference. */ reference. */
@@ -4826,7 +4826,7 @@ mips_eabi_return_value (struct gdbarch * @@ -4829,7 +4829,7 @@ mips_eabi_return_value (struct gdbarch *
static int static int
mips_n32n64_fp_arg_chunk_p (struct gdbarch *gdbarch, struct type *arg_type, mips_n32n64_fp_arg_chunk_p (struct gdbarch *gdbarch, struct type *arg_type,
@ -692,7 +690,7 @@ Index: gdb-7.9.50.20150520/gdb/mips-tdep.c
{ {
int i; 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++) 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; struct type *field_type;
/* We're only looking at normal fields. */ /* 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 argreg;
int float_argreg; int float_argreg;
int argnum; int argnum;
@ -710,7 +708,7 @@ Index: gdb-7.9.50.20150520/gdb/mips-tdep.c
int stack_offset = 0; int stack_offset = 0;
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
CORE_ADDR func_addr = find_function_addr (function, NULL); CORE_ADDR func_addr = find_function_addr (function, NULL);
@@ -5234,11 +5234,11 @@ mips_n32n64_return_value (struct gdbarch @@ -5237,11 +5237,11 @@ mips_n32n64_return_value (struct gdbarch
: MIPS_V0_REGNUM); : MIPS_V0_REGNUM);
field < TYPE_NFIELDS (type); field++, regnum += 2) 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) if (TYPE_LENGTH (TYPE_FIELD_TYPE (type, field)) == 16)
{ {
/* A 16-byte long double field goes in two consecutive /* A 16-byte long double field goes in two consecutive
@@ -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)) if (offset + xfer > TYPE_LENGTH (type))
xfer = TYPE_LENGTH (type) - offset; xfer = TYPE_LENGTH (type) - offset;
if (mips_debug) if (mips_debug)
@ -737,7 +735,7 @@ Index: gdb-7.9.50.20150520/gdb/mips-tdep.c
mips_xfer_register (gdbarch, regcache, mips_xfer_register (gdbarch, regcache,
gdbarch_num_regs (gdbarch) + regnum, gdbarch_num_regs (gdbarch) + regnum,
xfer, BFD_ENDIAN_UNKNOWN, readbuf, writebuf, xfer, BFD_ENDIAN_UNKNOWN, readbuf, writebuf,
@@ -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 argreg;
int float_argreg; int float_argreg;
int argnum; int argnum;
@ -746,7 +744,7 @@ Index: gdb-7.9.50.20150520/gdb/mips-tdep.c
int stack_offset = 0; int stack_offset = 0;
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
CORE_ADDR func_addr = find_function_addr (function, NULL); CORE_ADDR func_addr = find_function_addr (function, NULL);
@@ -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; const gdb_byte *val;
struct value *arg = args[argnum]; struct value *arg = args[argnum];
struct type *arg_type = check_typedef (value_type (arg)); struct type *arg_type = check_typedef (value_type (arg));
@ -763,7 +761,7 @@ Index: gdb-7.9.50.20150520/gdb/mips-tdep.c
val = value_contents (arg); 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 argreg;
int float_argreg; int float_argreg;
int argnum; 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); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
CORE_ADDR func_addr = find_function_addr (function, NULL); CORE_ADDR func_addr = find_function_addr (function, NULL);
@@ -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; const gdb_byte *val;
struct value *arg = args[argnum]; struct value *arg = args[argnum];
struct type *arg_type = check_typedef (value_type (arg)); struct type *arg_type = check_typedef (value_type (arg));
@ -791,11 +789,11 @@ Index: gdb-7.9.50.20150520/gdb/mips-tdep.c
val = value_contents (arg); 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.10.50.20151022.orig/gdb/mn10300-tdep.c 2015-10-24 23:14:17.815039480 +0200
+++ gdb-7.9.50.20150520/gdb/mn10300-tdep.c 2015-05-31 17:15:03.435882947 +0200 +++ gdb-7.10.50.20151022/gdb/mn10300-tdep.c 2015-10-24 23:14:20.943060257 +0200
@@ -1225,7 +1225,7 @@ mn10300_push_dummy_call (struct gdbarch @@ -1227,7 +1227,7 @@ mn10300_push_dummy_call (struct gdbarch
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
const int push_size = register_size (gdbarch, E_PC_REGNUM); const int push_size = register_size (gdbarch, E_PC_REGNUM);
int regs_used; int regs_used;
@ -804,10 +802,10 @@ Index: gdb-7.9.50.20150520/gdb/mn10300-tdep.c
int stack_offset = 0; int stack_offset = 0;
int argnum; int argnum;
const gdb_byte *val; const gdb_byte *val;
Index: gdb-7.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.10.50.20151022.orig/gdb/mt-tdep.c 2015-10-24 23:14:17.815039480 +0200
+++ gdb-7.9.50.20150520/gdb/mt-tdep.c 2015-05-31 17:15:03.436882953 +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 @@ -781,9 +781,9 @@ mt_push_dummy_call (struct gdbarch *gdba
gdb_byte buf[MT_MAX_STRUCT_SIZE]; gdb_byte buf[MT_MAX_STRUCT_SIZE];
int argreg = MT_1ST_ARGREG; int argreg = MT_1ST_ARGREG;
@ -820,10 +818,10 @@ Index: gdb-7.9.50.20150520/gdb/mt-tdep.c
int i, j; int i, j;
/* First handle however many args we can fit into MT_1ST_ARGREG thru /* First handle however many args we can fit into MT_1ST_ARGREG thru
Index: gdb-7.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.10.50.20151022.orig/gdb/ppc-sysv-tdep.c 2015-10-24 23:14:17.816039486 +0200
+++ gdb-7.9.50.20150520/gdb/ppc-sysv-tdep.c 2015-05-31 17:15:03.436882953 +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 @@ -66,7 +66,7 @@ ppc_sysv_abi_push_dummy_call (struct gdb
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
int opencl_abi = ppc_sysv_use_opencl_abi (value_type (function)); int opencl_abi = ppc_sysv_use_opencl_abi (value_type (function));
@ -868,11 +866,11 @@ Index: gdb-7.9.50.20150520/gdb/ppc-sysv-tdep.c
/* Enforce alignment of stack location, if requested. */ /* Enforce alignment of stack location, if requested. */
if (align > tdep->wordsize) if (align > tdep->wordsize)
Index: gdb-7.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.10.50.20151022.orig/gdb/rl78-tdep.c 2015-10-24 23:14:17.816039486 +0200
+++ gdb-7.9.50.20150520/gdb/rl78-tdep.c 2015-05-31 17:15:03.437882959 +0200 +++ gdb-7.10.50.20151022/gdb/rl78-tdep.c 2015-10-24 23:14:20.944060264 +0200
@@ -1333,8 +1333,8 @@ rl78_push_dummy_call (struct gdbarch *gd @@ -1338,8 +1338,8 @@ rl78_push_dummy_call (struct gdbarch *gd
for (i = nargs - 1; i >= 0; i--) for (i = nargs - 1; i >= 0; i--)
{ {
struct type *value_type = value_enclosing_type (args[i]); struct type *value_type = value_enclosing_type (args[i]);
@ -883,10 +881,10 @@ Index: gdb-7.9.50.20150520/gdb/rl78-tdep.c
sp -= container_len; sp -= container_len;
write_memory (rl78_make_data_address (sp), write_memory (rl78_make_data_address (sp),
Index: gdb-7.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.10.50.20151022.orig/gdb/rs6000-aix-tdep.c 2015-10-24 23:14:17.816039486 +0200
+++ gdb-7.9.50.20150520/gdb/rs6000-aix-tdep.c 2015-05-31 17:15:03.437882959 +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 * @@ -186,9 +186,9 @@ rs6000_push_dummy_call (struct gdbarch *
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
@ -908,11 +906,11 @@ Index: gdb-7.9.50.20150520/gdb/rs6000-aix-tdep.c
if (argbytes) 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.10.50.20151022.orig/gdb/s390-linux-tdep.c 2015-10-24 23:14:17.817039493 +0200
+++ gdb-7.9.50.20150520/gdb/s390-linux-tdep.c 2015-05-31 17:16:13.285320769 +0200 +++ gdb-7.10.50.20151022/gdb/s390-linux-tdep.c 2015-10-24 23:14:20.945060270 +0200
@@ -2463,7 +2463,7 @@ s390_function_arg_vector (struct type *t @@ -2571,7 +2571,7 @@ s390_function_arg_vector (struct type *t
/* Determine whether N is a power of two. */ /* Determine whether N is a power of two. */
static int static int
@ -921,7 +919,7 @@ Index: gdb-7.9.50.20150520/gdb/s390-linux-tdep.c
{ {
return n && ((n & (n - 1)) == 0); 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) enum bfd_endian byte_order, int is_unnamed)
{ {
struct type *type = check_typedef (value_type (arg)); 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; int write_mode = as->regcache != NULL;
if (s390_function_arg_float (type)) 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.10.50.20151022.orig/gdb/score-tdep.c 2015-10-24 23:14:17.817039493 +0200
+++ gdb-7.9.50.20150520/gdb/score-tdep.c 2015-05-31 17:15:03.439882972 +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 @@ -514,7 +514,7 @@ score_push_dummy_call (struct gdbarch *g
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
int argnum; int argnum;
@ -943,10 +941,10 @@ Index: gdb-7.9.50.20150520/gdb/score-tdep.c
CORE_ADDR stack_offset = 0; CORE_ADDR stack_offset = 0;
CORE_ADDR addr = 0; CORE_ADDR addr = 0;
Index: gdb-7.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.10.50.20151022.orig/gdb/sh-tdep.c 2015-10-24 23:14:17.818039499 +0200
+++ gdb-7.9.50.20150520/gdb/sh-tdep.c 2015-05-31 17:15:03.439882972 +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 @@ -805,7 +805,7 @@ sh_skip_prologue (struct gdbarch *gdbarc
static int static int
sh_use_struct_convention (int renesas_abi, struct type *type) 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 pass_on_stack = 0;
int last_reg_arg = INT_MAX; 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.10.50.20151022.orig/gdb/sh64-tdep.c 2015-10-24 23:14:17.819039506 +0200
+++ gdb-7.9.50.20150520/gdb/sh64-tdep.c 2015-05-31 17:15:03.440882978 +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 @@ -1056,7 +1056,7 @@ sh64_push_dummy_call (struct gdbarch *gd
CORE_ADDR struct_addr) CORE_ADDR struct_addr)
{ {
@ -1007,10 +1005,10 @@ Index: gdb-7.9.50.20150520/gdb/sh64-tdep.c
int argreg_size; int argreg_size;
int fp_args[12]; 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.10.50.20151022.orig/gdb/sparc-tdep.c 2015-10-24 23:14:17.819039506 +0200
+++ gdb-7.9.50.20150520/gdb/sparc-tdep.c 2015-05-31 17:15:03.441882984 +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 @@ -525,7 +525,7 @@ sparc32_store_arguments (struct regcache
for (i = 0; i < nargs; i++) 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) if (sparc_structure_or_union_p (type)
|| (sparc_floating_p (type) && len == 16) || (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.10.50.20151022.orig/gdb/sparc64-tdep.c 2015-10-24 23:14:17.820039513 +0200
+++ gdb-7.9.50.20150520/gdb/sparc64-tdep.c 2015-05-31 17:15:03.441882984 +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 @@ -636,7 +636,8 @@ sparc64_16_byte_align_p (struct type *ty
static void static void
@ -1079,11 +1077,11 @@ Index: gdb-7.9.50.20150520/gdb/sparc64-tdep.c
int regnum = -1; int regnum = -1;
gdb_byte buf[16]; 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.10.50.20151022.orig/gdb/spu-tdep.c 2015-10-24 23:14:17.821039519 +0200
+++ gdb-7.9.50.20150520/gdb/spu-tdep.c 2015-05-31 17:15:03.442882990 +0200 +++ gdb-7.10.50.20151022/gdb/spu-tdep.c 2015-10-24 23:14:20.947060284 +0200
@@ -1430,7 +1430,7 @@ spu_push_dummy_call (struct gdbarch *gdb @@ -1429,7 +1429,7 @@ spu_push_dummy_call (struct gdbarch *gdb
struct value *arg = args[i]; struct value *arg = args[i];
struct type *type = check_typedef (value_type (arg)); struct type *type = check_typedef (value_type (arg));
const gdb_byte *contents = value_contents (arg); const gdb_byte *contents = value_contents (arg);
@ -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 /* If the argument doesn't wholly fit into registers, it and
all subsequent arguments go to the stack. */ all subsequent arguments go to the stack. */
@@ -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 value *arg = args[i];
struct type *type = check_typedef (value_type (arg)); 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; int preferred_slot;
if (spu_scalar_value_p (type)) 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.10.50.20151022.orig/gdb/tic6x-tdep.c 2015-10-24 23:14:17.821039519 +0200
+++ gdb-7.9.50.20150520/gdb/tic6x-tdep.c 2015-05-31 17:15:03.442882990 +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 @@ -895,7 +895,7 @@ tic6x_push_dummy_call (struct gdbarch *g
int argreg = 0; int argreg = 0;
int argnum; int argnum;
@ -1142,10 +1140,10 @@ Index: gdb-7.9.50.20150520/gdb/tic6x-tdep.c
addr = sp + stack_offset; addr = sp + stack_offset;
write_memory (addr, val, len); write_memory (addr, val, len);
Index: gdb-7.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.10.50.20151022.orig/gdb/tilegx-tdep.c 2015-10-24 23:14:17.822039526 +0200
+++ gdb-7.9.50.20150520/gdb/tilegx-tdep.c 2015-05-31 17:15:03.442882990 +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 * @@ -288,7 +288,7 @@ tilegx_push_dummy_call (struct gdbarch *
CORE_ADDR stack_dest = sp; CORE_ADDR stack_dest = sp;
int argreg = TILEGX_R0_REGNUM; 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 }; static const gdb_byte four_zero_words[16] = { 0 };
/* If struct_return is 1, then the struct return address will /* If struct_return is 1, then the struct return address will
Index: gdb-7.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.10.50.20151022.orig/gdb/v850-tdep.c 2015-10-24 23:14:17.822039526 +0200
+++ gdb-7.9.50.20150520/gdb/v850-tdep.c 2015-05-31 17:15:03.443882997 +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 @@ -1019,7 +1019,7 @@ v850_push_dummy_call (struct gdbarch *gd
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
int argreg; int argreg;
@ -1177,10 +1175,10 @@ Index: gdb-7.9.50.20150520/gdb/v850-tdep.c
gdb_byte *val; gdb_byte *val;
gdb_byte valbuf[v850_reg_size]; gdb_byte valbuf[v850_reg_size];
Index: gdb-7.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.10.50.20151022.orig/gdb/vax-tdep.c 2015-10-24 23:14:17.822039526 +0200
+++ gdb-7.9.50.20150520/gdb/vax-tdep.c 2015-05-31 17:15:03.443882997 +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 @@ -111,7 +111,7 @@ vax_store_arguments (struct regcache *re
struct gdbarch *gdbarch = get_regcache_arch (regcache); struct gdbarch *gdbarch = get_regcache_arch (regcache);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
@ -1199,10 +1197,10 @@ Index: gdb-7.9.50.20150520/gdb/vax-tdep.c
sp -= (len + 3) & ~3; sp -= (len + 3) & ~3;
count += (len + 3) / 4; 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.10.50.20151022.orig/gdb/xstormy16-tdep.c 2015-10-24 23:14:17.822039526 +0200
+++ gdb-7.9.50.20150520/gdb/xstormy16-tdep.c 2015-05-31 17:15:03.443882997 +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 @@ -233,8 +233,9 @@ xstormy16_push_dummy_call (struct gdbarc
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
CORE_ADDR stack_dest = sp; CORE_ADDR stack_dest = sp;
@ -1215,11 +1213,11 @@ Index: gdb-7.9.50.20150520/gdb/xstormy16-tdep.c
const gdb_byte *val; const gdb_byte *val;
gdb_byte buf[xstormy16_pc_size]; gdb_byte buf[xstormy16_pc_size];
Index: gdb-7.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.10.50.20151022.orig/gdb/xtensa-tdep.c 2015-10-24 23:14:17.824039539 +0200
+++ gdb-7.9.50.20150520/gdb/xtensa-tdep.c 2015-05-31 17:15:03.444883003 +0200 +++ gdb-7.10.50.20151022/gdb/xtensa-tdep.c 2015-10-24 23:14:20.948060290 +0200
@@ -1646,8 +1646,7 @@ xtensa_store_return_value (struct type * @@ -1640,8 +1640,7 @@ xtensa_store_return_value (struct type *
if (len > (callsize > 8 ? 8 : 16)) if (len > (callsize > 8 ? 8 : 16))
internal_error (__FILE__, __LINE__, internal_error (__FILE__, __LINE__,
@ -1229,7 +1227,7 @@ Index: gdb-7.9.50.20150520/gdb/xtensa-tdep.c
areg = arreg_number (gdbarch, areg = arreg_number (gdbarch,
gdbarch_tdep (gdbarch)->a0_base + 2 + callsize, wb); gdbarch_tdep (gdbarch)->a0_base + 2 + callsize, wb);
@@ -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); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
int i; int i;
@ -1251,7 +1249,7 @@ Index: gdb-7.9.50.20150520/gdb/xtensa-tdep.c
int regno; /* regno if in register. */ int regno; /* regno if in register. */
} u; } 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 value *arg = args[i];
struct type *arg_type = check_typedef (value_type (arg)); 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)) switch (TYPE_CODE (arg_type))
{ {
case TYPE_CODE_INT: 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); info->align = TYPE_LENGTH (builtin_type (gdbarch)->builtin_long);
break; break;
} }
@ -1275,7 +1273,7 @@ Index: gdb-7.9.50.20150520/gdb/xtensa-tdep.c
/* Align size and onstack_size. */ /* Align size and onstack_size. */
size = (size + info->align - 1) & ~(info->align - 1); size = (size + info->align - 1) & ~(info->align - 1);
@@ -1874,7 +1874,7 @@ xtensa_push_dummy_call (struct gdbarch * @@ -1868,7 +1868,7 @@ xtensa_push_dummy_call (struct gdbarch *
if (info->onstack) if (info->onstack)
{ {
@ -1284,7 +1282,7 @@ Index: gdb-7.9.50.20150520/gdb/xtensa-tdep.c
CORE_ADDR offset = sp + info->u.offset; CORE_ADDR offset = sp + info->u.offset;
/* Odd-sized structs are aligned to the lower side of a memory /* Odd-sized structs are aligned to the lower side of a memory
@@ -1890,7 +1890,7 @@ xtensa_push_dummy_call (struct gdbarch * @@ -1884,7 +1884,7 @@ xtensa_push_dummy_call (struct gdbarch *
} }
else else
{ {

View File

@ -47,10 +47,10 @@ Content-Type: text/x-patch
Content-Transfer-Encoding: 7bit Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=f77-bounds.patch 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.10.50.20151027.orig/gdb/f-lang.h 2015-11-02 21:25:14.233161097 +0100
+++ gdb-7.8.50.20141228/gdb/f-lang.h 2015-01-06 22:46:34.190865466 +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 @@ -62,9 +62,9 @@ struct common_block
struct symbol *contents[1]; 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 *); 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.10.50.20151027.orig/gdb/f-typeprint.c 2015-11-02 21:25:14.234161104 +0100
+++ gdb-7.8.50.20141228/gdb/f-typeprint.c 2015-01-06 22:47:03.731008798 +0100 +++ gdb-7.10.50.20151027/gdb/f-typeprint.c 2015-11-02 21:25:22.404214860 +0100
@@ -158,7 +158,7 @@ f_type_print_varspec_suffix (struct type @@ -171,7 +171,7 @@ f_type_print_varspec_suffix (struct type
int show, int passed_a_ptr, int demangled_args, int show, int passed_a_ptr, int demangled_args,
int arrayprint_recurse_level) 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 /* No static variables are permitted as an error call may occur during
execution of this function. */ 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); lower_bound = f77_get_lowerbound (type);
if (lower_bound != 1) /* Not the default. */ 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 /* Make sure that, if we have an assumed size array, we
print out a warning and print the upperbound as '*'. */ 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 else
{ {
upper_bound = f77_get_upperbound (type); 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) 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, f_type_print_base (struct type *type, struct ui_file *stream, int show,
int level) int level)
{ {
@ -103,7 +103,7 @@ Index: gdb-7.8.50.20141228/gdb/f-typeprint.c
int index; int index;
QUIT; 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 else
{ {
upper_bound = f77_get_upperbound (type); upper_bound = f77_get_upperbound (type);
@ -112,10 +112,10 @@ Index: gdb-7.8.50.20141228/gdb/f-typeprint.c
} }
break; 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.10.50.20151027.orig/gdb/f-valprint.c 2015-11-02 21:25:14.234161104 +0100
+++ gdb-7.8.50.20141228/gdb/f-valprint.c 2015-01-06 22:46:34.191865471 +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 @@ -43,7 +43,7 @@ LONGEST f77_array_offset_tbl[MAX_FORTRAN
/* Array which holds offsets to be applied to get a row's elements /* 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. */ for a given array. Array also holds the size of each subarray. */

View File

@ -1,15 +1,19 @@
--- gdb-7.5.0.20120926-m64/gdb/value.c-orig 2012-11-09 17:08:52.137406118 +0100 Index: gdb-7.10.50.20151022/gdb/value.c
+++ 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) --- 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. */ description correctly. */
check_typedef (type); check_typedef (type);
- ulongest_fits_host_or_error (TYPE_LENGTH (type)); - ulongest_fits_host_or_error (TYPE_LENGTH (type));
val = (struct value *) xzalloc (sizeof (struct value)); val = XCNEW (struct value);
val->contents = NULL; val->contents = NULL;
val->next = all_values; val->next = all_values;
--- /dev/null 2012-10-18 11:08:13.202328239 +0200 Index: gdb-7.10.50.20151022/gdb/testsuite/gdb.base/longest-types-64bit.exp
+++ gdb-7.5.0.20120926-m64-test/gdb/testsuite/gdb.base/longest-types-64bit.exp 2012-11-09 18:13:56.286587994 +0100 ===================================================================
--- /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 @@ @@ -0,0 +1,59 @@
+# This testcase is part of GDB, the GNU debugger. +# This testcase is part of GDB, the GNU debugger.
+ +
@ -70,8 +74,10 @@
+} +}
+ +
+test "native" +test "native"
--- /dev/null 2012-10-18 11:08:13.202328239 +0200 Index: gdb-7.10.50.20151022/gdb/testsuite/gdb.base/longest-types-64bit.c
+++ ./gdb/testsuite/gdb.base/longest-types-64bit.c 2012-11-09 17:08:51.374406344 +0100 ===================================================================
--- /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 @@ @@ -0,0 +1,28 @@
+/* This testcase is part of GDB, the GNU debugger. +/* This testcase is part of GDB, the GNU debugger.
+ +
@ -101,8 +107,10 @@
+{ +{
+ return 0; + return 0;
+} +}
--- /dev/null 2012-10-18 11:08:13.202328239 +0200 Index: gdb-7.10.50.20151022/gdb/testsuite/gdb.base/longest-types-64bit.S
+++ ./gdb/testsuite/gdb.base/longest-types-64bit.S 2012-11-09 17:51:37.597846130 +0100 ===================================================================
--- /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 @@ @@ -0,0 +1,249 @@
+/* This testcase is part of GDB, the GNU debugger. +/* This testcase is part of GDB, the GNU debugger.
+ +
@ -353,8 +361,10 @@
+ .string "char" + .string "char"
+ .ident "GCC: (GNU) 4.7.3 20121109 (prerelease)" + .ident "GCC: (GNU) 4.7.3 20121109 (prerelease)"
+ .section .note.GNU-stack,"",@progbits + .section .note.GNU-stack,"",@progbits
--- /dev/null 2012-10-18 11:08:13.202328239 +0200 Index: gdb-7.10.50.20151022/gdb/testsuite/gdb.base/longest-types-64bit.bz2.uu
+++ gdb-7.5.0.20120926-m64-test/gdb/testsuite/gdb.base/longest-types-64bit.bz2.uu 2012-11-09 18:04:52.995692771 +0100 ===================================================================
--- /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 @@ @@ -0,0 +1,67 @@
+begin 755 gdb.base/longest-types-64bit.bz2 +begin 755 gdb.base/longest-types-64bit.bz2
+M0EIH.3%!62936<'N#OH`"G/________^______?_Y______//]7SQD5'^/_% +M0EIH.3%!62936<'N#OH`"G/________^______?_Y______//]7SQD5'^/_%

69
gdb-upstream.patch Normal file
View 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--

View File

@ -1,38 +1,38 @@
Re: [PATCH 04/23] vla: make dynamic fortran arrays functional. Re: [PATCH 04/23] vla: make dynamic fortran arrays functional.
https://sourceware.org/ml/gdb-patches/2014-06/msg00570.html 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.10.50.20151027.orig/gdb/valarith.c 2015-11-03 20:41:48.543504999 +0100
+++ gdb-7.7.90.20140627/gdb/valarith.c 2014-07-07 20:45:41.588536459 +0200 +++ gdb-7.10.50.20151027/gdb/valarith.c 2015-11-03 20:46:36.995238888 +0100
@@ -195,10 +195,17 @@ value_subscripted_rvalue (struct value * @@ -193,10 +193,17 @@ value_subscripted_rvalue (struct value *
struct type *array_type = check_typedef (value_type (array)); struct type *array_type = check_typedef (value_type (array));
struct type *elt_type = check_typedef (TYPE_TARGET_TYPE (array_type)); struct type *elt_type = check_typedef (TYPE_TARGET_TYPE (array_type));
unsigned int elt_size = 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_to_int (index - lowerbound);
+ unsigned int elt_offs; + unsigned int elt_offs;
LONGEST elt_stride = TYPE_BYTE_STRIDE (TYPE_INDEX_TYPE (array_type)); LONGEST elt_stride = TYPE_BYTE_STRIDE (TYPE_INDEX_TYPE (array_type));
struct value *v; struct value *v;
+ if (TYPE_NOT_ASSOCIATED (array_type)) + 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)) + 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); + elt_offs = longest_to_int (index - lowerbound);
+ +
if (elt_stride > 0) if (elt_stride > 0)
elt_offs *= elt_stride; elt_offs *= elt_stride;
else if (elt_stride < 0) 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) 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)) - if (type_not_associated (array_type))
- error (_("no such vector element because not associated")); - error (_("no such vector element (vector not associated)"));
- else if (TYPE_NOT_ALLOCATED (array_type)) - else if (type_not_allocated (array_type))
- error (_("no such vector element because not allocated")); - error (_("no such vector element (vector not allocated)"));
- else - else
- error (_("no such vector element")); - error (_("no such vector element"));
- } - }

View File

@ -165,17 +165,3 @@ Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/dynamic-other-frame.f90
+ end interface + end interface
+ call foo ('hello') + call foo ('hello')
+end +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 \\)" \

File diff suppressed because it is too large Load Diff

View File

@ -19,15 +19,15 @@ Summary: A GNU source-level debugger for C, C++, Fortran, Go and other languages
Name: %{?scl_prefix}gdb Name: %{?scl_prefix}gdb
# Freeze it when GDB gets branched # Freeze it when GDB gets branched
%global snapsrc 20150706 %global snapsrc 20151027
# See timestamp of source gnulib installed into gdb/gnulib/ . # See timestamp of source gnulib installed into gdb/gnulib/ .
%global snapgnulib 20121213 %global snapgnulib 20150822
%global tarname gdb-%{version} %global tarname gdb-%{version}
Version: 7.10 Version: 7.10.50.%{snapsrc}
# The release always contains a leading reserved number, start it at 1. # The release always contains a leading reserved number, start it at 1.
# `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
Release: 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 License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and BSD and Public Domain and GFDL
Group: Development/Debuggers Group: Development/Debuggers
@ -245,7 +245,7 @@ Patch231: gdb-6.3-bz202689-exec-from-pthread-test.patch
# Backported fixups post the source tarball. # Backported fixups post the source tarball.
#Xdrop: Just backports. #Xdrop: Just backports.
#Patch232: gdb-upstream.patch Patch232: gdb-upstream.patch
# Testcase for PPC Power6/DFP instructions disassembly (BZ 230000). # Testcase for PPC Power6/DFP instructions disassembly (BZ 230000).
#=fedoratest+ppc #=fedoratest+ppc
@ -542,19 +542,14 @@ Patch927: gdb-python-gil.patch
# Fix jit-reader.h for multi-lib. # Fix jit-reader.h for multi-lib.
Patch978: gdb-jit-reader-multilib.patch 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). # Fix the pahole command breakage due to its Python3 port (RH BZ 1264532).
Patch1044: gdb-pahole-python2.patch Patch1044: gdb-pahole-python2.patch
# Fix internal error on DW_OP_bregx(-1) (RH BZ 1270564). # Fix callframecfa.exp and typeddwarf.exp rebase regression.
Patch1052: gdb-rhbz1270564-invalid-dwarf-regno.patch 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 %if 0%{!?rhel:1} || 0%{?rhel} > 6
# RL_STATE_FEDORA_GDB would not be found for: # 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. # Match the Fedora's version info.
%patch2 -p1 %patch2 -p1
#patch232 -p1 %patch232 -p1
%patch349 -p1 %patch349 -p1
%patch888 -p1 %patch888 -p1
%patch983 -p1 %patch983 -p1
@ -851,10 +846,8 @@ find -name "*.info*"|xargs rm -f
%patch925 -p1 %patch925 -p1
%patch927 -p1 %patch927 -p1
%patch978 -p1 %patch978 -p1
%patch1029 -p1 %patch1054 -p1
%patch1030 -p1 %patch1056 -p1
%patch1031 -p1
%patch1052 -p1
%patch848 -p1 %patch848 -p1
%if 0%{!?el6:1} %if 0%{!?el6:1}
@ -1370,6 +1363,9 @@ then
fi fi
%changelog %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 * 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). - Fix internal error on DW_OP_bregx(-1) (RH BZ 1270564).

View File

@ -1,2 +1,2 @@
7ad32d3894aaf90d00a4343a735c3e1c gdb-libstdc++-v3-python-r225521.tar.xz 7ad32d3894aaf90d00a4343a735c3e1c gdb-libstdc++-v3-python-r225521.tar.xz
2a35bac41fa8e10bf04f3a0dd7f7f363 gdb-7.10.tar.xz 08819fb3e231bbd986695bb4edcd271d gdb-7.10.50.20151027.tar.xz