Rebase to FSF GDB 8.2.50.20181006 (8.3pre).

This commit is contained in:
Sergio Durigan Junior 2018-10-07 01:19:34 -04:00
parent 453d99770b
commit a3b5cf46c2
28 changed files with 242 additions and 160 deletions

2
.gitignore vendored
View File

@ -1,3 +1,3 @@
/gdb-libstdc++-v3-python-8.1.1-20180626.tar.xz /gdb-libstdc++-v3-python-8.1.1-20180626.tar.xz
/v2.0.tar.gz /v2.0.tar.gz
/gdb-8.2.50.20180917.tar.xz /gdb-8.2.50.20181006.tar.xz

View File

@ -1 +1 @@
e08ef628a7e3098699ec6939584e2c9f7a9e1952 ce3a1736b59a05128049459fcd6c91c221f40257

View File

@ -16,7 +16,7 @@ Subject: gdb-6.3-gstack-20050411.patch
diff --git a/gdb/Makefile.in b/gdb/Makefile.in diff --git a/gdb/Makefile.in b/gdb/Makefile.in
--- a/gdb/Makefile.in --- a/gdb/Makefile.in
+++ b/gdb/Makefile.in +++ b/gdb/Makefile.in
@@ -1732,7 +1732,7 @@ info install-info clean-info dvi pdf install-pdf html install-html: force @@ -1733,7 +1733,7 @@ info install-info clean-info dvi pdf install-pdf html install-html: force
install: all install: all
@$(MAKE) $(FLAGS_TO_PASS) install-only @$(MAKE) $(FLAGS_TO_PASS) install-only
@ -25,7 +25,7 @@ diff --git a/gdb/Makefile.in b/gdb/Makefile.in
transformed_name=`t='$(program_transform_name)'; \ transformed_name=`t='$(program_transform_name)'; \
echo gdb | sed -e "$$t"` ; \ echo gdb | sed -e "$$t"` ; \
if test "x$$transformed_name" = x; then \ if test "x$$transformed_name" = x; then \
@@ -1781,7 +1781,25 @@ install-guile: @@ -1782,7 +1782,25 @@ install-guile:
install-python: install-python:
$(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(GDB_DATADIR)/python/gdb $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(GDB_DATADIR)/python/gdb
@ -52,7 +52,7 @@ diff --git a/gdb/Makefile.in b/gdb/Makefile.in
transformed_name=`t='$(program_transform_name)'; \ transformed_name=`t='$(program_transform_name)'; \
echo gdb | sed -e $$t` ; \ echo gdb | sed -e $$t` ; \
if test "x$$transformed_name" = x; then \ if test "x$$transformed_name" = x; then \
@@ -1804,6 +1822,18 @@ uninstall: force $(CONFIG_UNINSTALL) @@ -1805,6 +1823,18 @@ uninstall: force $(CONFIG_UNINSTALL)
fi fi
@$(MAKE) DO=uninstall "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do @$(MAKE) DO=uninstall "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do

View File

@ -690,7 +690,7 @@ diff --git a/gdb/config.in b/gdb/config.in
/* Define to 1 if translation of program messages to the user's native /* Define to 1 if translation of program messages to the user's native
language is requested. */ language is requested. */
#undef ENABLE_NLS #undef ENABLE_NLS
@@ -258,6 +261,9 @@ @@ -261,6 +264,9 @@
/* Define if Python 2.7 is being used. */ /* Define if Python 2.7 is being used. */
#undef HAVE_LIBPYTHON2_7 #undef HAVE_LIBPYTHON2_7
@ -723,7 +723,7 @@ diff --git a/gdb/configure b/gdb/configure
enable_targets enable_targets
enable_64_bit_bfd enable_64_bit_bfd
enable_gdbmi enable_gdbmi
@@ -910,6 +916,11 @@ CCC @@ -911,6 +917,11 @@ CCC
CPP CPP
MAKEINFO MAKEINFO
MAKEINFOFLAGS MAKEINFOFLAGS
@ -735,7 +735,7 @@ diff --git a/gdb/configure b/gdb/configure
YACC YACC
YFLAGS YFLAGS
XMKMF' XMKMF'
@@ -1578,6 +1589,8 @@ Optional Packages: @@ -1580,6 +1591,8 @@ Optional Packages:
[--with-auto-load-dir] [--with-auto-load-dir]
--without-auto-load-safe-path --without-auto-load-safe-path
do not restrict auto-loaded files locations do not restrict auto-loaded files locations
@ -744,7 +744,7 @@ diff --git a/gdb/configure b/gdb/configure
--with-libunwind-ia64 use libunwind frame unwinding for ia64 targets --with-libunwind-ia64 use libunwind frame unwinding for ia64 targets
--with-curses use the curses library instead of the termcap --with-curses use the curses library instead of the termcap
library library
@@ -1635,6 +1648,13 @@ Some influential environment variables: @@ -1637,6 +1650,13 @@ Some influential environment variables:
MAKEINFO Parent configure detects if it is of sufficient version. MAKEINFO Parent configure detects if it is of sufficient version.
MAKEINFOFLAGS MAKEINFOFLAGS
Parameters for MAKEINFO. Parameters for MAKEINFO.
@ -758,7 +758,7 @@ diff --git a/gdb/configure b/gdb/configure
YACC The `Yet Another Compiler Compiler' implementation to use. YACC The `Yet Another Compiler Compiler' implementation to use.
Defaults to the first program found out of: `bison -y', `byacc', Defaults to the first program found out of: `bison -y', `byacc',
`yacc'. `yacc'.
@@ -6570,6 +6590,494 @@ _ACEOF @@ -6618,6 +6638,494 @@ _ACEOF
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_auto_load_safe_path" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_auto_load_safe_path" >&5
$as_echo "$with_auto_load_safe_path" >&6; } $as_echo "$with_auto_load_safe_path" >&6; }

View File

@ -14,7 +14,7 @@ https://bugzilla.redhat.com/show_bug.cgi?id=1339862
diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c
--- a/gdb/solib-svr4.c --- a/gdb/solib-svr4.c
+++ b/gdb/solib-svr4.c +++ b/gdb/solib-svr4.c
@@ -1343,14 +1343,27 @@ svr4_read_so_list (CORE_ADDR lm, CORE_ADDR prev_lm, @@ -1347,14 +1347,27 @@ svr4_read_so_list (CORE_ADDR lm, CORE_ADDR prev_lm,
} }
{ {
@ -44,7 +44,7 @@ diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c
if (build_id != NULL) if (build_id != NULL)
{ {
char *name, *build_id_filename; char *name, *build_id_filename;
@@ -1365,23 +1378,7 @@ svr4_read_so_list (CORE_ADDR lm, CORE_ADDR prev_lm, @@ -1369,23 +1382,7 @@ svr4_read_so_list (CORE_ADDR lm, CORE_ADDR prev_lm,
xfree (name); xfree (name);
} }
else else

View File

@ -55,13 +55,13 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c
+ && namesz == sizeof "GNU" + && namesz == sizeof "GNU"
+ && memcmp (xnp->name, "GNU", sizeof "GNU") == 0) + && memcmp (xnp->name, "GNU", sizeof "GNU") == 0)
+ { + {
+ size_t size = descsz; + size_t sz = descsz;
+ gdb_byte *data = (gdb_byte *) descdata; + gdb_byte *data = (gdb_byte *) descdata;
+ struct bfd_build_id *retval; + struct bfd_build_id *retval;
+ +
+ retval = (struct bfd_build_id *) xmalloc (sizeof *retval - 1 + size); + retval = (struct bfd_build_id *) xmalloc (sizeof *retval - 1 + sz);
+ retval->size = size; + retval->size = sz;
+ memcpy (retval->data, data, size); + memcpy (retval->data, data, sz);
+ +
+ return retval; + return retval;
+ } + }
@ -977,7 +977,7 @@ diff --git a/gdb/corelow.c b/gdb/corelow.c
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
--- a/gdb/doc/gdb.texinfo --- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo
@@ -19772,6 +19772,27 @@ information files. @@ -19829,6 +19829,27 @@ information files.
@end table @end table
@ -1029,7 +1029,7 @@ diff --git a/gdb/dwarf2read.c b/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"),
@@ -6198,7 +6198,7 @@ get_gdb_index_contents_from_section (objfile *obj, T *section_owner) @@ -6197,7 +6197,7 @@ get_gdb_index_contents_from_section (objfile *obj, T *section_owner)
static gdb::array_view<const gdb_byte> static gdb::array_view<const gdb_byte>
get_gdb_index_contents_from_cache (objfile *obj, dwarf2_per_objfile *dwarf2_obj) get_gdb_index_contents_from_cache (objfile *obj, dwarf2_per_objfile *dwarf2_obj)
{ {
@ -1038,7 +1038,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
if (build_id == nullptr) if (build_id == nullptr)
return {}; return {};
@@ -6211,7 +6211,7 @@ get_gdb_index_contents_from_cache (objfile *obj, dwarf2_per_objfile *dwarf2_obj) @@ -6210,7 +6210,7 @@ get_gdb_index_contents_from_cache (objfile *obj, dwarf2_per_objfile *dwarf2_obj)
static gdb::array_view<const gdb_byte> static gdb::array_view<const gdb_byte>
get_gdb_index_contents_from_cache_dwz (objfile *obj, dwz_file *dwz) get_gdb_index_contents_from_cache_dwz (objfile *obj, dwz_file *dwz)
{ {
@ -1062,7 +1062,7 @@ diff --git a/gdb/elfread.c b/gdb/elfread.c
if (debugfile.empty ()) if (debugfile.empty ())
debugfile = find_separate_debug_file_by_debuglink (objfile); debugfile = find_separate_debug_file_by_debuglink (objfile);
@@ -1301,6 +1303,10 @@ elf_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags) @@ -1301,6 +1303,10 @@ elf_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags)
symbol_file_add_separate (abfd.get (), debugfile.c_str (), symbol_file_add_separate (debug_bfd.get (), debugfile.c_str (),
symfile_flags, objfile); symfile_flags, objfile);
} }
+ /* Check if any separate debug info has been extracted out. */ + /* Check if any separate debug info has been extracted out. */
@ -1118,7 +1118,7 @@ diff --git a/gdb/solib-svr4.c b/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);
@@ -1341,9 +1342,51 @@ svr4_read_so_list (CORE_ADDR lm, CORE_ADDR prev_lm, @@ -1345,9 +1346,51 @@ svr4_read_so_list (CORE_ADDR lm, CORE_ADDR prev_lm,
continue; continue;
} }

View File

@ -9,7 +9,7 @@ Subject: gdb-6.8-bz436037-reg-no-longer-active.patch
diff --git a/gdb/valops.c b/gdb/valops.c diff --git a/gdb/valops.c b/gdb/valops.c
--- a/gdb/valops.c --- a/gdb/valops.c
+++ b/gdb/valops.c +++ b/gdb/valops.c
@@ -1104,6 +1104,8 @@ value_assign (struct value *toval, struct value *fromval) @@ -1097,6 +1097,8 @@ value_assign (struct value *toval, struct value *fromval)
struct gdbarch *gdbarch; struct gdbarch *gdbarch;
int value_reg; int value_reg;
@ -18,7 +18,7 @@ diff --git a/gdb/valops.c b/gdb/valops.c
/* Figure out which frame this is in currently. /* Figure out which frame this is in currently.
We use VALUE_FRAME_ID for obtaining the value's frame id instead of We use VALUE_FRAME_ID for obtaining the value's frame id instead of
@@ -1113,8 +1115,14 @@ value_assign (struct value *toval, struct value *fromval) @@ -1106,8 +1108,14 @@ value_assign (struct value *toval, struct value *fromval)
frame. */ frame. */
frame = frame_find_by_id (VALUE_FRAME_ID (toval)); frame = frame_find_by_id (VALUE_FRAME_ID (toval));

View File

@ -8,9 +8,9 @@ Subject: gdb-archer-pie-addons-keep-disabled.patch
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
--- a/gdb/breakpoint.c --- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c +++ b/gdb/breakpoint.c
@@ -15506,6 +15506,50 @@ initialize_breakpoint_ops (void) @@ -15506,6 +15506,50 @@ static struct cmd_list_element *enablebreaklist = NULL;
static struct cmd_list_element *enablebreaklist = NULL; cmd_list_element *commands_cmd_element = nullptr;
+void +void
+breakpoints_relocate (struct objfile *objfile, struct section_offsets *delta) +breakpoints_relocate (struct objfile *objfile, struct section_offsets *delta)
@ -75,7 +75,7 @@ diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h
diff --git a/gdb/objfiles.c b/gdb/objfiles.c diff --git a/gdb/objfiles.c b/gdb/objfiles.c
--- a/gdb/objfiles.c --- a/gdb/objfiles.c
+++ b/gdb/objfiles.c +++ b/gdb/objfiles.c
@@ -880,6 +880,11 @@ objfile_relocate1 (struct objfile *objfile, @@ -878,6 +878,11 @@ objfile_relocate1 (struct objfile *objfile,
obj_section_addr (s)); obj_section_addr (s));
} }

View File

@ -17,7 +17,7 @@ tromey/python
diff --git a/gdb/Makefile.in b/gdb/Makefile.in diff --git a/gdb/Makefile.in b/gdb/Makefile.in
--- a/gdb/Makefile.in --- a/gdb/Makefile.in
+++ b/gdb/Makefile.in +++ b/gdb/Makefile.in
@@ -2092,6 +2092,12 @@ stamp-h: $(srcdir)/config.in config.status @@ -2093,6 +2093,12 @@ stamp-h: $(srcdir)/config.in config.status
CONFIG_LINKS= \ CONFIG_LINKS= \
$(SHELL) config.status $(SHELL) config.status
@ -365,7 +365,7 @@ new file mode 100644
diff --git a/gdb/python/python-internal.h b/gdb/python/python-internal.h diff --git a/gdb/python/python-internal.h b/gdb/python/python-internal.h
--- a/gdb/python/python-internal.h --- a/gdb/python/python-internal.h
+++ b/gdb/python/python-internal.h +++ b/gdb/python/python-internal.h
@@ -636,6 +636,9 @@ class gdbpy_enter_varobj : public gdbpy_enter @@ -629,6 +629,9 @@ class gdbpy_enter_varobj : public gdbpy_enter
}; };
@ -417,7 +417,7 @@ diff --git a/gdb/python/python.c b/gdb/python/python.c
/* Set the quit flag. */ /* Set the quit flag. */
static void static void
@@ -1312,6 +1337,92 @@ gdbpy_print_stack (void) @@ -1311,6 +1336,92 @@ gdbpy_print_stack (void)
@ -510,7 +510,7 @@ diff --git a/gdb/python/python.c b/gdb/python/python.c
/* Return a sequence holding all the Progspaces. */ /* Return a sequence holding all the Progspaces. */
static PyObject * static PyObject *
@@ -1963,6 +2074,8 @@ PyMethodDef python_GdbMethods[] = @@ -1965,6 +2076,8 @@ PyMethodDef python_GdbMethods[] =
Evaluate command, a string, as a gdb CLI command. Optionally returns\n\ Evaluate command, a string, as a gdb CLI command. Optionally returns\n\
a Python String containing the output of the command if to_string is\n\ a Python String containing the output of the command if to_string is\n\
set to True." }, set to True." },
@ -522,10 +522,14 @@ diff --git a/gdb/python/python.c b/gdb/python/python.c
diff --git a/gdb/python/python.h b/gdb/python/python.h diff --git a/gdb/python/python.h b/gdb/python/python.h
--- a/gdb/python/python.h --- a/gdb/python/python.h
+++ b/gdb/python/python.h +++ b/gdb/python/python.h
@@ -25,4 +25,6 @@ @@ -25,7 +25,10 @@
/* This is all that python exports to gdb. */ /* This is all that python exports to gdb. */
extern const struct extension_language_defn extension_language_python; extern const struct extension_language_defn extension_language_python;
+
/* Command element for the 'python' command. */
extern cmd_list_element *python_cmd_element;
+extern void run_python_script (int argc, char **argv); +extern void run_python_script (int argc, char **argv);
+ +
#endif /* GDB_PYTHON_H */ #endif /* GDB_PYTHON_H */
@ -544,7 +548,7 @@ diff --git a/gdb/testsuite/gdb.python/py-frame.exp b/gdb/testsuite/gdb.python/py
diff --git a/gdb/testsuite/gdb.python/py-value.exp b/gdb/testsuite/gdb.python/py-value.exp diff --git a/gdb/testsuite/gdb.python/py-value.exp b/gdb/testsuite/gdb.python/py-value.exp
--- a/gdb/testsuite/gdb.python/py-value.exp --- a/gdb/testsuite/gdb.python/py-value.exp
+++ b/gdb/testsuite/gdb.python/py-value.exp +++ b/gdb/testsuite/gdb.python/py-value.exp
@@ -384,6 +384,15 @@ proc test_value_after_death {} { @@ -399,6 +399,15 @@ proc test_value_after_death {} {
"print value's type" "print value's type"
} }
@ -560,7 +564,7 @@ diff --git a/gdb/testsuite/gdb.python/py-value.exp b/gdb/testsuite/gdb.python/py
# Regression test for invalid subscript operations. The bug was that # Regression test for invalid subscript operations. The bug was that
# the type of the value was not being checked before allowing a # the type of the value was not being checked before allowing a
# subscript operation to proceed. # subscript operation to proceed.
@@ -512,6 +521,7 @@ if ![runto_main] then { @@ -540,6 +549,7 @@ if ![runto_main] then {
test_value_in_inferior test_value_in_inferior
test_inferior_function_call test_inferior_function_call
test_value_after_death test_value_after_death

View File

@ -45,7 +45,7 @@ gdb/gdbserver/
diff --git a/gdb/config.in b/gdb/config.in diff --git a/gdb/config.in b/gdb/config.in
--- a/gdb/config.in --- a/gdb/config.in
+++ b/gdb/config.in +++ b/gdb/config.in
@@ -264,6 +264,9 @@ @@ -267,6 +267,9 @@
/* Define if librpm library is being used. */ /* Define if librpm library is being used. */
#undef HAVE_LIBRPM #undef HAVE_LIBRPM
@ -55,7 +55,7 @@ diff --git a/gdb/config.in b/gdb/config.in
/* Define to 1 if you have the <libunwind-ia64.h> header file. */ /* Define to 1 if you have the <libunwind-ia64.h> header file. */
#undef HAVE_LIBUNWIND_IA64_H #undef HAVE_LIBUNWIND_IA64_H
@@ -387,6 +390,9 @@ @@ -393,6 +396,9 @@
/* Define to 1 if you have the `scm_new_smob' function. */ /* Define to 1 if you have the `scm_new_smob' function. */
#undef HAVE_SCM_NEW_SMOB #undef HAVE_SCM_NEW_SMOB
@ -68,7 +68,7 @@ diff --git a/gdb/config.in b/gdb/config.in
diff --git a/gdb/configure b/gdb/configure diff --git a/gdb/configure b/gdb/configure
--- a/gdb/configure --- a/gdb/configure
+++ b/gdb/configure +++ b/gdb/configure
@@ -15793,6 +15793,64 @@ cat >>confdefs.h <<_ACEOF @@ -15841,6 +15841,64 @@ cat >>confdefs.h <<_ACEOF
_ACEOF _ACEOF
@ -136,7 +136,7 @@ diff --git a/gdb/configure b/gdb/configure
diff --git a/gdb/configure.ac b/gdb/configure.ac diff --git a/gdb/configure.ac b/gdb/configure.ac
--- a/gdb/configure.ac --- a/gdb/configure.ac
+++ b/gdb/configure.ac +++ b/gdb/configure.ac
@@ -2031,6 +2031,10 @@ case $host_os in @@ -2009,6 +2009,10 @@ case $host_os in
esac esac
AC_DEFINE_UNQUOTED(GDBINIT,"$gdbinit",[The .gdbinit filename.]) AC_DEFINE_UNQUOTED(GDBINIT,"$gdbinit",[The .gdbinit filename.])
@ -173,7 +173,7 @@ diff --git a/gdb/gdbserver/config.in b/gdb/gdbserver/config.in
diff --git a/gdb/gdbserver/configure b/gdb/gdbserver/configure diff --git a/gdb/gdbserver/configure b/gdb/gdbserver/configure
--- a/gdb/gdbserver/configure --- a/gdb/gdbserver/configure
+++ b/gdb/gdbserver/configure +++ b/gdb/gdbserver/configure
@@ -8568,6 +8568,64 @@ if $want_ipa ; then @@ -8564,6 +8564,64 @@ if $want_ipa ; then
fi fi
fi fi
@ -241,7 +241,7 @@ diff --git a/gdb/gdbserver/configure b/gdb/gdbserver/configure
diff --git a/gdb/gdbserver/configure.ac b/gdb/gdbserver/configure.ac diff --git a/gdb/gdbserver/configure.ac b/gdb/gdbserver/configure.ac
--- a/gdb/gdbserver/configure.ac --- a/gdb/gdbserver/configure.ac
+++ b/gdb/gdbserver/configure.ac +++ b/gdb/gdbserver/configure.ac
@@ -486,6 +486,10 @@ if $want_ipa ; then @@ -480,6 +480,10 @@ if $want_ipa ; then
fi fi
fi fi

View File

@ -10,7 +10,7 @@ Subject: gdb-bz541866-rwatch-before-run.patch
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
--- a/gdb/breakpoint.c --- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c +++ b/gdb/breakpoint.c
@@ -8789,7 +8789,7 @@ init_breakpoint_sal (struct breakpoint *b, struct gdbarch *gdbarch, @@ -8785,7 +8785,7 @@ init_breakpoint_sal (struct breakpoint *b, struct gdbarch *gdbarch,
int enabled, int internal, unsigned flags, int enabled, int internal, unsigned flags,
int display_canonical) int display_canonical)
{ {
@ -19,7 +19,7 @@ diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
if (type == bp_hardware_breakpoint) if (type == bp_hardware_breakpoint)
{ {
@@ -14340,7 +14340,7 @@ enable_breakpoint_disp (struct breakpoint *bpt, enum bpdisp disposition, @@ -14336,7 +14336,7 @@ enable_breakpoint_disp (struct breakpoint *bpt, enum bpdisp disposition,
if (bpt->type == bp_hardware_breakpoint) if (bpt->type == bp_hardware_breakpoint)
{ {

View File

@ -9,7 +9,7 @@ Subject: gdb-container-rh-pkg.patch
diff --git a/gdb/remote.c b/gdb/remote.c diff --git a/gdb/remote.c b/gdb/remote.c
--- a/gdb/remote.c --- a/gdb/remote.c
+++ b/gdb/remote.c +++ b/gdb/remote.c
@@ -14010,7 +14010,17 @@ remote_target::pid_to_exec_file (int pid) @@ -14004,7 +14004,17 @@ remote_target::pid_to_exec_file (int pid)
char *annex = NULL; char *annex = NULL;
if (packet_support (PACKET_qXfer_exec_file) != PACKET_ENABLE) if (packet_support (PACKET_qXfer_exec_file) != PACKET_ENABLE)

View File

@ -12,7 +12,7 @@ https://bugzilla.redhat.com/show_bug.cgi?id=1270534
diff --git a/gdb/configure b/gdb/configure diff --git a/gdb/configure b/gdb/configure
--- a/gdb/configure --- a/gdb/configure
+++ b/gdb/configure +++ b/gdb/configure
@@ -9362,6 +9362,7 @@ if test x"$prefer_curses" = xyes; then @@ -9410,6 +9410,7 @@ if test x"$prefer_curses" = xyes; then
# search /usr/local/include, if ncurses is installed in /usr/local. A # search /usr/local/include, if ncurses is installed in /usr/local. A
# default installation of ncurses on alpha*-dec-osf* will lead to such # default installation of ncurses on alpha*-dec-osf* will lead to such
# a situation. # a situation.
@ -20,7 +20,7 @@ diff --git a/gdb/configure b/gdb/configure
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing waddstr" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing waddstr" >&5
$as_echo_n "checking for library containing waddstr... " >&6; } $as_echo_n "checking for library containing waddstr... " >&6; }
if ${ac_cv_search_waddstr+:} false; then : if ${ac_cv_search_waddstr+:} false; then :
@@ -9386,7 +9387,7 @@ return waddstr (); @@ -9434,7 +9435,7 @@ return waddstr ();
return 0; return 0;
} }
_ACEOF _ACEOF
@ -29,7 +29,7 @@ diff --git a/gdb/configure b/gdb/configure
if test -z "$ac_lib"; then if test -z "$ac_lib"; then
ac_res="none required" ac_res="none required"
else else
@@ -9460,6 +9461,7 @@ case $host_os in @@ -9508,6 +9509,7 @@ case $host_os in
esac esac
# These are the libraries checked by Readline. # These are the libraries checked by Readline.
@ -37,7 +37,7 @@ diff --git a/gdb/configure b/gdb/configure
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing tgetent" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing tgetent" >&5
$as_echo_n "checking for library containing tgetent... " >&6; } $as_echo_n "checking for library containing tgetent... " >&6; }
if ${ac_cv_search_tgetent+:} false; then : if ${ac_cv_search_tgetent+:} false; then :
@@ -9484,7 +9486,7 @@ return tgetent (); @@ -9532,7 +9534,7 @@ return tgetent ();
return 0; return 0;
} }
_ACEOF _ACEOF

View File

@ -9,7 +9,7 @@ Subject: gdb-glibc-strstr-workaround.patch
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
--- a/gdb/dwarf2read.c --- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c
@@ -21443,6 +21443,26 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu, @@ -21441,6 +21441,26 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu,
/* Cache this symbol's name and the name's demangled form (if any). */ /* Cache this symbol's name and the name's demangled form (if any). */
SYMBOL_SET_LANGUAGE (sym, cu->language, &objfile->objfile_obstack); SYMBOL_SET_LANGUAGE (sym, cu->language, &objfile->objfile_obstack);
linkagename = dwarf2_physname (name, die, cu); linkagename = dwarf2_physname (name, die, cu);

View File

@ -42,7 +42,7 @@ gdb/
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
--- a/gdb/dwarf2read.c --- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c
@@ -10586,6 +10586,13 @@ private: @@ -10584,6 +10584,13 @@ private:
static void static void
process_die (struct die_info *die, struct dwarf2_cu *cu) process_die (struct die_info *die, struct dwarf2_cu *cu)
{ {

View File

@ -9,7 +9,7 @@ Subject: gdb-jit-reader-multilib.patch
diff --git a/gdb/configure b/gdb/configure diff --git a/gdb/configure b/gdb/configure
--- a/gdb/configure --- a/gdb/configure
+++ b/gdb/configure +++ b/gdb/configure
@@ -9649,10 +9649,12 @@ _ACEOF @@ -9697,10 +9697,12 @@ _ACEOF

View File

@ -9,7 +9,7 @@ Subject: gdb-linux_perf-bundle.patch
diff --git a/gdb/configure b/gdb/configure diff --git a/gdb/configure b/gdb/configure
--- a/gdb/configure --- a/gdb/configure
+++ b/gdb/configure +++ b/gdb/configure
@@ -12028,7 +12028,7 @@ else @@ -12080,7 +12080,7 @@ else
#include <linux/perf_event.h> #include <linux/perf_event.h>
#ifndef PERF_ATTR_SIZE_VER5 #ifndef PERF_ATTR_SIZE_VER5
@ -21,7 +21,7 @@ diff --git a/gdb/configure b/gdb/configure
diff --git a/gdb/configure.ac b/gdb/configure.ac diff --git a/gdb/configure.ac b/gdb/configure.ac
--- a/gdb/configure.ac --- a/gdb/configure.ac
+++ b/gdb/configure.ac +++ b/gdb/configure.ac
@@ -1454,7 +1454,7 @@ else @@ -1458,7 +1458,7 @@ else
AC_PREPROC_IFELSE([AC_LANG_SOURCE([[ AC_PREPROC_IFELSE([AC_LANG_SOURCE([[
#include <linux/perf_event.h> #include <linux/perf_event.h>
#ifndef PERF_ATTR_SIZE_VER5 #ifndef PERF_ATTR_SIZE_VER5

View File

@ -14,7 +14,7 @@ Bug in FSF GDB exploited by the ptrace-on-utrace interaction.
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
--- a/gdb/breakpoint.c --- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c +++ b/gdb/breakpoint.c
@@ -11998,6 +11998,8 @@ update_global_location_list (enum ugll_insert_mode insert_mode) @@ -11994,6 +11994,8 @@ update_global_location_list (enum ugll_insert_mode insert_mode)
traps we can no longer explain. */ traps we can no longer explain. */
old_loc->events_till_retirement = 3 * (thread_count () + 1); old_loc->events_till_retirement = 3 * (thread_count () + 1);

View File

@ -27,7 +27,7 @@ diff --git a/gdb/doc/python.texi b/gdb/doc/python.texi
diff --git a/gdb/python/python-internal.h b/gdb/python/python-internal.h diff --git a/gdb/python/python-internal.h b/gdb/python/python-internal.h
--- a/gdb/python/python-internal.h --- a/gdb/python/python-internal.h
+++ b/gdb/python/python-internal.h +++ b/gdb/python/python-internal.h
@@ -144,6 +144,8 @@ typedef int Py_ssize_t; @@ -137,6 +137,8 @@ typedef int Py_ssize_t;
#define PyGILState_Release(ARG) ((void)(ARG)) #define PyGILState_Release(ARG) ((void)(ARG))
#define PyEval_InitThreads() #define PyEval_InitThreads()
#define PyThreadState_Swap(ARG) ((void)(ARG)) #define PyThreadState_Swap(ARG) ((void)(ARG))

View File

@ -1311,7 +1311,7 @@ diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
} }
return 0; return 0;
} }
@@ -6805,7 +6805,7 @@ breakpoint_address_match (const address_space *aspace1, CORE_ADDR addr1, @@ -6801,7 +6801,7 @@ breakpoint_address_match (const address_space *aspace1, CORE_ADDR addr1,
static int static int
breakpoint_address_match_range (const address_space *aspace1, breakpoint_address_match_range (const address_space *aspace1,
CORE_ADDR addr1, CORE_ADDR addr1,
@ -1320,7 +1320,7 @@ diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
CORE_ADDR addr2) CORE_ADDR addr2)
{ {
return ((gdbarch_has_global_breakpoints (target_gdbarch ()) return ((gdbarch_has_global_breakpoints (target_gdbarch ())
@@ -10887,7 +10887,7 @@ can_use_hardware_watchpoint (const std::vector<value_ref_ptr> &vals) @@ -10883,7 +10883,7 @@ can_use_hardware_watchpoint (const std::vector<value_ref_ptr> &vals)
&& TYPE_CODE (vtype) != TYPE_CODE_ARRAY)) && TYPE_CODE (vtype) != TYPE_CODE_ARRAY))
{ {
CORE_ADDR vaddr = value_address (v); CORE_ADDR vaddr = value_address (v);
@ -1650,7 +1650,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
} }
static void static void
@@ -15077,8 +15077,8 @@ dwarf2_add_field (struct field_info *fip, struct die_info *die, @@ -15075,8 +15075,8 @@ dwarf2_add_field (struct field_info *fip, struct die_info *die,
object, and then subtract off the number of bits of object, and then subtract off the number of bits of
the field itself. The result is the bit offset of the field itself. The result is the bit offset of
the LSB of the field. */ the LSB of the field. */
@ -1707,7 +1707,7 @@ diff --git a/gdb/eval.c b/gdb/eval.c
struct type **arg_types; struct type **arg_types;
pc = (*pos)++; pc = (*pos)++;
@@ -1732,7 +1733,7 @@ evaluate_subexp_standard (struct type *expect_type, @@ -1735,7 +1736,7 @@ evaluate_subexp_standard (struct type *expect_type,
struct type *range_type = TYPE_INDEX_TYPE (type); struct type *range_type = TYPE_INDEX_TYPE (type);
struct type *element_type = TYPE_TARGET_TYPE (type); struct type *element_type = TYPE_TARGET_TYPE (type);
struct value *array = allocate_value (expect_type); struct value *array = allocate_value (expect_type);
@ -2563,9 +2563,9 @@ diff --git a/gdb/p-valprint.c b/gdb/p-valprint.c
struct ui_file *stream, int recurse, struct ui_file *stream, int recurse,
struct value *original_value, struct value *original_value,
const struct value_print_options *options) const struct value_print_options *options)
@@ -71,8 +71,8 @@ pascal_val_print (struct type *type, @@ -70,8 +70,8 @@ pascal_val_print (struct type *type,
unsigned int i = 0; /* Number of characters printed */
unsigned len; unsigned len;
LONGEST low_bound, high_bound;
struct type *elttype; struct type *elttype;
- unsigned eltlen; - unsigned eltlen;
- int length_pos, length_size, string_pos; - int length_pos, length_size, string_pos;
@ -2589,7 +2589,7 @@ diff --git a/gdb/ppc-linux-nat.c b/gdb/ppc-linux-nat.c
diff --git a/gdb/ppc-linux-tdep.c b/gdb/ppc-linux-tdep.c diff --git a/gdb/ppc-linux-tdep.c b/gdb/ppc-linux-tdep.c
--- a/gdb/ppc-linux-tdep.c --- a/gdb/ppc-linux-tdep.c
+++ b/gdb/ppc-linux-tdep.c +++ b/gdb/ppc-linux-tdep.c
@@ -1706,7 +1706,7 @@ ppc_init_linux_record_tdep (struct linux_record_tdep *record_tdep, @@ -1705,7 +1705,7 @@ ppc_init_linux_record_tdep (struct linux_record_tdep *record_tdep,
const struct floatformat ** const struct floatformat **
ppc_floatformat_for_type (struct gdbarch *gdbarch, ppc_floatformat_for_type (struct gdbarch *gdbarch,
@ -2622,7 +2622,7 @@ diff --git a/gdb/printcmd.c b/gdb/printcmd.c
diff --git a/gdb/procfs.c b/gdb/procfs.c diff --git a/gdb/procfs.c b/gdb/procfs.c
--- a/gdb/procfs.c --- a/gdb/procfs.c
+++ b/gdb/procfs.c +++ b/gdb/procfs.c
@@ -3361,7 +3361,7 @@ procfs_target::remove_watchpoint (CORE_ADDR addr, int len, @@ -3367,7 +3367,7 @@ procfs_target::remove_watchpoint (CORE_ADDR addr, int len,
} }
int int
@ -2758,7 +2758,7 @@ diff --git a/gdb/remote.c b/gdb/remote.c
int insert_watchpoint (CORE_ADDR, int, enum target_hw_bp_type, int insert_watchpoint (CORE_ADDR, int, enum target_hw_bp_type,
struct expression *) override; struct expression *) override;
@@ -10446,7 +10446,7 @@ int remote_hw_watchpoint_length_limit = -1; @@ -10441,7 +10441,7 @@ int remote_hw_watchpoint_length_limit = -1;
int remote_hw_breakpoint_limit = -1; int remote_hw_breakpoint_limit = -1;
int int
@ -2825,7 +2825,7 @@ diff --git a/gdb/spu-multiarch.c b/gdb/spu-multiarch.c
diff --git a/gdb/stack.c b/gdb/stack.c diff --git a/gdb/stack.c b/gdb/stack.c
--- a/gdb/stack.c --- a/gdb/stack.c
+++ b/gdb/stack.c +++ b/gdb/stack.c
@@ -190,7 +190,7 @@ print_stack_frame (struct frame_info *frame, int print_level, @@ -192,7 +192,7 @@ print_stack_frame (struct frame_info *frame, int print_level,
argument (not just the first nameless argument). */ argument (not just the first nameless argument). */
static void static void
@ -2834,7 +2834,7 @@ diff --git a/gdb/stack.c b/gdb/stack.c
int first, struct ui_file *stream) int first, struct ui_file *stream)
{ {
struct gdbarch *gdbarch = get_frame_arch (frame); struct gdbarch *gdbarch = get_frame_arch (frame);
@@ -540,7 +540,7 @@ print_frame_args (struct symbol *func, struct frame_info *frame, @@ -542,7 +542,7 @@ print_frame_args (struct symbol *func, struct frame_info *frame,
/* Offset of next stack argument beyond the one we have seen that is /* Offset of next stack argument beyond the one we have seen that is
at the highest offset, or -1 if we haven't come to a stack at the highest offset, or -1 if we haven't come to a stack
argument yet. */ argument yet. */
@ -2843,7 +2843,7 @@ diff --git a/gdb/stack.c b/gdb/stack.c
/* Number of ints of arguments that we have printed so far. */ /* Number of ints of arguments that we have printed so far. */
int args_printed = 0; int args_printed = 0;
/* True if we should print arguments, false otherwise. */ /* True if we should print arguments, false otherwise. */
@@ -569,8 +569,8 @@ print_frame_args (struct symbol *func, struct frame_info *frame, @@ -571,8 +571,8 @@ print_frame_args (struct symbol *func, struct frame_info *frame,
case LOC_ARG: case LOC_ARG:
case LOC_REF_ARG: case LOC_REF_ARG:
{ {
@ -2854,7 +2854,7 @@ diff --git a/gdb/stack.c b/gdb/stack.c
/* Compute address of next argument by adding the size of /* Compute address of next argument by adding the size of
this argument and rounding to an int boundary. */ this argument and rounding to an int boundary. */
@@ -705,7 +705,7 @@ print_frame_args (struct symbol *func, struct frame_info *frame, @@ -707,7 +707,7 @@ print_frame_args (struct symbol *func, struct frame_info *frame,
enough about the stack to find them. */ enough about the stack to find them. */
if (num != -1) if (num != -1)
{ {
@ -3156,7 +3156,7 @@ diff --git a/gdb/valops.c b/gdb/valops.c
const char *, const char *,
struct type *, struct type *,
int, enum noside); int, enum noside);
@@ -183,7 +183,7 @@ find_function_in_inferior (const char *name, struct objfile **objf_p) @@ -176,7 +176,7 @@ find_function_in_inferior (const char *name, struct objfile **objf_p)
space. */ space. */
struct value * struct value *
@ -3165,7 +3165,7 @@ diff --git a/gdb/valops.c b/gdb/valops.c
{ {
struct objfile *objf; struct objfile *objf;
struct value *val = find_function_in_inferior ("malloc", &objf); struct value *val = find_function_in_inferior ("malloc", &objf);
@@ -398,12 +398,12 @@ value_cast (struct type *type, struct value *arg2) @@ -391,12 +391,12 @@ value_cast (struct type *type, struct value *arg2)
if (code1 == TYPE_CODE_ARRAY) if (code1 == TYPE_CODE_ARRAY)
{ {
struct type *element_type = TYPE_TARGET_TYPE (type); struct type *element_type = TYPE_TARGET_TYPE (type);
@ -3180,7 +3180,7 @@ diff --git a/gdb/valops.c b/gdb/valops.c
LONGEST low_bound, high_bound, new_length; LONGEST low_bound, high_bound, new_length;
if (get_discrete_bounds (range_type, &low_bound, &high_bound) < 0) if (get_discrete_bounds (range_type, &low_bound, &high_bound) < 0)
@@ -1055,7 +1055,7 @@ value_assign (struct value *toval, struct value *fromval) @@ -1048,7 +1048,7 @@ value_assign (struct value *toval, struct value *fromval)
{ {
const gdb_byte *dest_buffer; const gdb_byte *dest_buffer;
CORE_ADDR changed_addr; CORE_ADDR changed_addr;
@ -3189,7 +3189,7 @@ diff --git a/gdb/valops.c b/gdb/valops.c
gdb_byte buffer[sizeof (LONGEST)]; gdb_byte buffer[sizeof (LONGEST)];
if (value_bitsize (toval)) if (value_bitsize (toval))
@@ -3356,7 +3356,7 @@ compare_parameters (struct type *t1, struct type *t2, int skip_artificial) @@ -3349,7 +3349,7 @@ compare_parameters (struct type *t1, struct type *t2, int skip_artificial)
the form "DOMAIN::NAME". */ the form "DOMAIN::NAME". */
static struct value * static struct value *
@ -3198,7 +3198,7 @@ diff --git a/gdb/valops.c b/gdb/valops.c
struct type *curtype, const char *name, struct type *curtype, const char *name,
struct type *intype, struct type *intype,
int want_address, int want_address,
@@ -3390,7 +3390,7 @@ value_struct_elt_for_reference (struct type *domain, int offset, @@ -3383,7 +3383,7 @@ value_struct_elt_for_reference (struct type *domain, int offset,
if (want_address) if (want_address)
return value_from_longest return value_from_longest
(lookup_memberptr_type (TYPE_FIELD_TYPE (t, i), domain), (lookup_memberptr_type (TYPE_FIELD_TYPE (t, i), domain),
@ -3207,7 +3207,7 @@ diff --git a/gdb/valops.c b/gdb/valops.c
else if (noside != EVAL_NORMAL) else if (noside != EVAL_NORMAL)
return allocate_value (TYPE_FIELD_TYPE (t, i)); return allocate_value (TYPE_FIELD_TYPE (t, i));
else else
@@ -3563,7 +3563,7 @@ value_struct_elt_for_reference (struct type *domain, int offset, @@ -3556,7 +3556,7 @@ value_struct_elt_for_reference (struct type *domain, int offset,
for (i = TYPE_N_BASECLASSES (t) - 1; i >= 0; i--) for (i = TYPE_N_BASECLASSES (t) - 1; i >= 0; i--)
{ {
struct value *v; struct value *v;
@ -3216,7 +3216,7 @@ diff --git a/gdb/valops.c b/gdb/valops.c
if (BASETYPE_VIA_VIRTUAL (t, i)) if (BASETYPE_VIA_VIRTUAL (t, i))
base_offset = 0; base_offset = 0;
@@ -3712,7 +3712,7 @@ value_rtti_indirect_type (struct value *v, int *full, @@ -3705,7 +3705,7 @@ value_rtti_indirect_type (struct value *v, int *full,
struct value * struct value *
value_full_object (struct value *argp, value_full_object (struct value *argp,
struct type *rtype, struct type *rtype,

View File

@ -90,7 +90,7 @@ diff --git a/gdb/cp-valprint.c b/gdb/cp-valprint.c
diff --git a/gdb/defs.h b/gdb/defs.h diff --git a/gdb/defs.h b/gdb/defs.h
--- a/gdb/defs.h --- a/gdb/defs.h
+++ b/gdb/defs.h +++ b/gdb/defs.h
@@ -665,4 +665,6 @@ DEF_ENUM_FLAGS_TYPE (enum user_selected_what_flag, user_selected_what); @@ -668,4 +668,6 @@ DEF_ENUM_FLAGS_TYPE (enum user_selected_what_flag, user_selected_what);
#include "utils.h" #include "utils.h"
@ -100,7 +100,7 @@ diff --git a/gdb/defs.h b/gdb/defs.h
diff --git a/gdb/p-valprint.c b/gdb/p-valprint.c diff --git a/gdb/p-valprint.c b/gdb/p-valprint.c
--- a/gdb/p-valprint.c --- a/gdb/p-valprint.c
+++ b/gdb/p-valprint.c +++ b/gdb/p-valprint.c
@@ -773,6 +773,7 @@ pascal_object_print_value (struct type *type, const gdb_byte *valaddr, @@ -775,6 +775,7 @@ pascal_object_print_value (struct type *type, const gdb_byte *valaddr,
if (boffset < 0 || boffset >= TYPE_LENGTH (type)) if (boffset < 0 || boffset >= TYPE_LENGTH (type))
{ {
@ -132,7 +132,7 @@ diff --git a/gdb/utils.c b/gdb/utils.c
diff --git a/gdb/valops.c b/gdb/valops.c diff --git a/gdb/valops.c b/gdb/valops.c
--- a/gdb/valops.c --- a/gdb/valops.c
+++ b/gdb/valops.c +++ b/gdb/valops.c
@@ -2087,6 +2087,7 @@ search_struct_method (const char *name, struct value **arg1p, @@ -2080,6 +2080,7 @@ search_struct_method (const char *name, struct value **arg1p,
{ {
CORE_ADDR address; CORE_ADDR address;

View File

@ -354,7 +354,7 @@ diff --git a/gdb/ppc-linux-nat.c b/gdb/ppc-linux-nat.c
diff --git a/gdb/procfs.c b/gdb/procfs.c diff --git a/gdb/procfs.c b/gdb/procfs.c
--- a/gdb/procfs.c --- a/gdb/procfs.c
+++ b/gdb/procfs.c +++ b/gdb/procfs.c
@@ -1565,7 +1565,7 @@ procfs_address_to_host_pointer (CORE_ADDR addr) @@ -1540,7 +1540,7 @@ procfs_address_to_host_pointer (CORE_ADDR addr)
} }
static int static int
@ -363,7 +363,7 @@ diff --git a/gdb/procfs.c b/gdb/procfs.c
{ {
struct { struct {
procfs_ctl_t cmd; procfs_ctl_t cmd;
@@ -3217,7 +3217,7 @@ procfs_target::pid_to_str (ptid_t ptid) @@ -3231,7 +3231,7 @@ procfs_target::pid_to_exec_file (int pid)
/* Insert a watchpoint. */ /* Insert a watchpoint. */
static int static int
@ -384,7 +384,7 @@ diff --git a/gdb/remote.c b/gdb/remote.c
int can_use_hw_breakpoint (enum bptype, int, int) override; int can_use_hw_breakpoint (enum bptype, int, int) override;
@@ -10375,7 +10375,7 @@ remote_target::insert_watchpoint (CORE_ADDR addr, int len, @@ -10370,7 +10370,7 @@ remote_target::insert_watchpoint (CORE_ADDR addr, int len,
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);
@ -393,7 +393,7 @@ diff --git a/gdb/remote.c b/gdb/remote.c
putpkt (rs->buf); putpkt (rs->buf);
getpkt (&rs->buf, &rs->buf_size, 0); getpkt (&rs->buf, &rs->buf_size, 0);
@@ -10395,7 +10395,7 @@ remote_target::insert_watchpoint (CORE_ADDR addr, int len, @@ -10390,7 +10390,7 @@ remote_target::insert_watchpoint (CORE_ADDR addr, int len,
bool bool
remote_target::watchpoint_addr_within_range (CORE_ADDR addr, remote_target::watchpoint_addr_within_range (CORE_ADDR addr,
@ -402,7 +402,7 @@ diff --git a/gdb/remote.c b/gdb/remote.c
{ {
CORE_ADDR diff = remote_address_masked (addr - start); CORE_ADDR diff = remote_address_masked (addr - start);
@@ -10424,7 +10424,7 @@ remote_target::remove_watchpoint (CORE_ADDR addr, int len, @@ -10419,7 +10419,7 @@ remote_target::remove_watchpoint (CORE_ADDR addr, int len,
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);

View File

@ -588,7 +588,7 @@ diff --git a/gdb/m68k-tdep.c b/gdb/m68k-tdep.c
diff --git a/gdb/mep-tdep.c b/gdb/mep-tdep.c diff --git a/gdb/mep-tdep.c b/gdb/mep-tdep.c
--- a/gdb/mep-tdep.c --- a/gdb/mep-tdep.c
+++ b/gdb/mep-tdep.c +++ b/gdb/mep-tdep.c
@@ -2239,7 +2239,7 @@ push_large_arguments (CORE_ADDR sp, int argc, struct value **argv, @@ -2238,7 +2238,7 @@ push_large_arguments (CORE_ADDR sp, int argc, struct value **argv,
for (i = 0; i < argc; i++) for (i = 0; i < argc; i++)
{ {
@ -620,7 +620,7 @@ diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c
if (mips_debug && out != NULL) if (mips_debug && out != NULL)
{ {
int i; int i;
@@ -4561,13 +4561,13 @@ mips_eabi_push_dummy_call (struct gdbarch *gdbarch, struct value *function, @@ -4562,13 +4562,13 @@ mips_eabi_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
gdb_byte ref_valbuf[MAX_MIPS_ABI_REGSIZE]; gdb_byte ref_valbuf[MAX_MIPS_ABI_REGSIZE];
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));
@ -637,7 +637,7 @@ diff --git a/gdb/mips-tdep.c b/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. */
@@ -4837,7 +4837,7 @@ mips_eabi_return_value (struct gdbarch *gdbarch, struct value *function, @@ -4838,7 +4838,7 @@ mips_eabi_return_value (struct gdbarch *gdbarch, struct value *function,
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,
@ -646,7 +646,7 @@ diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c
{ {
int i; int i;
@@ -4852,7 +4852,7 @@ mips_n32n64_fp_arg_chunk_p (struct gdbarch *gdbarch, struct type *arg_type, @@ -4853,7 +4853,7 @@ mips_n32n64_fp_arg_chunk_p (struct gdbarch *gdbarch, struct type *arg_type,
for (i = 0; i < TYPE_NFIELDS (arg_type); i++) for (i = 0; i < TYPE_NFIELDS (arg_type); i++)
{ {
@ -655,16 +655,29 @@ diff --git a/gdb/mips-tdep.c b/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. */
@@ -4894,7 +4894,7 @@ mips_n32n64_push_dummy_call (struct gdbarch *gdbarch, struct value *function, @@ -4895,7 +4895,8 @@ mips_n32n64_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
int argreg; int argreg;
int float_argreg; int float_argreg;
int argnum; int argnum;
- int len = 0; - int arg_space = 0;
+ ULONGEST arg_space = 0;
+ LONGEST len = 0; + LONGEST len = 0;
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);
@@ -5245,11 +5245,11 @@ mips_n32n64_return_value (struct gdbarch *gdbarch, struct value *function, @@ -4924,9 +4925,9 @@ mips_n32n64_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
if (mips_debug)
fprintf_unfiltered (gdb_stdlog,
- "mips_n32n64_push_dummy_call: sp=%s allocated %ld\n",
+ "mips_n32n64_push_dummy_call: sp=%s allocated %s\n",
paddress (gdbarch, sp),
- (long) align_up (arg_space, 16));
+ pulongest (align_up (arg_space, 16)));
/* Initialize the integer and float register pointers. */
argreg = MIPS_A0_REGNUM;
@@ -5247,11 +5248,11 @@ mips_n32n64_return_value (struct gdbarch *gdbarch, struct value *function,
: MIPS_V0_REGNUM); : MIPS_V0_REGNUM);
field < TYPE_NFIELDS (type); field++, regnum += 2) field < TYPE_NFIELDS (type); field++, regnum += 2)
{ {
@ -680,7 +693,7 @@ diff --git a/gdb/mips-tdep.c b/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
@@ -5291,8 +5291,8 @@ mips_n32n64_return_value (struct gdbarch *gdbarch, struct value *function, @@ -5293,8 +5294,8 @@ mips_n32n64_return_value (struct gdbarch *gdbarch, struct value *function,
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)
@ -691,16 +704,29 @@ diff --git a/gdb/mips-tdep.c b/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,
@@ -5350,7 +5350,7 @@ mips_o32_push_dummy_call (struct gdbarch *gdbarch, struct value *function, @@ -5352,7 +5353,8 @@ mips_o32_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
int argreg; int argreg;
int float_argreg; int float_argreg;
int argnum; int argnum;
- int len = 0; - int arg_space = 0;
+ ULONGEST arg_space = 0;
+ LONGEST len = 0; + LONGEST len = 0;
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);
@@ -5414,13 +5414,13 @@ mips_o32_push_dummy_call (struct gdbarch *gdbarch, struct value *function, @@ -5389,9 +5391,9 @@ mips_o32_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
if (mips_debug)
fprintf_unfiltered (gdb_stdlog,
- "mips_o32_push_dummy_call: sp=%s allocated %ld\n",
+ "mips_o32_push_dummy_call: sp=%s allocated %s\n",
paddress (gdbarch, sp),
- (long) align_up (arg_space, 16));
+ pulongest (align_up (arg_space, 16)));
/* Initialize the integer and float register pointers. */
argreg = MIPS_A0_REGNUM;
@@ -5417,13 +5419,13 @@ mips_o32_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
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));
@ -717,18 +743,30 @@ diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c
val = value_contents (arg); val = value_contents (arg);
@@ -5874,8 +5874,8 @@ mips_o64_push_dummy_call (struct gdbarch *gdbarch, struct value *function, @@ -5877,8 +5879,8 @@ mips_o64_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
int argreg; int argreg;
int float_argreg; int float_argreg;
int argnum; int argnum;
- int len = 0; - int arg_space = 0;
- int stack_offset = 0; - int stack_offset = 0;
+ LONGEST len = 0; + ULONGEST arg_space = 0;
+ LONGEST stack_offset = 0; + LONGEST 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);
@@ -5935,13 +5935,13 @@ mips_o64_push_dummy_call (struct gdbarch *gdbarch, struct value *function, @@ -5911,9 +5913,9 @@ mips_o64_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
if (mips_debug)
fprintf_unfiltered (gdb_stdlog,
- "mips_o64_push_dummy_call: sp=%s allocated %ld\n",
+ "mips_o64_push_dummy_call: sp=%s allocated %s\n",
paddress (gdbarch, sp),
- (long) align_up (arg_space, 16));
+ pulongest (align_up (arg_space, 16)));
/* Initialize the integer and float register pointers. */
argreg = MIPS_A0_REGNUM;
@@ -5939,13 +5941,13 @@ mips_o64_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
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));
@ -1022,7 +1060,7 @@ diff --git a/gdb/spu-tdep.c b/gdb/spu-tdep.c
diff --git a/gdb/tic6x-tdep.c b/gdb/tic6x-tdep.c diff --git a/gdb/tic6x-tdep.c b/gdb/tic6x-tdep.c
--- a/gdb/tic6x-tdep.c --- a/gdb/tic6x-tdep.c
+++ b/gdb/tic6x-tdep.c +++ b/gdb/tic6x-tdep.c
@@ -881,7 +881,7 @@ tic6x_push_dummy_call (struct gdbarch *gdbarch, struct value *function, @@ -880,7 +880,7 @@ tic6x_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
int argreg = 0; int argreg = 0;
int argnum; int argnum;
int stack_offset = 4; int stack_offset = 4;
@ -1031,7 +1069,7 @@ diff --git a/gdb/tic6x-tdep.c b/gdb/tic6x-tdep.c
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
struct type *func_type = value_type (function); struct type *func_type = value_type (function);
/* The first arg passed on stack. Mostly the first 10 args are passed by /* The first arg passed on stack. Mostly the first 10 args are passed by
@@ -914,7 +914,7 @@ tic6x_push_dummy_call (struct gdbarch *gdbarch, struct value *function, @@ -913,7 +913,7 @@ tic6x_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
/* Now make space on the stack for the args. */ /* Now make space on the stack for the args. */
for (argnum = 0; argnum < nargs; argnum++) for (argnum = 0; argnum < nargs; argnum++)
{ {
@ -1040,7 +1078,7 @@ diff --git a/gdb/tic6x-tdep.c b/gdb/tic6x-tdep.c
if (argnum >= 10 - argreg) if (argnum >= 10 - argreg)
references_offset += len; references_offset += len;
stack_offset += len; stack_offset += len;
@@ -933,7 +933,7 @@ tic6x_push_dummy_call (struct gdbarch *gdbarch, struct value *function, @@ -932,7 +932,7 @@ tic6x_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
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));
@ -1049,7 +1087,7 @@ diff --git a/gdb/tic6x-tdep.c b/gdb/tic6x-tdep.c
enum type_code typecode = TYPE_CODE (arg_type); enum type_code typecode = TYPE_CODE (arg_type);
val = value_contents (arg); val = value_contents (arg);
@@ -1089,7 +1089,8 @@ tic6x_push_dummy_call (struct gdbarch *gdbarch, struct value *function, @@ -1087,7 +1087,8 @@ tic6x_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
} }
else else
internal_error (__FILE__, __LINE__, internal_error (__FILE__, __LINE__,
@ -1074,16 +1112,17 @@ diff --git a/gdb/tilegx-tdep.c b/gdb/tilegx-tdep.c
diff --git a/gdb/v850-tdep.c b/gdb/v850-tdep.c diff --git a/gdb/v850-tdep.c b/gdb/v850-tdep.c
--- a/gdb/v850-tdep.c --- a/gdb/v850-tdep.c
+++ b/gdb/v850-tdep.c +++ b/gdb/v850-tdep.c
@@ -1019,7 +1019,7 @@ v850_push_dummy_call (struct gdbarch *gdbarch, @@ -1019,7 +1019,8 @@ v850_push_dummy_call (struct gdbarch *gdbarch,
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
int argreg; int argreg;
int argnum; int argnum;
- int len = 0; - int arg_space = 0;
+ ULONGEST arg_space = 0;
+ LONGEST len = 0; + LONGEST len = 0;
int stack_offset; int stack_offset;
if (gdbarch_tdep (gdbarch)->abi == V850_ABI_RH850) if (gdbarch_tdep (gdbarch)->abi == V850_ABI_RH850)
@@ -1047,7 +1047,7 @@ v850_push_dummy_call (struct gdbarch *gdbarch, @@ -1047,7 +1048,7 @@ v850_push_dummy_call (struct gdbarch *gdbarch,
in four registers available. Loop thru args from first to last. */ in four registers available. Loop thru args from first to last. */
for (argnum = 0; argnum < nargs; argnum++) for (argnum = 0; argnum < nargs; argnum++)
{ {
@ -1116,7 +1155,7 @@ diff --git a/gdb/vax-tdep.c b/gdb/vax-tdep.c
diff --git a/gdb/xstormy16-tdep.c b/gdb/xstormy16-tdep.c diff --git a/gdb/xstormy16-tdep.c b/gdb/xstormy16-tdep.c
--- a/gdb/xstormy16-tdep.c --- a/gdb/xstormy16-tdep.c
+++ b/gdb/xstormy16-tdep.c +++ b/gdb/xstormy16-tdep.c
@@ -232,8 +232,9 @@ xstormy16_push_dummy_call (struct gdbarch *gdbarch, @@ -232,8 +232,10 @@ xstormy16_push_dummy_call (struct gdbarch *gdbarch,
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;
int argreg = E_1ST_ARG_REGNUM; int argreg = E_1ST_ARG_REGNUM;
@ -1125,9 +1164,10 @@ diff --git a/gdb/xstormy16-tdep.c b/gdb/xstormy16-tdep.c
+ int i, slacklen; + int i, slacklen;
+ LONGEST j; + LONGEST j;
+ LONGEST typelen; + LONGEST typelen;
const gdb_byte *val; + const gdb_byte *val;
gdb_byte buf[xstormy16_pc_size]; gdb_byte buf[xstormy16_pc_size];
/* If struct_return is true, then the struct return address will
diff --git a/gdb/xtensa-tdep.c b/gdb/xtensa-tdep.c diff --git a/gdb/xtensa-tdep.c b/gdb/xtensa-tdep.c
--- a/gdb/xtensa-tdep.c --- a/gdb/xtensa-tdep.c
+++ b/gdb/xtensa-tdep.c +++ b/gdb/xtensa-tdep.c
@ -1141,11 +1181,12 @@ diff --git a/gdb/xtensa-tdep.c b/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);
@@ -1700,18 +1699,18 @@ xtensa_push_dummy_call (struct gdbarch *gdbarch, @@ -1699,18 +1698,19 @@ xtensa_push_dummy_call (struct gdbarch *gdbarch,
CORE_ADDR struct_addr)
{ {
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
int i;
- int size, onstack_size; - int size, onstack_size;
+ int i;
+ LONGEST size, onstack_size; + LONGEST size, onstack_size;
gdb_byte *buf = (gdb_byte *) alloca (16); gdb_byte *buf = (gdb_byte *) alloca (16);
CORE_ADDR ra, ps; CORE_ADDR ra, ps;
@ -1163,7 +1204,7 @@ diff --git a/gdb/xtensa-tdep.c b/gdb/xtensa-tdep.c
int regno; /* regno if in register. */ int regno; /* regno if in register. */
} u; } u;
}; };
@@ -1735,9 +1734,10 @@ xtensa_push_dummy_call (struct gdbarch *gdbarch, @@ -1733,9 +1733,10 @@ xtensa_push_dummy_call (struct gdbarch *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));
@ -1177,7 +1218,7 @@ diff --git a/gdb/xtensa-tdep.c b/gdb/xtensa-tdep.c
switch (TYPE_CODE (arg_type)) switch (TYPE_CODE (arg_type))
{ {
case TYPE_CODE_INT: case TYPE_CODE_INT:
@@ -1807,8 +1807,8 @@ xtensa_push_dummy_call (struct gdbarch *gdbarch, @@ -1804,8 +1805,8 @@ xtensa_push_dummy_call (struct gdbarch *gdbarch,
info->align = TYPE_LENGTH (builtin_type (gdbarch)->builtin_long); info->align = TYPE_LENGTH (builtin_type (gdbarch)->builtin_long);
break; break;
} }
@ -1187,7 +1228,7 @@ diff --git a/gdb/xtensa-tdep.c b/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);
@@ -1853,7 +1853,7 @@ xtensa_push_dummy_call (struct gdbarch *gdbarch, @@ -1850,7 +1851,7 @@ xtensa_push_dummy_call (struct gdbarch *gdbarch,
if (info->onstack) if (info->onstack)
{ {
@ -1196,7 +1237,7 @@ diff --git a/gdb/xtensa-tdep.c b/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
@@ -1869,7 +1869,7 @@ xtensa_push_dummy_call (struct gdbarch *gdbarch, @@ -1866,7 +1867,7 @@ xtensa_push_dummy_call (struct gdbarch *gdbarch,
} }
else else
{ {

View File

@ -143,7 +143,7 @@ diff --git a/gdb/dwarf2loc.h b/gdb/dwarf2loc.h
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
--- a/gdb/dwarf2read.c --- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c
@@ -17705,7 +17705,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) @@ -17703,7 +17703,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
struct type *base_type, *orig_base_type; struct type *base_type, *orig_base_type;
struct type *range_type; struct type *range_type;
struct attribute *attr; struct attribute *attr;
@ -152,7 +152,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
int low_default_is_valid; int low_default_is_valid;
int high_bound_is_count = 0; int high_bound_is_count = 0;
const char *name; const char *name;
@@ -17725,7 +17725,9 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) @@ -17723,7 +17723,9 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
low.kind = PROP_CONST; low.kind = PROP_CONST;
high.kind = PROP_CONST; high.kind = PROP_CONST;
@ -162,7 +162,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
/* Set LOW_DEFAULT_IS_VALID if current language and DWARF version allow /* Set LOW_DEFAULT_IS_VALID if current language and DWARF version allow
omitting DW_AT_lower_bound. */ omitting DW_AT_lower_bound. */
@@ -17758,6 +17760,14 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) @@ -17756,6 +17758,14 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
break; break;
} }
@ -177,7 +177,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
attr = dwarf2_attr (die, DW_AT_lower_bound, cu); attr = dwarf2_attr (die, DW_AT_lower_bound, cu);
if (attr) if (attr)
attr_to_dynamic_prop (attr, die, cu, &low); attr_to_dynamic_prop (attr, die, cu, &low);
@@ -17850,7 +17860,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) @@ -17848,7 +17858,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
&& !TYPE_UNSIGNED (base_type) && (high.data.const_val & negative_mask)) && !TYPE_UNSIGNED (base_type) && (high.data.const_val & negative_mask))
high.data.const_val |= negative_mask; high.data.const_val |= negative_mask;
@ -223,7 +223,7 @@ diff --git a/gdb/eval.c b/gdb/eval.c
+ struct type *array_type = check_typedef (value_type (new_array)); + struct type *array_type = check_typedef (value_type (new_array));
+ struct type *elt_type; + struct type *elt_type;
+ +
+ typedef struct subscript_range + typedef struct
+ { + {
+ enum range_type f90_range_type; + enum range_type f90_range_type;
+ LONGEST low, high, stride; + LONGEST low, high, stride;
@ -272,11 +272,7 @@ diff --git a/gdb/eval.c b/gdb/eval.c
+ for (i = 0; i < nargs; i++) + for (i = 0; i < nargs; i++)
+ { + {
+ struct subscript_store *index = &subscript_array[i]; + struct subscript_store *index = &subscript_array[i];
+
- if (range_type == HIGH_BOUND_DEFAULT || range_type == BOTH_BOUND_DEFAULT)
- high_bound = TYPE_HIGH_BOUND (range);
- else
- high_bound = value_as_long (evaluate_subexp (NULL_TYPE, exp, pos, noside));
+ /* The user input is a range, with or without lower and upper bound. + /* The user input is a range, with or without lower and upper bound.
+ E.g.: "p arry(2:5)", "p arry( :5)", "p arry( : )", etc. */ + E.g.: "p arry(2:5)", "p arry( :5)", "p arry( : )", etc. */
+ if (exp->elts[*pos].opcode == OP_RANGE) + if (exp->elts[*pos].opcode == OP_RANGE)
@ -310,7 +306,11 @@ diff --git a/gdb/eval.c b/gdb/eval.c
+ /* Assign the default stride value '1'. */ + /* Assign the default stride value '1'. */
+ else + else
+ range->stride = 1; + range->stride = 1;
+
- if (range_type == HIGH_BOUND_DEFAULT || range_type == BOTH_BOUND_DEFAULT)
- high_bound = TYPE_HIGH_BOUND (range);
- else
- high_bound = value_as_long (evaluate_subexp (NULL_TYPE, exp, pos, noside));
+ /* Check the provided stride value is illegal, aka '0'. */ + /* Check the provided stride value is illegal, aka '0'. */
+ if (range->stride == 0) + if (range->stride == 0)
+ error (_("Stride must not be 0")); + error (_("Stride must not be 0"));
@ -480,7 +480,8 @@ diff --git a/gdb/eval.c b/gdb/eval.c
+ struct value *v = NULL; + struct value *v = NULL;
+ +
+ elt_type = TYPE_TARGET_TYPE (value_type (new_array)); + elt_type = TYPE_TARGET_TYPE (value_type (new_array));
+
- return value_slice (array, low_bound, high_bound - low_bound + 1);
+ /* Every SUBSCRIPT_RANGE in the user input signifies an actual range in + /* Every SUBSCRIPT_RANGE in the user input signifies an actual range in
+ the output array. So we traverse the SUBSCRIPT_ARRAY again, looking + the output array. So we traverse the SUBSCRIPT_ARRAY again, looking
+ for a range entry. When we find one, we use the range info to create + for a range entry. When we find one, we use the range info to create
@ -497,8 +498,7 @@ diff --git a/gdb/eval.c b/gdb/eval.c
+ struct type *range_type, *interim_array_type; + struct type *range_type, *interim_array_type;
+ +
+ int new_length; + int new_length;
+
- return value_slice (array, low_bound, high_bound - low_bound + 1);
+ /* The length of a sub-dimension with all elements between the + /* The length of a sub-dimension with all elements between the
+ bounds plus the start element itself. It may be modified by + bounds plus the start element itself. It may be modified by
+ a user provided stride value. */ + a user provided stride value. */
@ -533,20 +533,54 @@ diff --git a/gdb/eval.c b/gdb/eval.c
} }
@@ -1930,19 +2225,8 @@ evaluate_subexp_standard (struct type *expect_type, @@ -1238,19 +1533,6 @@ evaluate_funcall (type *expect_type, expression *exp, int *pos,
return eval_call (exp, noside, nargs, argvec, var_func_name, expect_type);
}
-/* Helper for skipping all the arguments in an undetermined argument list.
- This function was designed for use in the OP_F77_UNDETERMINED_ARGLIST
- case of evaluate_subexp_standard as multiple, but not all, code paths
- require a generic skip. */
-
-static void
-skip_undetermined_arglist (int nargs, struct expression *exp, int *pos,
- enum noside noside)
-{
- for (int i = 0; i < nargs; ++i)
- evaluate_subexp (NULL_TYPE, exp, pos, noside);
-}
-
struct value *
evaluate_subexp_standard (struct type *expect_type,
struct expression *exp, int *pos,
@@ -1946,33 +2228,8 @@ evaluate_subexp_standard (struct type *expect_type,
switch (code) switch (code)
{ {
case TYPE_CODE_ARRAY: case TYPE_CODE_ARRAY:
- if (exp->elts[*pos].opcode == OP_RANGE) - if (exp->elts[*pos].opcode == OP_RANGE)
- return value_f90_subarray (arg1, exp, pos, noside); - return value_f90_subarray (arg1, exp, pos, noside);
- else - else
- goto multi_f77_subscript; - {
- if (noside == EVAL_SKIP)
- {
- skip_undetermined_arglist (nargs, exp, pos, noside);
- /* Return the dummy value with the correct type. */
- return arg1;
- }
- goto multi_f77_subscript;
- }
- -
case TYPE_CODE_STRING: case TYPE_CODE_STRING:
- if (exp->elts[*pos].opcode == OP_RANGE) - if (exp->elts[*pos].opcode == OP_RANGE)
- return value_f90_subarray (arg1, exp, pos, noside); - return value_f90_subarray (arg1, exp, pos, noside);
- else - else
- { - {
- if (noside == EVAL_SKIP)
- {
- skip_undetermined_arglist (nargs, exp, pos, noside);
- /* Return the dummy value with the correct type. */
- return arg1;
- }
- arg2 = evaluate_subexp_with_coercion (exp, pos, noside); - arg2 = evaluate_subexp_with_coercion (exp, pos, noside);
- return value_subscript (arg1, value_as_long (arg2)); - return value_subscript (arg1, value_as_long (arg2));
- } - }
@ -554,7 +588,7 @@ diff --git a/gdb/eval.c b/gdb/eval.c
case TYPE_CODE_PTR: case TYPE_CODE_PTR:
case TYPE_CODE_FUNC: case TYPE_CODE_FUNC:
@@ -2338,49 +2622,6 @@ evaluate_subexp_standard (struct type *expect_type, @@ -2369,49 +2626,6 @@ evaluate_subexp_standard (struct type *expect_type,
} }
return (arg1); return (arg1);
@ -604,7 +638,7 @@ diff --git a/gdb/eval.c b/gdb/eval.c
case BINOP_LOGICAL_AND: case BINOP_LOGICAL_AND:
arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside); arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside);
if (noside == EVAL_SKIP) if (noside == EVAL_SKIP)
@@ -3301,6 +3542,9 @@ calc_f77_array_dims (struct type *array_type) @@ -3331,6 +3545,9 @@ calc_f77_array_dims (struct type *array_type)
int ndimen = 1; int ndimen = 1;
struct type *tmp_type; struct type *tmp_type;
@ -639,7 +673,7 @@ diff --git a/gdb/expprint.c b/gdb/expprint.c
print_subexp (exp, pos, stream, PREC_ABOVE_COMMA); print_subexp (exp, pos, stream, PREC_ABOVE_COMMA);
fputs_filtered (")", stream); fputs_filtered (")", stream);
return; return;
@@ -1098,22 +1095,24 @@ dump_subexp_body_standard (struct expression *exp, @@ -1105,22 +1102,24 @@ dump_subexp_body_standard (struct expression *exp,
switch (range_type) switch (range_type)
{ {
@ -672,7 +706,7 @@ diff --git a/gdb/expprint.c b/gdb/expprint.c
fputs_filtered ("ExclusiveRange 'EXP..EXP'", stream); fputs_filtered ("ExclusiveRange 'EXP..EXP'", stream);
break; break;
default: default:
@@ -1121,11 +1120,9 @@ dump_subexp_body_standard (struct expression *exp, @@ -1128,11 +1127,9 @@ dump_subexp_body_standard (struct expression *exp,
break; break;
} }
@ -689,7 +723,7 @@ diff --git a/gdb/expprint.c b/gdb/expprint.c
diff --git a/gdb/expression.h b/gdb/expression.h diff --git a/gdb/expression.h b/gdb/expression.h
--- a/gdb/expression.h --- a/gdb/expression.h
+++ b/gdb/expression.h +++ b/gdb/expression.h
@@ -148,28 +148,27 @@ extern void dump_raw_expression (struct expression *, @@ -150,28 +150,27 @@ extern void dump_raw_expression (struct expression *,
struct ui_file *, const char *); struct ui_file *, const char *);
extern void dump_prefix_expression (struct expression *, struct ui_file *); extern void dump_prefix_expression (struct expression *, struct ui_file *);
@ -999,7 +1033,7 @@ diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
diff --git a/gdb/parse.c b/gdb/parse.c diff --git a/gdb/parse.c b/gdb/parse.c
--- a/gdb/parse.c --- a/gdb/parse.c
+++ b/gdb/parse.c +++ b/gdb/parse.c
@@ -988,24 +988,20 @@ operator_length_standard (const struct expression *expr, int endpos, @@ -989,24 +989,20 @@ operator_length_standard (const struct expression *expr, int endpos,
case OP_RANGE: case OP_RANGE:
oplen = 3; oplen = 3;
@ -1078,7 +1112,7 @@ diff --git a/gdb/rust-exp.y b/gdb/rust-exp.y
diff --git a/gdb/rust-lang.c b/gdb/rust-lang.c diff --git a/gdb/rust-lang.c b/gdb/rust-lang.c
--- a/gdb/rust-lang.c --- a/gdb/rust-lang.c
+++ b/gdb/rust-lang.c +++ b/gdb/rust-lang.c
@@ -1181,13 +1181,11 @@ rust_range (struct expression *exp, int *pos, enum noside noside) @@ -1179,13 +1179,11 @@ rust_range (struct expression *exp, int *pos, enum noside noside)
kind = (enum range_type) longest_to_int (exp->elts[*pos + 1].longconst); kind = (enum range_type) longest_to_int (exp->elts[*pos + 1].longconst);
*pos += 3; *pos += 3;
@ -1095,7 +1129,7 @@ diff --git a/gdb/rust-lang.c b/gdb/rust-lang.c
if (noside == EVAL_SKIP) if (noside == EVAL_SKIP)
return value_from_longest (builtin_type (exp->gdbarch)->builtin_int, 1); return value_from_longest (builtin_type (exp->gdbarch)->builtin_int, 1);
@@ -1276,7 +1274,7 @@ rust_compute_range (struct type *type, struct value *range, @@ -1274,7 +1272,7 @@ rust_compute_range (struct type *type, struct value *range,
*low = 0; *low = 0;
*high = 0; *high = 0;
@ -1104,7 +1138,7 @@ diff --git a/gdb/rust-lang.c b/gdb/rust-lang.c
if (TYPE_NFIELDS (type) == 0) if (TYPE_NFIELDS (type) == 0)
return; return;
@@ -1284,15 +1282,14 @@ rust_compute_range (struct type *type, struct value *range, @@ -1282,15 +1280,14 @@ rust_compute_range (struct type *type, struct value *range,
i = 0; i = 0;
if (strcmp (TYPE_FIELD_NAME (type, 0), "start") == 0) if (strcmp (TYPE_FIELD_NAME (type, 0), "start") == 0)
{ {
@ -1122,7 +1156,7 @@ diff --git a/gdb/rust-lang.c b/gdb/rust-lang.c
*high = value_as_long (value_field (range, i)); *high = value_as_long (value_field (range, i));
if (rust_inclusive_range_type_p (type)) if (rust_inclusive_range_type_p (type))
@@ -1310,7 +1307,7 @@ rust_subscript (struct expression *exp, int *pos, enum noside noside, @@ -1308,7 +1305,7 @@ rust_subscript (struct expression *exp, int *pos, enum noside noside,
struct type *rhstype; struct type *rhstype;
LONGEST low, high_bound; LONGEST low, high_bound;
/* Initialized to appease the compiler. */ /* Initialized to appease the compiler. */
@ -1131,7 +1165,7 @@ diff --git a/gdb/rust-lang.c b/gdb/rust-lang.c
LONGEST high = 0; LONGEST high = 0;
int want_slice = 0; int want_slice = 0;
@@ -1408,7 +1405,7 @@ rust_subscript (struct expression *exp, int *pos, enum noside noside, @@ -1406,7 +1403,7 @@ rust_subscript (struct expression *exp, int *pos, enum noside noside,
error (_("Cannot subscript non-array type")); error (_("Cannot subscript non-array type"));
if (want_slice if (want_slice
@ -1140,7 +1174,7 @@ diff --git a/gdb/rust-lang.c b/gdb/rust-lang.c
low = low_bound; low = low_bound;
if (low < 0) if (low < 0)
error (_("Index less than zero")); error (_("Index less than zero"));
@@ -1426,7 +1423,7 @@ rust_subscript (struct expression *exp, int *pos, enum noside noside, @@ -1424,7 +1421,7 @@ rust_subscript (struct expression *exp, int *pos, enum noside noside,
CORE_ADDR addr; CORE_ADDR addr;
struct value *addrval, *tem; struct value *addrval, *tem;
@ -1784,7 +1818,7 @@ diff --git a/gdb/valarith.c b/gdb/valarith.c
diff --git a/gdb/valops.c b/gdb/valops.c diff --git a/gdb/valops.c b/gdb/valops.c
--- a/gdb/valops.c --- a/gdb/valops.c
+++ b/gdb/valops.c +++ b/gdb/valops.c
@@ -3807,56 +3807,195 @@ value_of_this_silent (const struct language_defn *lang) @@ -3800,56 +3800,195 @@ value_of_this_silent (const struct language_defn *lang)
struct value * struct value *
value_slice (struct value *array, int lowbound, int length) value_slice (struct value *array, int lowbound, int length)

View File

@ -33,7 +33,7 @@ git diff --stat -p gdb/master...gdb/users/bheckel/fortran-vla-strings
diff --git a/gdb/NEWS b/gdb/NEWS diff --git a/gdb/NEWS b/gdb/NEWS
--- a/gdb/NEWS --- a/gdb/NEWS
+++ b/gdb/NEWS +++ b/gdb/NEWS
@@ -203,6 +203,8 @@ SH-5/SH64 running OpenBSD SH-5/SH64 support in sh*-*-openbsd* @@ -229,6 +229,8 @@ SH-5/SH64 running OpenBSD SH-5/SH64 support in sh*-*-openbsd*
*** Changes in GDB 8.1 *** Changes in GDB 8.1
@ -87,7 +87,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
/* memory allocation interface */ /* memory allocation interface */
@@ -13748,7 +13749,7 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu) @@ -13746,7 +13747,7 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu)
{ {
newobj->static_link newobj->static_link
= XOBNEW (&objfile->objfile_obstack, struct dynamic_prop); = XOBNEW (&objfile->objfile_obstack, struct dynamic_prop);
@ -96,7 +96,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
} }
cu->list_in_scope = cu->builder->get_local_symbols (); cu->list_in_scope = cu->builder->get_local_symbols ();
@@ -16468,7 +16469,8 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu) @@ -16466,7 +16467,8 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu)
byte_stride_prop byte_stride_prop
= (struct dynamic_prop *) alloca (sizeof (struct dynamic_prop)); = (struct dynamic_prop *) alloca (sizeof (struct dynamic_prop));
@ -106,7 +106,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
if (!stride_ok) if (!stride_ok)
{ {
complaint (_("unable to read array DW_AT_byte_stride " complaint (_("unable to read array DW_AT_byte_stride "
@@ -17229,29 +17231,90 @@ read_tag_string_type (struct die_info *die, struct dwarf2_cu *cu) @@ -17227,29 +17229,90 @@ read_tag_string_type (struct die_info *die, struct dwarf2_cu *cu)
struct gdbarch *gdbarch = get_objfile_arch (objfile); struct gdbarch *gdbarch = get_objfile_arch (objfile);
struct type *type, *range_type, *index_type, *char_type; struct type *type, *range_type, *index_type, *char_type;
struct attribute *attr; struct attribute *attr;
@ -208,7 +208,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
char_type = language_string_char_type (cu->language_defn, gdbarch); char_type = language_string_char_type (cu->language_defn, gdbarch);
type = create_string_type (NULL, char_type, range_type); type = create_string_type (NULL, char_type, range_type);
@@ -17599,7 +17662,8 @@ read_base_type (struct die_info *die, struct dwarf2_cu *cu) @@ -17597,7 +17660,8 @@ read_base_type (struct die_info *die, struct dwarf2_cu *cu)
static int static int
attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die, attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die,
@ -218,7 +218,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
{ {
struct dwarf2_property_baton *baton; struct dwarf2_property_baton *baton;
struct obstack *obstack struct obstack *obstack
@@ -17610,14 +17674,33 @@ attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die, @@ -17608,14 +17672,33 @@ attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die,
if (attr_form_is_block (attr)) if (attr_form_is_block (attr))
{ {
@ -256,7 +256,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
} }
else if (attr_form_is_ref (attr)) else if (attr_form_is_ref (attr))
{ {
@@ -17650,8 +17733,28 @@ attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die, @@ -17648,8 +17731,28 @@ attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die,
baton = XOBNEW (obstack, struct dwarf2_property_baton); baton = XOBNEW (obstack, struct dwarf2_property_baton);
baton->referenced_type = die_type (target_die, target_cu); baton->referenced_type = die_type (target_die, target_cu);
baton->locexpr.per_cu = cu->per_cu; baton->locexpr.per_cu = cu->per_cu;
@ -287,7 +287,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
prop->data.baton = baton; prop->data.baton = baton;
prop->kind = PROP_LOCEXPR; prop->kind = PROP_LOCEXPR;
gdb_assert (prop->data.baton != NULL); gdb_assert (prop->data.baton != NULL);
@@ -17762,7 +17865,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) @@ -17760,7 +17863,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
attr = dwarf2_attr (die, DW_AT_byte_stride, cu); attr = dwarf2_attr (die, DW_AT_byte_stride, cu);
if (attr) if (attr)
@ -296,7 +296,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
complaint (_("Missing DW_AT_byte_stride " complaint (_("Missing DW_AT_byte_stride "
"- DIE at 0x%s [in module %s]"), "- DIE at 0x%s [in module %s]"),
sect_offset_str (die->sect_off), sect_offset_str (die->sect_off),
@@ -17770,7 +17873,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) @@ -17768,7 +17871,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
attr = dwarf2_attr (die, DW_AT_lower_bound, cu); attr = dwarf2_attr (die, DW_AT_lower_bound, cu);
if (attr) if (attr)
@ -305,7 +305,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
else if (!low_default_is_valid) else if (!low_default_is_valid)
complaint (_("Missing DW_AT_lower_bound " complaint (_("Missing DW_AT_lower_bound "
"- DIE at %s [in module %s]"), "- DIE at %s [in module %s]"),
@@ -17779,10 +17882,10 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) @@ -17777,10 +17880,10 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
struct attribute *attr_ub, *attr_count; struct attribute *attr_ub, *attr_count;
attr = attr_ub = dwarf2_attr (die, DW_AT_upper_bound, cu); attr = attr_ub = dwarf2_attr (die, DW_AT_upper_bound, cu);
@ -318,7 +318,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
{ {
/* If bounds are constant do the final calculation here. */ /* If bounds are constant do the final calculation here. */
if (low.kind == PROP_CONST && high.kind == PROP_CONST) if (low.kind == PROP_CONST && high.kind == PROP_CONST)
@@ -25337,7 +25440,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu) @@ -25335,7 +25438,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
attr = dwarf2_attr (die, DW_AT_allocated, cu); attr = dwarf2_attr (die, DW_AT_allocated, cu);
if (attr_form_is_block (attr)) if (attr_form_is_block (attr))
{ {
@ -327,7 +327,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
add_dyn_prop (DYN_PROP_ALLOCATED, prop, type); add_dyn_prop (DYN_PROP_ALLOCATED, prop, type);
} }
else if (attr != NULL) else if (attr != NULL)
@@ -25351,7 +25454,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu) @@ -25349,7 +25452,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
attr = dwarf2_attr (die, DW_AT_associated, cu); attr = dwarf2_attr (die, DW_AT_associated, cu);
if (attr_form_is_block (attr)) if (attr_form_is_block (attr))
{ {
@ -336,7 +336,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
add_dyn_prop (DYN_PROP_ASSOCIATED, prop, type); add_dyn_prop (DYN_PROP_ASSOCIATED, prop, type);
} }
else if (attr != NULL) else if (attr != NULL)
@@ -25363,7 +25466,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu) @@ -25361,7 +25464,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
/* Read DW_AT_data_location and set in type. */ /* Read DW_AT_data_location and set in type. */
attr = dwarf2_attr (die, DW_AT_data_location, cu); attr = dwarf2_attr (die, DW_AT_data_location, cu);
@ -1306,7 +1306,7 @@ diff --git a/gdb/typeprint.c b/gdb/typeprint.c
diff --git a/gdb/valops.c b/gdb/valops.c diff --git a/gdb/valops.c b/gdb/valops.c
--- a/gdb/valops.c --- a/gdb/valops.c
+++ b/gdb/valops.c +++ b/gdb/valops.c
@@ -1565,6 +1565,19 @@ value_ind (struct value *arg1) @@ -1558,6 +1558,19 @@ value_ind (struct value *arg1)
if (TYPE_CODE (base_type) == TYPE_CODE_PTR) if (TYPE_CODE (base_type) == TYPE_CODE_PTR)
{ {
struct type *enc_type; struct type *enc_type;
@ -1326,7 +1326,7 @@ diff --git a/gdb/valops.c b/gdb/valops.c
/* We may be pointing to something embedded in a larger object. /* We may be pointing to something embedded in a larger object.
Get the real type of the enclosing object. */ Get the real type of the enclosing object. */
@@ -1580,8 +1593,7 @@ value_ind (struct value *arg1) @@ -1573,8 +1586,7 @@ value_ind (struct value *arg1)
else else
/* Retrieve the enclosing object pointed to. */ /* Retrieve the enclosing object pointed to. */
arg2 = value_at_lazy (enc_type, arg2 = value_at_lazy (enc_type,

View File

@ -111,11 +111,11 @@ diff --git a/gdb/amd64-nat.c b/gdb/amd64-nat.c
+ for -ERESTART* values -512 being above 0xfffffffffffffe00; tested by + for -ERESTART* values -512 being above 0xfffffffffffffe00; tested by
+ interrupt.exp. */ + interrupt.exp. */
+ +
+ int i = I386_EAX_REGNUM; + int k = I386_EAX_REGNUM;
+ +
+ if (regnum == -1 || regnum == i) + if (regnum == -1 || regnum == i)
+ { + {
+ void *ptr = regs + amd64_native_gregset_reg_offset (gdbarch, i); + void *ptr = regs + amd64_native_gregset_reg_offset (gdbarch, k);
+ +
+ *(int64_t *) ptr = *(int32_t *) ptr; + *(int64_t *) ptr = *(int32_t *) ptr;
+ } + }

View File

@ -18,7 +18,7 @@
Name: %{?scl_prefix}gdb Name: %{?scl_prefix}gdb
# Freeze it when GDB gets branched # Freeze it when GDB gets branched
%global snapsrc 20180917 %global snapsrc 20181006
# See timestamp of source gnulib installed into gdb/gnulib/ . # See timestamp of source gnulib installed into gdb/gnulib/ .
%global snapgnulib 20161115 %global snapgnulib 20161115
%global tarname gdb-%{version} %global tarname gdb-%{version}
@ -26,7 +26,7 @@ Version: 8.2.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: 3%{?dist} Release: 4%{?dist}
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL
Group: Development/Debuggers Group: Development/Debuggers
@ -1024,6 +1024,9 @@ fi
%endif %endif
%changelog %changelog
* Sat Oct 6 2018 Sergio Durigan Junior <sergiodj@redhat.com> - 8.2.50.20181006-4.fc30
- Rebase to FSF GDB 8.2.50.20181006 (8.3pre).
* Thu Oct 4 2018 Jan Kratochvil <jan.kratochvil@redhat.com> - 8.2.50.20180917-3.fc30 * Thu Oct 4 2018 Jan Kratochvil <jan.kratochvil@redhat.com> - 8.2.50.20180917-3.fc30
- Fix annobin complaints (RH BZ 1630564): - Fix annobin complaints (RH BZ 1630564):
--without-stage1-ldflags: Disable static libstdc++ and libgcc linking. --without-stage1-ldflags: Disable static libstdc++ and libgcc linking.

View File

@ -1,3 +1,3 @@
SHA512 (gdb-libstdc++-v3-python-8.1.1-20180626.tar.xz) = a8b1c54dd348cfeb37da73f968742896be3dd13a4215f8d8519870c2abea915f5176c3fa6989ddd10f20020a16f0fab20cbae68ee8d58a82234d8778023520f8 SHA512 (gdb-libstdc++-v3-python-8.1.1-20180626.tar.xz) = a8b1c54dd348cfeb37da73f968742896be3dd13a4215f8d8519870c2abea915f5176c3fa6989ddd10f20020a16f0fab20cbae68ee8d58a82234d8778023520f8
SHA512 (v2.0.tar.gz) = ec63151e842c81cc73ea11ba560b63e005cefbe19d98de24ae5c8caa4de7c9c1d71d1ec5b6214a347592eac675b75a3d2b26d4691ca86f91020ebfea8e912939 SHA512 (v2.0.tar.gz) = ec63151e842c81cc73ea11ba560b63e005cefbe19d98de24ae5c8caa4de7c9c1d71d1ec5b6214a347592eac675b75a3d2b26d4691ca86f91020ebfea8e912939
SHA512 (gdb-8.2.50.20180917.tar.xz) = 92f07fc062ff9d7cb5683507a256f65ae9d29b7d6368d22f474041201c129b1d3f687f02e89e509d5fd8e9c08dbc8bbf9d9aad56d9dbdc2f6e2baef223cc90ef SHA512 (gdb-8.2.50.20181006.tar.xz) = 60258237e19127f339f7bfe0a75a1ea46be3e1c789c2ab184825b7eff8977f27454feaf84b283f1807e2a0355e8c8c1216ac3a1bd7c3cddd934d06532b0bea09