Rebase to FSF GDB 8.1.50.20180605 (8.2pre).

This commit is contained in:
Sergio Durigan Junior 2018-06-05 15:25:07 -04:00
parent 56d681a596
commit c9daf93497
25 changed files with 206 additions and 258 deletions

2
.gitignore vendored
View File

@ -1,3 +1,3 @@
/gdb-libstdc++-v3-python-7.1.1-20170526.tar.xz /gdb-libstdc++-v3-python-7.1.1-20170526.tar.xz
/v1.6.1.tar.gz /v1.6.1.tar.gz
/gdb-8.1.50.20180529.tar.xz /gdb-8.1.50.20180605.tar.xz

View File

@ -1 +1 @@
b8283aea9e599f17dbae7f52223994e3a9168143 54d343a24019367e85bb2e90966f2da483868637

View File

@ -18,7 +18,7 @@ FileName: 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
@@ -1729,7 +1729,7 @@ info install-info clean-info dvi pdf install-pdf html install-html: force @@ -1731,7 +1731,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
@ -27,7 +27,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 \
@@ -1778,7 +1778,25 @@ install-guile: @@ -1780,7 +1780,25 @@ install-guile:
install-python: install-python:
$(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(GDB_DATADIR)/python/gdb $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(GDB_DATADIR)/python/gdb
@ -54,7 +54,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 \
@@ -1801,6 +1819,18 @@ uninstall: force $(CONFIG_UNINSTALL) @@ -1803,6 +1821,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

@ -129,7 +129,7 @@ diff --git a/gdb/amd64-linux-tdep.c b/gdb/amd64-linux-tdep.c
diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c
--- a/gdb/amd64-tdep.c --- a/gdb/amd64-tdep.c
+++ b/gdb/amd64-tdep.c +++ b/gdb/amd64-tdep.c
@@ -2597,6 +2597,7 @@ amd64_frame_unwind_stop_reason (struct frame_info *this_frame, @@ -2595,6 +2595,7 @@ amd64_frame_unwind_stop_reason (struct frame_info *this_frame,
{ {
struct amd64_frame_cache *cache = struct amd64_frame_cache *cache =
amd64_frame_cache (this_frame, this_cache); amd64_frame_cache (this_frame, this_cache);
@ -137,7 +137,7 @@ diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c
if (!cache->base_p) if (!cache->base_p)
return UNWIND_UNAVAILABLE; return UNWIND_UNAVAILABLE;
@@ -2605,6 +2606,10 @@ amd64_frame_unwind_stop_reason (struct frame_info *this_frame, @@ -2603,6 +2604,10 @@ amd64_frame_unwind_stop_reason (struct frame_info *this_frame,
if (cache->base == 0) if (cache->base == 0)
return UNWIND_OUTERMOST; return UNWIND_OUTERMOST;
@ -148,7 +148,7 @@ diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c
return UNWIND_NO_REASON; return UNWIND_NO_REASON;
} }
@@ -2739,6 +2744,7 @@ amd64_sigtramp_frame_this_id (struct frame_info *this_frame, @@ -2737,6 +2742,7 @@ amd64_sigtramp_frame_this_id (struct frame_info *this_frame,
{ {
struct amd64_frame_cache *cache = struct amd64_frame_cache *cache =
amd64_sigtramp_frame_cache (this_frame, this_cache); amd64_sigtramp_frame_cache (this_frame, this_cache);
@ -156,7 +156,7 @@ diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c
if (!cache->base_p) if (!cache->base_p)
(*this_id) = frame_id_build_unavailable_stack (get_frame_pc (this_frame)); (*this_id) = frame_id_build_unavailable_stack (get_frame_pc (this_frame));
@@ -2747,6 +2753,11 @@ amd64_sigtramp_frame_this_id (struct frame_info *this_frame, @@ -2745,6 +2751,11 @@ amd64_sigtramp_frame_this_id (struct frame_info *this_frame,
/* This marks the outermost frame. */ /* This marks the outermost frame. */
return; return;
} }
@ -171,7 +171,7 @@ diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c
diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
--- a/gdb/i386-tdep.c --- a/gdb/i386-tdep.c
+++ b/gdb/i386-tdep.c +++ b/gdb/i386-tdep.c
@@ -8428,6 +8428,9 @@ i386_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) @@ -8404,6 +8404,9 @@ i386_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
tdep->xsave_xcr0_offset = -1; tdep->xsave_xcr0_offset = -1;

View File

@ -1024,7 +1024,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
diff --git a/gdb/elfread.c b/gdb/elfread.c diff --git a/gdb/elfread.c b/gdb/elfread.c
--- a/gdb/elfread.c --- a/gdb/elfread.c
+++ b/gdb/elfread.c +++ b/gdb/elfread.c
@@ -1290,7 +1290,9 @@ elf_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags) @@ -1287,7 +1287,9 @@ elf_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags)
&& objfile->separate_debug_objfile == NULL && objfile->separate_debug_objfile == NULL
&& objfile->separate_debug_objfile_backlink == NULL) && objfile->separate_debug_objfile_backlink == NULL)
{ {
@ -1035,7 +1035,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);
@@ -1302,6 +1304,10 @@ elf_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags) @@ -1299,6 +1301,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 (abfd.get (), debugfile.c_str (),
symfile_flags, objfile); symfile_flags, objfile);
} }

View File

@ -17,5 +17,5 @@ diff --git a/gdb/sparc-tdep.c b/gdb/sparc-tdep.c
/* Floating return values. */ /* Floating return values. */
+ len = (len <= 8) ? len : 8; + len = (len <= 8) ? len : 8;
memcpy (buf, valbuf, len); memcpy (buf, valbuf, len);
regcache_cooked_write (regcache, SPARC_F0_REGNUM, buf); regcache->cooked_write (SPARC_F0_REGNUM, buf);
if (len > 4) if (len > 4)

View File

@ -10,7 +10,7 @@ FileName: 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
@@ -15511,6 +15511,50 @@ initialize_breakpoint_ops (void) @@ -15514,6 +15514,50 @@ initialize_breakpoint_ops (void)
static struct cmd_list_element *enablebreaklist = NULL; static struct cmd_list_element *enablebreaklist = NULL;

View File

@ -26,7 +26,7 @@ diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
CORE_ADDR physaddr; CORE_ADDR physaddr;
const char *physname; const char *physname;
@@ -1453,6 +1455,7 @@ extern void set_type_vptr_basetype (struct type *, struct type *); @@ -1438,6 +1440,7 @@ extern void set_type_vptr_basetype (struct type *, struct type *);
#define FIELD_ENUMVAL_LVAL(thisfld) ((thisfld).loc.enumval) #define FIELD_ENUMVAL_LVAL(thisfld) ((thisfld).loc.enumval)
#define FIELD_ENUMVAL(thisfld) (FIELD_ENUMVAL_LVAL (thisfld) + 0) #define FIELD_ENUMVAL(thisfld) (FIELD_ENUMVAL_LVAL (thisfld) + 0)
#define FIELD_STATIC_PHYSNAME(thisfld) ((thisfld).loc.physname) #define FIELD_STATIC_PHYSNAME(thisfld) ((thisfld).loc.physname)
@ -34,7 +34,7 @@ diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
#define FIELD_STATIC_PHYSADDR(thisfld) ((thisfld).loc.physaddr) #define FIELD_STATIC_PHYSADDR(thisfld) ((thisfld).loc.physaddr)
#define FIELD_DWARF_BLOCK(thisfld) ((thisfld).loc.dwarf_block) #define FIELD_DWARF_BLOCK(thisfld) ((thisfld).loc.dwarf_block)
#define SET_FIELD_BITPOS(thisfld, bitpos) \ #define SET_FIELD_BITPOS(thisfld, bitpos) \
@@ -1464,6 +1467,7 @@ extern void set_type_vptr_basetype (struct type *, struct type *); @@ -1449,6 +1452,7 @@ extern void set_type_vptr_basetype (struct type *, struct type *);
#define SET_FIELD_PHYSNAME(thisfld, name) \ #define SET_FIELD_PHYSNAME(thisfld, name) \
(FIELD_LOC_KIND (thisfld) = FIELD_LOC_KIND_PHYSNAME, \ (FIELD_LOC_KIND (thisfld) = FIELD_LOC_KIND_PHYSNAME, \
FIELD_STATIC_PHYSNAME (thisfld) = (name)) FIELD_STATIC_PHYSNAME (thisfld) = (name))
@ -42,7 +42,7 @@ diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
#define SET_FIELD_PHYSADDR(thisfld, addr) \ #define SET_FIELD_PHYSADDR(thisfld, addr) \
(FIELD_LOC_KIND (thisfld) = FIELD_LOC_KIND_PHYSADDR, \ (FIELD_LOC_KIND (thisfld) = FIELD_LOC_KIND_PHYSADDR, \
FIELD_STATIC_PHYSADDR (thisfld) = (addr)) FIELD_STATIC_PHYSADDR (thisfld) = (addr))
@@ -1480,6 +1484,7 @@ extern void set_type_vptr_basetype (struct type *, struct type *); @@ -1465,6 +1469,7 @@ extern void set_type_vptr_basetype (struct type *, struct type *);
#define TYPE_FIELD_BITPOS(thistype, n) FIELD_BITPOS (TYPE_FIELD (thistype, n)) #define TYPE_FIELD_BITPOS(thistype, n) FIELD_BITPOS (TYPE_FIELD (thistype, n))
#define TYPE_FIELD_ENUMVAL(thistype, n) FIELD_ENUMVAL (TYPE_FIELD (thistype, n)) #define TYPE_FIELD_ENUMVAL(thistype, n) FIELD_ENUMVAL (TYPE_FIELD (thistype, n))
#define TYPE_FIELD_STATIC_PHYSNAME(thistype, n) FIELD_STATIC_PHYSNAME (TYPE_FIELD (thistype, n)) #define TYPE_FIELD_STATIC_PHYSNAME(thistype, n) FIELD_STATIC_PHYSNAME (TYPE_FIELD (thistype, n))

View File

@ -19,7 +19,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
@@ -2096,6 +2096,12 @@ stamp-h: $(srcdir)/config.in config.status @@ -2098,6 +2098,12 @@ stamp-h: $(srcdir)/config.in config.status
CONFIG_LINKS= \ CONFIG_LINKS= \
$(SHELL) config.status $(SHELL) config.status
@ -29,7 +29,7 @@ diff --git a/gdb/Makefile.in b/gdb/Makefile.in
+ CONFIG_HEADERS= \ + CONFIG_HEADERS= \
+ $(SHELL) config.status + $(SHELL) config.status
+ +
config.status: $(srcdir)/configure configure.tgt configure.host ../bfd/development.sh config.status: $(srcdir)/configure configure.nat configure.tgt configure.host ../bfd/development.sh
$(SHELL) config.status --recheck $(SHELL) config.status --recheck
diff --git a/gdb/data-directory/Makefile.in b/gdb/data-directory/Makefile.in diff --git a/gdb/data-directory/Makefile.in b/gdb/data-directory/Makefile.in
@ -454,7 +454,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
@@ -641,6 +641,9 @@ class gdbpy_enter_varobj : public gdbpy_enter @@ -643,6 +643,9 @@ class gdbpy_enter_varobj : public gdbpy_enter
}; };

View File

@ -257,7 +257,7 @@ diff --git a/gdb/gdbserver/configure.ac b/gdb/gdbserver/configure.ac
diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c
--- a/gdb/gdbserver/linux-low.c --- a/gdb/gdbserver/linux-low.c
+++ b/gdb/gdbserver/linux-low.c +++ b/gdb/gdbserver/linux-low.c
@@ -966,7 +966,16 @@ linux_ptrace_fun () @@ -967,7 +967,16 @@ linux_ptrace_fun ()
{ {
if (ptrace (PTRACE_TRACEME, 0, (PTRACE_TYPE_ARG3) 0, if (ptrace (PTRACE_TRACEME, 0, (PTRACE_TYPE_ARG3) 0,
(PTRACE_TYPE_ARG4) 0) < 0) (PTRACE_TYPE_ARG4) 0) < 0)
@ -349,7 +349,7 @@ diff --git a/gdb/nat/linux-ptrace.c b/gdb/nat/linux-ptrace.c
diff --git a/gdb/nat/linux-ptrace.h b/gdb/nat/linux-ptrace.h diff --git a/gdb/nat/linux-ptrace.h b/gdb/nat/linux-ptrace.h
--- a/gdb/nat/linux-ptrace.h --- a/gdb/nat/linux-ptrace.h
+++ b/gdb/nat/linux-ptrace.h +++ b/gdb/nat/linux-ptrace.h
@@ -189,6 +189,7 @@ extern std::string linux_ptrace_attach_fail_reason (pid_t pid); @@ -184,6 +184,7 @@ extern std::string linux_ptrace_attach_fail_reason (pid_t pid);
extern std::string linux_ptrace_attach_fail_reason_string (ptid_t ptid, int err); extern std::string 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);

View File

@ -12,7 +12,7 @@ FileName: 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
@@ -8808,7 +8808,7 @@ init_breakpoint_sal (struct breakpoint *b, struct gdbarch *gdbarch, @@ -8798,7 +8798,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)
{ {
@ -21,7 +21,7 @@ diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
if (type == bp_hardware_breakpoint) if (type == bp_hardware_breakpoint)
{ {
@@ -14345,7 +14345,7 @@ enable_breakpoint_disp (struct breakpoint *bpt, enum bpdisp disposition, @@ -14348,7 +14348,7 @@ enable_breakpoint_disp (struct breakpoint *bpt, enum bpdisp disposition,
if (bpt->type == bp_hardware_breakpoint) if (bpt->type == bp_hardware_breakpoint)
{ {
@ -99,7 +99,7 @@ new file mode 100644
diff --git a/gdb/configure.nat b/gdb/configure.nat diff --git a/gdb/configure.nat b/gdb/configure.nat
--- a/gdb/configure.nat --- a/gdb/configure.nat
+++ b/gdb/configure.nat +++ b/gdb/configure.nat
@@ -237,6 +237,7 @@ case ${gdb_host} in @@ -238,6 +238,7 @@ case ${gdb_host} in
;; ;;
i386) i386)
# Host: Intel 386 running GNU/Linux. # Host: Intel 386 running GNU/Linux.
@ -107,7 +107,7 @@ diff --git a/gdb/configure.nat b/gdb/configure.nat
NATDEPFILES="${NATDEPFILES} x86-nat.o x86-dregs.o \ NATDEPFILES="${NATDEPFILES} x86-nat.o x86-dregs.o \
i386-linux-nat.o x86-linux-nat.o linux-btrace.o \ i386-linux-nat.o x86-linux-nat.o linux-btrace.o \
x86-linux.o x86-linux-dregs.o" x86-linux.o x86-linux-dregs.o"
@@ -289,6 +290,7 @@ case ${gdb_host} in @@ -290,6 +291,7 @@ case ${gdb_host} in
case ${gdb_host_cpu} in case ${gdb_host_cpu} in
i386) i386)
# Host: GNU/Linux x86-64 # Host: GNU/Linux x86-64

View File

@ -11,7 +11,7 @@ FileName: 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
@@ -14048,7 +14048,17 @@ remote_target::pid_to_exec_file (int pid) @@ -14047,7 +14047,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

@ -11,7 +11,7 @@ FileName: 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
@@ -21272,6 +21272,26 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu, @@ -21261,6 +21261,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

@ -44,7 +44,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
@@ -10491,6 +10491,13 @@ private: @@ -10489,6 +10489,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

@ -16,7 +16,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
@@ -12017,6 +12017,8 @@ update_global_location_list (enum ugll_insert_mode insert_mode) @@ -12007,6 +12007,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

@ -475,7 +475,7 @@ Content-Disposition: attachment; filename=bitpos-main.patch
diff --git a/gdb/aarch64-linux-nat.c b/gdb/aarch64-linux-nat.c diff --git a/gdb/aarch64-linux-nat.c b/gdb/aarch64-linux-nat.c
--- a/gdb/aarch64-linux-nat.c --- a/gdb/aarch64-linux-nat.c
+++ b/gdb/aarch64-linux-nat.c +++ b/gdb/aarch64-linux-nat.c
@@ -743,7 +743,7 @@ aarch64_linux_nat_target::remove_watchpoint (CORE_ADDR addr, int len, @@ -740,7 +740,7 @@ aarch64_linux_nat_target::remove_watchpoint (CORE_ADDR addr, int len,
/* Implement the "region_ok_for_hw_watchpoint" target_ops method. */ /* Implement the "region_ok_for_hw_watchpoint" target_ops method. */
int int
@ -686,7 +686,7 @@ diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
val = value_cast (value_type (component), val); val = value_cast (value_type (component), val);
@@ -4468,7 +4470,7 @@ ensure_lval (struct value *val) @@ -4462,7 +4464,7 @@ ensure_lval (struct value *val)
if (VALUE_LVAL (val) == not_lval if (VALUE_LVAL (val) == not_lval
|| VALUE_LVAL (val) == lval_internalvar) || VALUE_LVAL (val) == lval_internalvar)
{ {
@ -695,7 +695,7 @@ diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
const CORE_ADDR addr = const CORE_ADDR addr =
value_as_long (value_allocate_space_in_inferior (len)); value_as_long (value_allocate_space_in_inferior (len));
@@ -4552,7 +4554,7 @@ static CORE_ADDR @@ -4546,7 +4548,7 @@ static CORE_ADDR
value_pointer (struct value *value, struct type *type) value_pointer (struct value *value, struct type *type)
{ {
struct gdbarch *gdbarch = get_type_arch (type); struct gdbarch *gdbarch = get_type_arch (type);
@ -704,7 +704,7 @@ diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
gdb_byte *buf = (gdb_byte *) alloca (len); gdb_byte *buf = (gdb_byte *) alloca (len);
CORE_ADDR addr; CORE_ADDR addr;
@@ -6685,7 +6687,7 @@ value_tag_from_contents_and_address (struct type *type, @@ -6657,7 +6659,7 @@ value_tag_from_contents_and_address (struct type *type,
const gdb_byte *valaddr, const gdb_byte *valaddr,
CORE_ADDR address) CORE_ADDR address)
{ {
@ -713,7 +713,7 @@ diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
struct type *tag_type; struct type *tag_type;
if (find_struct_field ("_tag", type, 0, &tag_type, &tag_byte_offset, if (find_struct_field ("_tag", type, 0, &tag_type, &tag_byte_offset,
@@ -7178,7 +7180,7 @@ ada_in_variant (LONGEST val, struct type *type, int field_num) @@ -7150,7 +7152,7 @@ ada_in_variant (LONGEST val, struct type *type, int field_num)
only in that it can handle packed values of arbitrary type. */ only in that it can handle packed values of arbitrary type. */
static struct value * static struct value *
@ -722,7 +722,7 @@ diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
struct type *arg_type) struct type *arg_type)
{ {
struct type *type; struct type *type;
@@ -7190,7 +7192,7 @@ ada_value_primitive_field (struct value *arg1, int offset, int fieldno, @@ -7162,7 +7164,7 @@ ada_value_primitive_field (struct value *arg1, int offset, int fieldno,
if (TYPE_FIELD_BITSIZE (arg_type, fieldno) != 0) if (TYPE_FIELD_BITSIZE (arg_type, fieldno) != 0)
{ {
@ -731,7 +731,7 @@ diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
int bit_size = TYPE_FIELD_BITSIZE (arg_type, fieldno); int bit_size = TYPE_FIELD_BITSIZE (arg_type, fieldno);
return ada_value_primitive_packed_val (arg1, value_contents (arg1), return ada_value_primitive_packed_val (arg1, value_contents (arg1),
@@ -7267,9 +7269,9 @@ ada_value_primitive_field (struct value *arg1, int offset, int fieldno, @@ -7239,9 +7241,9 @@ ada_value_primitive_field (struct value *arg1, int offset, int fieldno,
Returns 1 if found, 0 otherwise. */ Returns 1 if found, 0 otherwise. */
static int static int
@ -743,7 +743,7 @@ diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
int *index_p) int *index_p)
{ {
int i; int i;
@@ -7288,8 +7290,8 @@ find_struct_field (const char *name, struct type *type, int offset, @@ -7260,8 +7262,8 @@ find_struct_field (const char *name, struct type *type, int offset,
for (i = 0; i < TYPE_NFIELDS (type); i += 1) for (i = 0; i < TYPE_NFIELDS (type); i += 1)
{ {
@ -754,7 +754,7 @@ diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
const char *t_field_name = TYPE_FIELD_NAME (type, i); const char *t_field_name = TYPE_FIELD_NAME (type, i);
if (t_field_name == NULL) if (t_field_name == NULL)
@@ -7391,7 +7393,7 @@ num_visible_fields (struct type *type) @@ -7363,7 +7365,7 @@ num_visible_fields (struct type *type)
long explanation in find_struct_field's function documentation. */ long explanation in find_struct_field's function documentation. */
static struct value * static struct value *
@ -763,7 +763,7 @@ diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
struct type *type) struct type *type)
{ {
int i; int i;
@@ -7439,7 +7441,7 @@ ada_search_struct_field (const char *name, struct value *arg, int offset, @@ -7411,7 +7413,7 @@ ada_search_struct_field (const char *name, struct value *arg, int offset,
int j; int j;
struct type *field_type = ada_check_typedef (TYPE_FIELD_TYPE (type, struct type *field_type = ada_check_typedef (TYPE_FIELD_TYPE (type,
i)); i));
@ -772,7 +772,7 @@ diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
for (j = 0; j < TYPE_NFIELDS (field_type); j += 1) for (j = 0; j < TYPE_NFIELDS (field_type); j += 1)
{ {
@@ -7471,8 +7473,8 @@ ada_search_struct_field (const char *name, struct value *arg, int offset, @@ -7443,8 +7445,8 @@ ada_search_struct_field (const char *name, struct value *arg, int offset,
return NULL; return NULL;
} }
@ -783,7 +783,7 @@ diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
/* Return field #INDEX in ARG, where the index is that returned by /* Return field #INDEX in ARG, where the index is that returned by
@@ -7481,7 +7483,7 @@ static struct value *ada_index_struct_field_1 (int *, struct value *, @@ -7453,7 +7455,7 @@ static struct value *ada_index_struct_field_1 (int *, struct value *,
* If found, return value, else return NULL. */ * If found, return value, else return NULL. */
static struct value * static struct value *
@ -792,7 +792,7 @@ diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
struct type *type) struct type *type)
{ {
return ada_index_struct_field_1 (&index, arg, offset, type); return ada_index_struct_field_1 (&index, arg, offset, type);
@@ -7493,7 +7495,7 @@ ada_index_struct_field (int index, struct value *arg, int offset, @@ -7465,7 +7467,7 @@ ada_index_struct_field (int index, struct value *arg, int offset,
* *INDEX_P. */ * *INDEX_P. */
static struct value * static struct value *
@ -801,7 +801,7 @@ diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
struct type *type) struct type *type)
{ {
int i; int i;
@@ -7583,7 +7585,8 @@ ada_value_struct_elt (struct value *arg, const char *name, int no_err) @@ -7555,7 +7557,8 @@ ada_value_struct_elt (struct value *arg, const char *name, int no_err)
v = ada_search_struct_field (name, arg, 0, t); v = ada_search_struct_field (name, arg, 0, t);
else else
{ {
@ -811,7 +811,7 @@ diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
struct type *field_type; struct type *field_type;
CORE_ADDR address; CORE_ADDR address;
@@ -7927,8 +7930,8 @@ ada_coerce_ref (struct value *val0) @@ -7899,8 +7902,8 @@ ada_coerce_ref (struct value *val0)
/* Return OFF rounded upward if necessary to a multiple of /* Return OFF rounded upward if necessary to a multiple of
ALIGNMENT (a power of 2). */ ALIGNMENT (a power of 2). */
@ -822,7 +822,7 @@ diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
{ {
return (off + alignment - 1) & ~(alignment - 1); return (off + alignment - 1) & ~(alignment - 1);
} }
@@ -8322,10 +8325,9 @@ ada_template_to_fixed_record_type_1 (struct type *type, @@ -8290,10 +8293,9 @@ ada_template_to_fixed_record_type_1 (struct type *type,
struct value *mark = value_mark (); struct value *mark = value_mark ();
struct value *dval; struct value *dval;
struct type *rtype; struct type *rtype;
@ -835,7 +835,7 @@ diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
int f; int f;
/* Compute the number of fields in this record type that are going /* Compute the number of fields in this record type that are going
@@ -8403,7 +8405,7 @@ ada_template_to_fixed_record_type_1 (struct type *type, @@ -8370,7 +8372,7 @@ ada_template_to_fixed_record_type_1 (struct type *type,
that follow this one. */ that follow this one. */
if (ada_is_aligner_type (field_type)) if (ada_is_aligner_type (field_type))
{ {
@ -844,7 +844,7 @@ diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
field_valaddr = cond_offset_host (field_valaddr, field_offset); field_valaddr = cond_offset_host (field_valaddr, field_offset);
field_address = cond_offset_target (field_address, field_offset); field_address = cond_offset_target (field_address, field_offset);
@@ -8539,11 +8541,11 @@ ada_template_to_fixed_record_type_1 (struct type *type, @@ -8506,11 +8508,11 @@ ada_template_to_fixed_record_type_1 (struct type *type,
if (TYPE_LENGTH (type) <= 0) if (TYPE_LENGTH (type) <= 0)
{ {
if (TYPE_NAME (rtype)) if (TYPE_NAME (rtype))
@ -860,7 +860,7 @@ diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
} }
else else
{ {
@@ -9009,7 +9011,8 @@ to_fixed_array_type (struct type *type0, struct value *dval, @@ -8974,7 +8976,8 @@ to_fixed_array_type (struct type *type0, struct value *dval,
type was a regular (non-packed) array type. As a result, the type was a regular (non-packed) array type. As a result, the
bitsize of the array elements needs to be set again, and the array bitsize of the array elements needs to be set again, and the array
length needs to be recomputed based on that bitsize. */ length needs to be recomputed based on that bitsize. */
@ -891,7 +891,7 @@ diff --git a/gdb/ada-lang.h b/gdb/ada-lang.h
const struct value_print_options *); const struct value_print_options *);
struct value *ada_convert_actual (struct value *actual, struct value *ada_convert_actual (struct value *actual,
@@ -262,7 +262,7 @@ extern int ada_is_constrained_packed_array_type (struct type *); @@ -263,7 +263,7 @@ extern int ada_is_constrained_packed_array_type (struct type *);
extern struct value *ada_value_primitive_packed_val (struct value *, extern struct value *ada_value_primitive_packed_val (struct value *,
const gdb_byte *, const gdb_byte *,
@ -1074,7 +1074,7 @@ diff --git a/gdb/ada-valprint.c b/gdb/ada-valprint.c
diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c
--- a/gdb/amd64-tdep.c --- a/gdb/amd64-tdep.c
+++ b/gdb/amd64-tdep.c +++ b/gdb/amd64-tdep.c
@@ -729,7 +729,7 @@ amd64_return_value (struct gdbarch *gdbarch, struct value *function, @@ -727,7 +727,7 @@ amd64_return_value (struct gdbarch *gdbarch, struct value *function,
gdb_byte *readbuf, const gdb_byte *writebuf) gdb_byte *readbuf, const gdb_byte *writebuf)
{ {
enum amd64_reg_class theclass[2]; enum amd64_reg_class theclass[2];
@ -1083,19 +1083,16 @@ diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c
static int integer_regnum[] = { AMD64_RAX_REGNUM, AMD64_RDX_REGNUM }; static int integer_regnum[] = { AMD64_RAX_REGNUM, AMD64_RDX_REGNUM };
static int sse_regnum[] = { AMD64_XMM0_REGNUM, AMD64_XMM1_REGNUM }; static int sse_regnum[] = { AMD64_XMM0_REGNUM, AMD64_XMM1_REGNUM };
int integer_reg = 0; int integer_reg = 0;
@@ -845,11 +845,13 @@ amd64_return_value (struct gdbarch *gdbarch, struct value *function, @@ -844,10 +844,10 @@ amd64_return_value (struct gdbarch *gdbarch, struct value *function,
gdb_assert (regnum != -1); gdb_assert (regnum != -1);
+ LONGEST nlen = len < 8 ? len : 8;
+
if (readbuf) if (readbuf)
- regcache_raw_read_part (regcache, regnum, offset, std::min (len, 8), - regcache->raw_read_part (regnum, offset, std::min (len, 8),
+ regcache_raw_read_part (regcache, regnum, offset, nlen, + regcache->raw_read_part (regnum, offset, std::min (len, (LONGEST) 8),
readbuf + i * 8); readbuf + i * 8);
if (writebuf) if (writebuf)
- regcache_raw_write_part (regcache, regnum, offset, std::min (len, 8), - regcache->raw_write_part (regnum, offset, std::min (len, 8),
+ regcache_raw_write_part (regcache, regnum, offset, nlen, + regcache->raw_write_part (regnum, offset, std::min (len, (LONGEST) 8),
writebuf + i * 8); writebuf + i * 8);
} }
@ -1169,7 +1166,7 @@ diff --git a/gdb/arch-utils.h b/gdb/arch-utils.h
diff --git a/gdb/arm-linux-nat.c b/gdb/arm-linux-nat.c diff --git a/gdb/arm-linux-nat.c b/gdb/arm-linux-nat.c
--- a/gdb/arm-linux-nat.c --- a/gdb/arm-linux-nat.c
+++ b/gdb/arm-linux-nat.c +++ b/gdb/arm-linux-nat.c
@@ -1104,7 +1104,7 @@ arm_linux_nat_target::remove_hw_breakpoint (struct gdbarch *gdbarch, @@ -1098,7 +1098,7 @@ arm_linux_nat_target::remove_hw_breakpoint (struct gdbarch *gdbarch,
/* Are we able to use a hardware watchpoint for the LEN bytes starting at /* Are we able to use a hardware watchpoint for the LEN bytes starting at
ADDR? */ ADDR? */
int int
@ -1316,7 +1313,7 @@ diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
} }
return 0; return 0;
} }
@@ -6814,7 +6814,7 @@ breakpoint_address_match (const address_space *aspace1, CORE_ADDR addr1, @@ -6809,7 +6809,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,
@ -1325,7 +1322,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 ())
@@ -10906,7 +10906,7 @@ can_use_hardware_watchpoint (const std::vector<value_ref_ptr> &vals) @@ -10896,7 +10896,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);
@ -1388,7 +1385,7 @@ diff --git a/gdb/c-lang.c b/gdb/c-lang.c
diff --git a/gdb/c-lang.h b/gdb/c-lang.h diff --git a/gdb/c-lang.h b/gdb/c-lang.h
--- a/gdb/c-lang.h --- a/gdb/c-lang.h
+++ b/gdb/c-lang.h +++ b/gdb/c-lang.h
@@ -77,7 +77,7 @@ extern void c_print_typedef (struct type *, @@ -84,7 +84,7 @@ extern void c_print_typedef (struct type *,
struct ui_file *); struct ui_file *);
extern void c_val_print (struct type *, extern void c_val_print (struct type *,
@ -1397,7 +1394,7 @@ diff --git a/gdb/c-lang.h b/gdb/c-lang.h
struct ui_file *, int, struct ui_file *, int,
struct value *, struct value *,
const struct value_print_options *); const struct value_print_options *);
@@ -97,7 +97,7 @@ extern void c_printchar (int, struct type *, struct ui_file *); @@ -104,7 +104,7 @@ extern void c_printchar (int, struct type *, struct ui_file *);
extern void c_printstr (struct ui_file * stream, extern void c_printstr (struct ui_file * stream,
struct type *elttype, struct type *elttype,
const gdb_byte *string, const gdb_byte *string,
@ -1409,7 +1406,7 @@ diff --git a/gdb/c-lang.h b/gdb/c-lang.h
diff --git a/gdb/c-typeprint.c b/gdb/c-typeprint.c diff --git a/gdb/c-typeprint.c b/gdb/c-typeprint.c
--- a/gdb/c-typeprint.c --- a/gdb/c-typeprint.c
+++ b/gdb/c-typeprint.c +++ b/gdb/c-typeprint.c
@@ -934,7 +934,8 @@ c_print_type_union_field_offset (struct type *type, unsigned int field_idx, @@ -968,7 +968,8 @@ c_print_type_union_field_offset (struct type *type, unsigned int field_idx,
{ {
struct type *ftype = check_typedef (TYPE_FIELD_TYPE (type, field_idx)); struct type *ftype = check_typedef (TYPE_FIELD_TYPE (type, field_idx));
@ -1419,7 +1416,7 @@ diff --git a/gdb/c-typeprint.c b/gdb/c-typeprint.c
} }
/* Helper function for ptype/o implementation that prints information /* Helper function for ptype/o implementation that prints information
@@ -1530,8 +1531,8 @@ c_type_print_base_struct_union (struct type *type, struct ui_file *stream, @@ -1568,8 +1569,8 @@ c_type_print_base_struct_union (struct type *type, struct ui_file *stream,
print_spaces_filtered_with_print_options (level + 4, print_spaces_filtered_with_print_options (level + 4,
stream, stream,
flags); flags);
@ -1679,7 +1676,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
} }
static void static void
@@ -14941,8 +14941,8 @@ dwarf2_add_field (struct field_info *fip, struct die_info *die, @@ -14940,8 +14940,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. */
@ -1894,7 +1891,7 @@ diff --git a/gdb/frame.h b/gdb/frame.h
diff --git a/gdb/gdbarch.c b/gdb/gdbarch.c diff --git a/gdb/gdbarch.c b/gdb/gdbarch.c
--- a/gdb/gdbarch.c --- a/gdb/gdbarch.c
+++ b/gdb/gdbarch.c +++ b/gdb/gdbarch.c
@@ -1795,7 +1795,7 @@ set_gdbarch_wchar_signed (struct gdbarch *gdbarch, @@ -1794,7 +1794,7 @@ set_gdbarch_wchar_signed (struct gdbarch *gdbarch,
} }
const struct floatformat ** const struct floatformat **
@ -1932,7 +1929,7 @@ diff --git a/gdb/gdbarch.sh b/gdb/gdbarch.sh
diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
--- a/gdb/gdbtypes.c --- a/gdb/gdbtypes.c
+++ b/gdb/gdbtypes.c +++ b/gdb/gdbtypes.c
@@ -2925,7 +2925,7 @@ floatformat_from_type (const struct type *type) @@ -2906,7 +2906,7 @@ floatformat_from_type (const struct type *type)
least as long as OBJFILE. */ least as long as OBJFILE. */
struct type * struct type *
@ -1941,7 +1938,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
const char *name) const char *name)
{ {
struct type *type; struct type *type;
@@ -3379,8 +3379,8 @@ is_public_ancestor (struct type *base, struct type *dclass) @@ -3360,8 +3360,8 @@ is_public_ancestor (struct type *base, struct type *dclass)
static int static int
is_unique_ancestor_worker (struct type *base, struct type *dclass, is_unique_ancestor_worker (struct type *base, struct type *dclass,
@ -1952,7 +1949,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
CORE_ADDR address, struct value *val) CORE_ADDR address, struct value *val)
{ {
int i, count = 0; int i, count = 0;
@@ -3391,7 +3391,7 @@ is_unique_ancestor_worker (struct type *base, struct type *dclass, @@ -3372,7 +3372,7 @@ is_unique_ancestor_worker (struct type *base, struct type *dclass,
for (i = 0; i < TYPE_N_BASECLASSES (dclass) && count < 2; ++i) for (i = 0; i < TYPE_N_BASECLASSES (dclass) && count < 2; ++i)
{ {
struct type *iter; struct type *iter;
@ -1961,7 +1958,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
iter = check_typedef (TYPE_BASECLASS (dclass, i)); iter = check_typedef (TYPE_BASECLASS (dclass, i));
@@ -3432,7 +3432,7 @@ is_unique_ancestor_worker (struct type *base, struct type *dclass, @@ -3413,7 +3413,7 @@ is_unique_ancestor_worker (struct type *base, struct type *dclass,
int int
is_unique_ancestor (struct type *base, struct value *val) is_unique_ancestor (struct type *base, struct value *val)
{ {
@ -1970,7 +1967,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
return is_unique_ancestor_worker (base, value_type (val), &offset, return is_unique_ancestor_worker (base, value_type (val), &offset,
value_contents_for_printing (val), value_contents_for_printing (val),
@@ -4677,7 +4677,7 @@ recursive_dump_type (struct type *type, int spaces) @@ -4642,7 +4642,7 @@ recursive_dump_type (struct type *type, int spaces)
break; break;
} }
puts_filtered ("\n"); puts_filtered ("\n");
@ -1979,7 +1976,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
if (TYPE_OBJFILE_OWNED (type)) if (TYPE_OBJFILE_OWNED (type))
{ {
printfi_filtered (spaces, "objfile "); printfi_filtered (spaces, "objfile ");
@@ -5122,7 +5122,7 @@ copy_type (const struct type *type) @@ -5085,7 +5085,7 @@ copy_type (const struct type *type)
struct type * struct type *
arch_type (struct gdbarch *gdbarch, arch_type (struct gdbarch *gdbarch,
@ -1991,7 +1988,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
--- a/gdb/gdbtypes.h --- a/gdb/gdbtypes.h
+++ b/gdb/gdbtypes.h +++ b/gdb/gdbtypes.h
@@ -876,7 +876,7 @@ struct type @@ -862,7 +862,7 @@ struct type
type_length_units function should be used in order to get the length type_length_units function should be used in order to get the length
expressed in target addressable memory units. */ expressed in target addressable memory units. */
@ -2000,7 +1997,7 @@ diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
/* * Core type, shared by a group of qualified types. */ /* * Core type, shared by a group of qualified types. */
@@ -1798,7 +1798,7 @@ extern unsigned int type_length_units (struct type *type); @@ -1783,7 +1783,7 @@ extern unsigned int type_length_units (struct type *type);
/* * Helper function to construct objfile-owned types. */ /* * Helper function to construct objfile-owned types. */
@ -2009,7 +2006,7 @@ diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
const char *); const char *);
extern struct type *init_integer_type (struct objfile *, int, int, extern struct type *init_integer_type (struct objfile *, int, int,
const char *); const char *);
@@ -1815,7 +1815,7 @@ extern struct type *init_pointer_type (struct objfile *, int, const char *, @@ -1800,7 +1800,7 @@ extern struct type *init_pointer_type (struct objfile *, int, const char *,
struct type *); struct type *);
/* Helper functions to construct architecture-owned types. */ /* Helper functions to construct architecture-owned types. */
@ -2151,7 +2148,7 @@ diff --git a/gdb/go-valprint.c b/gdb/go-valprint.c
diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
--- a/gdb/i386-tdep.c --- a/gdb/i386-tdep.c
+++ b/gdb/i386-tdep.c +++ b/gdb/i386-tdep.c
@@ -8177,7 +8177,7 @@ i386_fast_tracepoint_valid_at (struct gdbarch *gdbarch, CORE_ADDR addr, @@ -8153,7 +8153,7 @@ i386_fast_tracepoint_valid_at (struct gdbarch *gdbarch, CORE_ADDR addr,
const struct floatformat ** const struct floatformat **
i386_floatformat_for_type (struct gdbarch *gdbarch, i386_floatformat_for_type (struct gdbarch *gdbarch,
@ -2606,7 +2603,7 @@ diff --git a/gdb/p-valprint.c b/gdb/p-valprint.c
diff --git a/gdb/ppc-linux-nat.c b/gdb/ppc-linux-nat.c diff --git a/gdb/ppc-linux-nat.c b/gdb/ppc-linux-nat.c
--- a/gdb/ppc-linux-nat.c --- a/gdb/ppc-linux-nat.c
+++ b/gdb/ppc-linux-nat.c +++ b/gdb/ppc-linux-nat.c
@@ -1313,7 +1313,7 @@ ppc_linux_nat_target::can_use_hw_breakpoint (enum bptype type, int cnt, int ot) @@ -1308,7 +1308,7 @@ ppc_linux_nat_target::can_use_hw_breakpoint (enum bptype type, int cnt, int ot)
} }
int int
@ -2663,7 +2660,7 @@ diff --git a/gdb/procfs.c b/gdb/procfs.c
diff --git a/gdb/regcache.c b/gdb/regcache.c diff --git a/gdb/regcache.c b/gdb/regcache.c
--- a/gdb/regcache.c --- a/gdb/regcache.c
+++ b/gdb/regcache.c +++ b/gdb/regcache.c
@@ -846,7 +846,7 @@ regcache::cooked_write (int regnum, const gdb_byte *buf) @@ -781,7 +781,7 @@ regcache::cooked_write (int regnum, const gdb_byte *buf)
operation. */ operation. */
enum register_status enum register_status
@ -2672,7 +2669,7 @@ diff --git a/gdb/regcache.c b/gdb/regcache.c
bool is_raw) bool is_raw)
{ {
struct gdbarch *gdbarch = arch (); struct gdbarch *gdbarch = arch ();
@@ -875,7 +875,7 @@ readable_regcache::read_part (int regnum, int offset, int len, void *in, @@ -810,7 +810,7 @@ readable_regcache::read_part (int regnum, int offset, int len, void *in,
} }
enum register_status enum register_status
@ -2681,14 +2678,7 @@ diff --git a/gdb/regcache.c b/gdb/regcache.c
const void *out, bool is_raw) const void *out, bool is_raw)
{ {
struct gdbarch *gdbarch = arch (); struct gdbarch *gdbarch = arch ();
@@ -913,13 +913,14 @@ regcache::write_part (int regnum, int offset, int len, @@ -847,7 +847,8 @@ regcache::write_part (int regnum, int offset, int len,
enum register_status
regcache_raw_read_part (struct regcache *regcache, int regnum,
- int offset, int len, gdb_byte *buf)
+ int offset, LONGEST len, gdb_byte *buf)
{
return regcache->raw_read_part (regnum, offset, len, buf);
} }
enum register_status enum register_status
@ -2698,15 +2688,8 @@ diff --git a/gdb/regcache.c b/gdb/regcache.c
{ {
assert_regnum (regnum); assert_regnum (regnum);
return read_part (regnum, offset, len, buf, true); return read_part (regnum, offset, len, buf, true);
@@ -927,13 +928,13 @@ readable_regcache::raw_read_part (int regnum, int offset, int len, gdb_byte *buf @@ -856,7 +857,7 @@ readable_regcache::raw_read_part (int regnum, int offset, int len, gdb_byte *buf
/* See regcache.h. */
void
regcache_raw_write_part (struct regcache *regcache, int regnum,
- int offset, int len, const gdb_byte *buf)
+ int offset, LONGEST len, const gdb_byte *buf)
{
regcache->raw_write_part (regnum, offset, len, buf);
}
void void
-regcache::raw_write_part (int regnum, int offset, int len, -regcache::raw_write_part (int regnum, int offset, int len,
@ -2714,31 +2697,16 @@ diff --git a/gdb/regcache.c b/gdb/regcache.c
const gdb_byte *buf) const gdb_byte *buf)
{ {
assert_regnum (regnum); assert_regnum (regnum);
@@ -942,14 +943,14 @@ regcache::raw_write_part (int regnum, int offset, int len, @@ -864,7 +865,7 @@ regcache::raw_write_part (int regnum, int offset, int len,
enum register_status
regcache_cooked_read_part (struct regcache *regcache, int regnum,
- int offset, int len, gdb_byte *buf)
+ LONGEST offset, LONGEST len, gdb_byte *buf)
{
return regcache->cooked_read_part (regnum, offset, len, buf);
} }
enum register_status enum register_status
-readable_regcache::cooked_read_part (int regnum, int offset, int len, -readable_regcache::cooked_read_part (int regnum, int offset, int len,
+readable_regcache::cooked_read_part (int regnum, LONGEST offset, LONGEST len, +readable_regcache::cooked_read_part (int regnum, LONGEST offset, LONGEST len,
gdb_byte *buf) gdb_byte *buf)
{ {
gdb_assert (regnum >= 0 && regnum < m_descr->nr_cooked_registers); gdb_assert (regnum >= 0 && regnum < m_descr->nr_cooked_registers);
@@ -958,13 +959,13 @@ readable_regcache::cooked_read_part (int regnum, int offset, int len, @@ -872,7 +873,7 @@ readable_regcache::cooked_read_part (int regnum, int offset, int len,
void
regcache_cooked_write_part (struct regcache *regcache, int regnum,
- int offset, int len, const gdb_byte *buf)
+ LONGEST offset, LONGEST len, const gdb_byte *buf)
{
regcache->cooked_write_part (regnum, offset, len, buf);
} }
void void
@ -2750,53 +2718,28 @@ diff --git a/gdb/regcache.c b/gdb/regcache.c
diff --git a/gdb/regcache.h b/gdb/regcache.h diff --git a/gdb/regcache.h b/gdb/regcache.h
--- a/gdb/regcache.h --- a/gdb/regcache.h
+++ b/gdb/regcache.h +++ b/gdb/regcache.h
@@ -74,9 +74,9 @@ extern LONGEST regcache_raw_get_signed (struct regcache *regcache, @@ -200,8 +200,8 @@ public:
extern enum register_status
regcache_raw_read_part (struct regcache *regcache, int regnum,
- int offset, int len, gdb_byte *buf);
+ int offset, LONGEST len, gdb_byte *buf);
void regcache_raw_write_part (struct regcache *regcache, int regnum,
- int offset, int len, const gdb_byte *buf);
+ int offset, LONGEST len, const gdb_byte *buf);
void regcache_invalidate (struct regcache *regcache, int regnum);
@@ -113,10 +113,11 @@ extern void regcache_cooked_write_unsigned (struct regcache *regcache,
write style operations. */
enum register_status regcache_cooked_read_part (struct regcache *regcache,
- int regnum, int offset,
- int len, gdb_byte *buf);
+ int regnum, LONGEST offset,
+ LONGEST len, gdb_byte *buf);
void regcache_cooked_write_part (struct regcache *regcache, int regnum,
- int offset, int len, const gdb_byte *buf);
+ LONGEST offset, LONGEST len,
+ const gdb_byte *buf);
/* Special routines to read/write the PC. */
@@ -259,8 +260,8 @@ public:
template<typename T, typename = RequireLongest<T>>
enum register_status raw_read (int regnum, T *val); enum register_status raw_read (int regnum, T *val);
/* Partial transfer of raw registers. Return the status of the register. */
- enum register_status raw_read_part (int regnum, int offset, int len, - enum register_status raw_read_part (int regnum, int offset, int len,
- gdb_byte *buf); - gdb_byte *buf);
+ enum register_status raw_read_part (int regnum, int offset, + enum register_status raw_read_part (int regnum, int offset,
+ LONGEST len, gdb_byte *buf); + LONGEST len, gdb_byte *buf);
/* Make certain that the register REGNUM is up-to-date. */
virtual void raw_update (int regnum) = 0; virtual void raw_update (int regnum) = 0;
@@ -213,16 +213,16 @@ public:
@@ -268,14 +269,14 @@ public:
template<typename T, typename = RequireLongest<T>>
enum register_status cooked_read (int regnum, T *val); enum register_status cooked_read (int regnum, T *val);
/* Partial transfer of a cooked register. */
- enum register_status cooked_read_part (int regnum, int offset, int len, - enum register_status cooked_read_part (int regnum, int offset, int len,
- gdb_byte *buf); - gdb_byte *buf);
+ enum register_status cooked_read_part (int regnum, LONGEST offset, + enum register_status cooked_read_part (int regnum, LONGEST offset,
+ LONGEST len, gdb_byte *buf); + LONGEST len, gdb_byte *buf);
/* Read register REGNUM from the regcache and return a new value. This
will call mark_value_bytes_unavailable as appropriate. */
struct value *cooked_read_value (int regnum); struct value *cooked_read_value (int regnum);
protected: protected:
@ -2807,20 +2750,22 @@ diff --git a/gdb/regcache.h b/gdb/regcache.h
}; };
/* Buffer of registers, can be read and written. */ /* Buffer of registers, can be read and written. */
@@ -345,9 +346,10 @@ public: @@ -300,11 +300,12 @@ public:
void raw_collect_integer (int regnum, gdb_byte *addr, int addr_len,
bool is_signed) const;
/* Partial transfer of raw registers. Perform read, modify, write style
operations. */
- void raw_write_part (int regnum, int offset, int len, const gdb_byte *buf); - void raw_write_part (int regnum, int offset, int len, const gdb_byte *buf);
+ void raw_write_part (int regnum, int offset, LONGEST len, + void raw_write_part (int regnum, int offset, LONGEST len,
+ const gdb_byte *buf); + const gdb_byte *buf);
/* Partial transfer of a cooked register. Perform read, modify, write style
operations. */
- void cooked_write_part (int regnum, int offset, int len, - void cooked_write_part (int regnum, int offset, int len,
+ void cooked_write_part (int regnum, LONGEST offset, LONGEST len, + void cooked_write_part (int regnum, LONGEST offset, LONGEST len,
const gdb_byte *buf); const gdb_byte *buf);
void supply_regset (const struct regset *regset, void supply_regset (const struct regset *regset,
@@ -377,13 +379,12 @@ protected: @@ -338,13 +339,12 @@ protected:
static std::forward_list<regcache *> current_regcache; static std::forward_list<regcache *> current_regcache;
private: private:
@ -2847,7 +2792,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;
@@ -10552,7 +10552,7 @@ int remote_hw_watchpoint_length_limit = -1; @@ -10551,7 +10551,7 @@ int remote_hw_watchpoint_length_limit = -1;
int remote_hw_breakpoint_limit = -1; int remote_hw_breakpoint_limit = -1;
int int
@ -3167,7 +3112,7 @@ diff --git a/gdb/tracepoint.h b/gdb/tracepoint.h
diff --git a/gdb/valarith.c b/gdb/valarith.c diff --git a/gdb/valarith.c b/gdb/valarith.c
--- a/gdb/valarith.c --- a/gdb/valarith.c
+++ b/gdb/valarith.c +++ b/gdb/valarith.c
@@ -184,7 +184,7 @@ value_subscript (struct value *array, LONGEST index) @@ -182,7 +182,7 @@ value_subscript (struct value *array, LONGEST index)
to doubles, but no longer does. */ to doubles, but no longer does. */
struct value * struct value *
@ -3176,7 +3121,7 @@ diff --git a/gdb/valarith.c b/gdb/valarith.c
{ {
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));
@@ -661,7 +661,7 @@ value_concat (struct value *arg1, struct value *arg2) @@ -659,7 +659,7 @@ value_concat (struct value *arg1, struct value *arg2)
struct value *inval1; struct value *inval1;
struct value *inval2; struct value *inval2;
struct value *outval = NULL; struct value *outval = NULL;
@ -3185,7 +3130,7 @@ diff --git a/gdb/valarith.c b/gdb/valarith.c
int count, idx; int count, idx;
char inchar; char inchar;
struct type *type1 = check_typedef (value_type (arg1)); struct type *type1 = check_typedef (value_type (arg1));
@@ -1421,7 +1421,7 @@ value_binop (struct value *arg1, struct value *arg2, enum exp_opcode op) @@ -1419,7 +1419,7 @@ value_binop (struct value *arg1, struct value *arg2, enum exp_opcode op)
int int
value_logical_not (struct value *arg1) value_logical_not (struct value *arg1)
{ {
@ -3194,7 +3139,7 @@ diff --git a/gdb/valarith.c b/gdb/valarith.c
const gdb_byte *p; const gdb_byte *p;
struct type *type1; struct type *type1;
@@ -1449,11 +1449,11 @@ value_logical_not (struct value *arg1) @@ -1447,11 +1447,11 @@ value_logical_not (struct value *arg1)
static int static int
value_strcmp (struct value *arg1, struct value *arg2) value_strcmp (struct value *arg1, struct value *arg2)
{ {

View File

@ -113,7 +113,7 @@ diff --git a/gdb/p-valprint.c b/gdb/p-valprint.c
diff --git a/gdb/utils.c b/gdb/utils.c diff --git a/gdb/utils.c b/gdb/utils.c
--- a/gdb/utils.c --- a/gdb/utils.c
+++ b/gdb/utils.c +++ b/gdb/utils.c
@@ -2816,6 +2816,17 @@ string_to_core_addr (const char *my_string) @@ -2817,6 +2817,17 @@ string_to_core_addr (const char *my_string)
return addr; return addr;
} }

View File

@ -108,7 +108,7 @@ Content-Disposition: attachment; filename=bitpos-wp.patch
diff --git a/gdb/aarch64-linux-nat.c b/gdb/aarch64-linux-nat.c diff --git a/gdb/aarch64-linux-nat.c b/gdb/aarch64-linux-nat.c
--- a/gdb/aarch64-linux-nat.c --- a/gdb/aarch64-linux-nat.c
+++ b/gdb/aarch64-linux-nat.c +++ b/gdb/aarch64-linux-nat.c
@@ -62,14 +62,14 @@ public: @@ -63,14 +63,14 @@ public:
int can_use_hw_breakpoint (enum bptype, int, int) override; int can_use_hw_breakpoint (enum bptype, int, int) override;
int insert_hw_breakpoint (struct gdbarch *, struct bp_target_info *) override; int insert_hw_breakpoint (struct gdbarch *, struct bp_target_info *) override;
int remove_hw_breakpoint (struct gdbarch *, struct bp_target_info *) override; int remove_hw_breakpoint (struct gdbarch *, struct bp_target_info *) override;
@ -125,7 +125,7 @@ diff --git a/gdb/aarch64-linux-nat.c b/gdb/aarch64-linux-nat.c
int can_do_single_step () override; int can_do_single_step () override;
@@ -822,7 +822,8 @@ aarch64_linux_nat_target::stopped_by_watchpoint () @@ -819,7 +819,8 @@ aarch64_linux_nat_target::stopped_by_watchpoint ()
bool bool
aarch64_linux_nat_target::watchpoint_addr_within_range (CORE_ADDR addr, aarch64_linux_nat_target::watchpoint_addr_within_range (CORE_ADDR addr,
@ -156,7 +156,7 @@ diff --git a/gdb/arm-linux-nat.c b/gdb/arm-linux-nat.c
const struct target_desc *read_description () override; const struct target_desc *read_description () override;
@@ -1213,7 +1213,7 @@ arm_linux_nat_target::stopped_by_watchpoint () @@ -1207,7 +1207,7 @@ arm_linux_nat_target::stopped_by_watchpoint ()
bool bool
arm_linux_nat_target::watchpoint_addr_within_range (CORE_ADDR addr, arm_linux_nat_target::watchpoint_addr_within_range (CORE_ADDR addr,
CORE_ADDR start, CORE_ADDR start,
@ -301,7 +301,7 @@ diff --git a/gdb/ppc-linux-nat.c b/gdb/ppc-linux-nat.c
override; override;
int masked_watch_num_registers (CORE_ADDR, CORE_ADDR) override; int masked_watch_num_registers (CORE_ADDR, CORE_ADDR) override;
@@ -1664,11 +1664,11 @@ can_use_watchpoint_cond_accel (void) @@ -1659,11 +1659,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
@ -316,7 +316,7 @@ diff --git a/gdb/ppc-linux-nat.c b/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
@@ -1756,7 +1756,7 @@ num_memory_accesses (const std::vector<value_ref_ptr> &chain) @@ -1751,7 +1751,7 @@ num_memory_accesses (const std::vector<value_ref_ptr> &chain)
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,
@ -325,7 +325,7 @@ diff --git a/gdb/ppc-linux-nat.c b/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; struct value *left_val, *right_val;
@@ -1807,7 +1807,8 @@ check_condition (CORE_ADDR watch_addr, struct expression *cond, @@ -1802,7 +1802,8 @@ check_condition (CORE_ADDR watch_addr, struct expression *cond,
the condition expression, thus only triggering the watchpoint when it is the condition expression, thus only triggering the watchpoint when it is
true. */ true. */
bool bool
@ -335,7 +335,7 @@ diff --git a/gdb/ppc-linux-nat.c b/gdb/ppc-linux-nat.c
int rw, int rw,
struct expression *cond) struct expression *cond)
{ {
@@ -1825,7 +1826,7 @@ ppc_linux_nat_target::can_accel_watchpoint_condition (CORE_ADDR addr, int len, @@ -1820,7 +1821,7 @@ ppc_linux_nat_target::can_accel_watchpoint_condition (CORE_ADDR addr, int len,
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,
@ -344,7 +344,7 @@ diff --git a/gdb/ppc-linux-nat.c b/gdb/ppc-linux-nat.c
struct expression *cond, int insert) struct expression *cond, int insert)
{ {
if (len == 1 if (len == 1
@@ -2091,7 +2092,7 @@ ppc_linux_nat_target::stopped_by_watchpoint () @@ -2086,7 +2087,7 @@ ppc_linux_nat_target::stopped_by_watchpoint ()
bool bool
ppc_linux_nat_target::watchpoint_addr_within_range (CORE_ADDR addr, ppc_linux_nat_target::watchpoint_addr_within_range (CORE_ADDR addr,
CORE_ADDR start, CORE_ADDR start,
@ -386,7 +386,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;
@@ -10481,7 +10481,7 @@ remote_target::insert_watchpoint (CORE_ADDR addr, int len, @@ -10480,7 +10480,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);
@ -395,7 +395,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);
@@ -10501,7 +10501,7 @@ remote_target::insert_watchpoint (CORE_ADDR addr, int len, @@ -10500,7 +10500,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,
@ -404,7 +404,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);
@@ -10530,7 +10530,7 @@ remote_target::remove_watchpoint (CORE_ADDR addr, int len, @@ -10529,7 +10529,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

@ -194,7 +194,7 @@ diff --git a/gdb/alpha-tdep.c b/gdb/alpha-tdep.c
diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c
--- a/gdb/amd64-tdep.c --- a/gdb/amd64-tdep.c
+++ b/gdb/amd64-tdep.c +++ b/gdb/amd64-tdep.c
@@ -882,8 +882,8 @@ amd64_push_arguments (struct regcache *regcache, int nargs, @@ -878,8 +878,8 @@ amd64_push_arguments (struct regcache *regcache, int nargs,
}; };
struct value **stack_args = XALLOCAVEC (struct value *, nargs); struct value **stack_args = XALLOCAVEC (struct value *, nargs);
int num_stack_args = 0; int num_stack_args = 0;
@ -205,7 +205,7 @@ diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c
int integer_reg = 0; int integer_reg = 0;
int sse_reg = 0; int sse_reg = 0;
int i; int i;
@@ -895,7 +895,7 @@ amd64_push_arguments (struct regcache *regcache, int nargs, @@ -891,7 +891,7 @@ amd64_push_arguments (struct regcache *regcache, int nargs,
for (i = 0; i < nargs; i++) for (i = 0; i < nargs; i++)
{ {
struct type *type = value_type (args[i]); struct type *type = value_type (args[i]);
@ -214,13 +214,13 @@ diff --git a/gdb/amd64-tdep.c b/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;
@@ -959,7 +959,7 @@ amd64_push_arguments (struct regcache *regcache, int nargs, @@ -955,7 +955,7 @@ amd64_push_arguments (struct regcache *regcache, int nargs,
gdb_assert (regnum != -1); gdb_assert (regnum != -1);
memset (buf, 0, sizeof buf); memset (buf, 0, sizeof buf);
- memcpy (buf, valbuf + j * 8, std::min (len, 8)); - memcpy (buf, valbuf + j * 8, std::min (len, 8));
+ memcpy (buf, valbuf + j * 8, std::min (len, (LONGEST) 8)); + memcpy (buf, valbuf + j * 8, std::min (len, (LONGEST) 8));
regcache_raw_write_part (regcache, regnum, offset, 8, buf); regcache->raw_write_part (regnum, offset, 8, buf);
} }
} }
diff --git a/gdb/amd64-windows-tdep.c b/gdb/amd64-windows-tdep.c diff --git a/gdb/amd64-windows-tdep.c b/gdb/amd64-windows-tdep.c
@ -439,7 +439,7 @@ diff --git a/gdb/h8300-tdep.c b/gdb/h8300-tdep.c
diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c
--- a/gdb/hppa-tdep.c --- a/gdb/hppa-tdep.c
+++ b/gdb/hppa-tdep.c +++ b/gdb/hppa-tdep.c
@@ -986,7 +986,7 @@ hppa64_push_dummy_call (struct gdbarch *gdbarch, struct value *function, @@ -984,7 +984,7 @@ hppa64_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
{ {
struct value *arg = args[i]; struct value *arg = args[i];
struct type *type = value_type (arg); struct type *type = value_type (arg);
@ -448,7 +448,7 @@ diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c
const bfd_byte *valbuf; const bfd_byte *valbuf;
bfd_byte fptrbuf[8]; bfd_byte fptrbuf[8];
int regnum; int regnum;
@@ -1181,7 +1181,7 @@ hppa64_return_value (struct gdbarch *gdbarch, struct value *function, @@ -1177,7 +1177,7 @@ hppa64_return_value (struct gdbarch *gdbarch, struct value *function,
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)
{ {
@ -508,7 +508,7 @@ diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
gdb_assert (code == TYPE_CODE_STRUCT gdb_assert (code == TYPE_CODE_STRUCT
|| code == TYPE_CODE_UNION || code == TYPE_CODE_UNION
@@ -3727,7 +3727,7 @@ static int @@ -3703,7 +3703,7 @@ static int
i386_convert_register_p (struct gdbarch *gdbarch, i386_convert_register_p (struct gdbarch *gdbarch,
int regnum, struct type *type) int regnum, struct type *type)
{ {
@ -517,7 +517,7 @@ diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
/* Values may be spread across multiple registers. Most debugging /* Values may be spread across multiple registers. Most debugging
formats aren't expressive enough to specify the locations, so formats aren't expressive enough to specify the locations, so
@@ -3760,7 +3760,7 @@ i386_register_to_value (struct frame_info *frame, int regnum, @@ -3736,7 +3736,7 @@ i386_register_to_value (struct frame_info *frame, int regnum,
int *optimizedp, int *unavailablep) int *optimizedp, int *unavailablep)
{ {
struct gdbarch *gdbarch = get_frame_arch (frame); struct gdbarch *gdbarch = get_frame_arch (frame);
@ -526,7 +526,7 @@ diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
if (i386_fp_regnum_p (gdbarch, regnum)) if (i386_fp_regnum_p (gdbarch, regnum))
return i387_register_to_value (frame, regnum, type, to, return i387_register_to_value (frame, regnum, type, to,
@@ -3796,7 +3796,7 @@ static void @@ -3772,7 +3772,7 @@ static void
i386_value_to_register (struct frame_info *frame, int regnum, i386_value_to_register (struct frame_info *frame, int regnum,
struct type *type, const gdb_byte *from) struct type *type, const gdb_byte *from)
{ {
@ -565,7 +565,7 @@ diff --git a/gdb/m32r-tdep.c b/gdb/m32r-tdep.c
diff --git a/gdb/m68k-tdep.c b/gdb/m68k-tdep.c diff --git a/gdb/m68k-tdep.c b/gdb/m68k-tdep.c
--- a/gdb/m68k-tdep.c --- a/gdb/m68k-tdep.c
+++ b/gdb/m68k-tdep.c +++ b/gdb/m68k-tdep.c
@@ -373,7 +373,7 @@ m68k_reg_struct_return_p (struct gdbarch *gdbarch, struct type *type) @@ -372,7 +372,7 @@ m68k_reg_struct_return_p (struct gdbarch *gdbarch, struct type *type)
{ {
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch); struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
enum type_code code = TYPE_CODE (type); enum type_code code = TYPE_CODE (type);
@ -574,7 +574,7 @@ diff --git a/gdb/m68k-tdep.c b/gdb/m68k-tdep.c
gdb_assert (code == TYPE_CODE_STRUCT || code == TYPE_CODE_UNION gdb_assert (code == TYPE_CODE_STRUCT || code == TYPE_CODE_UNION
|| code == TYPE_CODE_COMPLEX); || code == TYPE_CODE_COMPLEX);
@@ -505,9 +505,9 @@ m68k_push_dummy_call (struct gdbarch *gdbarch, struct value *function, @@ -504,9 +504,9 @@ m68k_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
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]);
@ -590,7 +590,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
@@ -2241,7 +2241,7 @@ push_large_arguments (CORE_ADDR sp, int argc, struct value **argv, @@ -2239,7 +2239,7 @@ push_large_arguments (CORE_ADDR sp, int argc, struct value **argv,
for (i = 0; i < argc; i++) for (i = 0; i < argc; i++)
{ {
@ -622,7 +622,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;
@@ -4533,13 +4533,13 @@ mips_eabi_push_dummy_call (struct gdbarch *gdbarch, struct value *function, @@ -4531,13 +4531,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));
@ -639,7 +639,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. */
@@ -4809,7 +4809,7 @@ mips_eabi_return_value (struct gdbarch *gdbarch, struct value *function, @@ -4807,7 +4807,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,
@ -648,7 +648,7 @@ diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c
{ {
int i; int i;
@@ -4824,7 +4824,7 @@ mips_n32n64_fp_arg_chunk_p (struct gdbarch *gdbarch, struct type *arg_type, @@ -4822,7 +4822,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++)
{ {
@ -657,7 +657,7 @@ 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. */
@@ -4866,7 +4866,7 @@ mips_n32n64_push_dummy_call (struct gdbarch *gdbarch, struct value *function, @@ -4864,7 +4864,7 @@ 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;
@ -666,7 +666,7 @@ diff --git a/gdb/mips-tdep.c b/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);
@@ -5217,11 +5217,11 @@ mips_n32n64_return_value (struct gdbarch *gdbarch, struct value *function, @@ -5215,11 +5215,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)
{ {
@ -682,7 +682,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
@@ -5263,8 +5263,8 @@ mips_n32n64_return_value (struct gdbarch *gdbarch, struct value *function, @@ -5261,8 +5261,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)
@ -693,7 +693,7 @@ 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,
@@ -5322,7 +5322,7 @@ mips_o32_push_dummy_call (struct gdbarch *gdbarch, struct value *function, @@ -5320,7 +5320,7 @@ 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;
@ -702,7 +702,7 @@ diff --git a/gdb/mips-tdep.c b/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);
@@ -5386,13 +5386,13 @@ mips_o32_push_dummy_call (struct gdbarch *gdbarch, struct value *function, @@ -5384,13 +5384,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));
@ -719,7 +719,7 @@ diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c
val = value_contents (arg); val = value_contents (arg);
@@ -5846,8 +5846,8 @@ mips_o64_push_dummy_call (struct gdbarch *gdbarch, struct value *function, @@ -5844,8 +5844,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;
@ -730,7 +730,7 @@ diff --git a/gdb/mips-tdep.c b/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);
@@ -5907,13 +5907,13 @@ mips_o64_push_dummy_call (struct gdbarch *gdbarch, struct value *function, @@ -5905,13 +5905,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));
@ -750,7 +750,7 @@ diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c
diff --git a/gdb/mn10300-tdep.c b/gdb/mn10300-tdep.c diff --git a/gdb/mn10300-tdep.c b/gdb/mn10300-tdep.c
--- a/gdb/mn10300-tdep.c --- a/gdb/mn10300-tdep.c
+++ b/gdb/mn10300-tdep.c +++ b/gdb/mn10300-tdep.c
@@ -1198,7 +1198,7 @@ mn10300_push_dummy_call (struct gdbarch *gdbarch, @@ -1197,7 +1197,7 @@ mn10300_push_dummy_call (struct gdbarch *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;
@ -792,7 +792,7 @@ diff --git a/gdb/ppc-sysv-tdep.c b/gdb/ppc-sysv-tdep.c
const bfd_byte *val = value_contents (arg); const bfd_byte *val = value_contents (arg);
if (TYPE_CODE (type) == TYPE_CODE_FLT && len <= 8 if (TYPE_CODE (type) == TYPE_CODE_FLT && len <= 8
@@ -1285,11 +1285,11 @@ struct ppc64_sysv_argpos @@ -1246,11 +1246,11 @@ struct ppc64_sysv_argpos
static void static void
ppc64_sysv_abi_push_val (struct gdbarch *gdbarch, ppc64_sysv_abi_push_val (struct gdbarch *gdbarch,
@ -806,16 +806,16 @@ diff --git a/gdb/ppc-sysv-tdep.c b/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)
@@ -1327,7 +1327,7 @@ ppc64_sysv_abi_push_val (struct gdbarch *gdbarch, @@ -1287,7 +1287,7 @@ ppc64_sysv_abi_push_val (struct gdbarch *gdbarch,
{
if (argpos->regcache && argpos->greg <= 10) if (argpos->regcache && argpos->greg <= 10)
regcache_cooked_write_part (argpos->regcache, argpos->regcache->cooked_write_part
tdep->ppc_gp0_regnum + argpos->greg, - (tdep->ppc_gp0_regnum + argpos->greg, offset, len, val);
- offset, len, val); + (tdep->ppc_gp0_regnum + argpos->greg, offset, (LONGEST) len, val);
+ offset, (LONGEST) len, val);
argpos->greg++; argpos->greg++;
} }
} }
@@ -1386,7 +1386,7 @@ ppc64_sysv_abi_push_freg (struct gdbarch *gdbarch, @@ -1346,7 +1346,7 @@ ppc64_sysv_abi_push_freg (struct gdbarch *gdbarch,
if (argpos->regcache && argpos->freg <= 13) if (argpos->regcache && argpos->freg <= 13)
{ {
int regnum = tdep->ppc_fp0_regnum + argpos->freg; int regnum = tdep->ppc_fp0_regnum + argpos->freg;
@ -824,7 +824,7 @@ diff --git a/gdb/ppc-sysv-tdep.c b/gdb/ppc-sysv-tdep.c
if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG) if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
offset = 8 - TYPE_LENGTH (type); offset = 8 - TYPE_LENGTH (type);
@@ -1836,7 +1836,7 @@ ppc64_sysv_abi_return_value_base (struct gdbarch *gdbarch, struct type *valtype, @@ -1795,7 +1795,7 @@ ppc64_sysv_abi_return_value_base (struct gdbarch *gdbarch, struct type *valtype,
&& TYPE_CODE (valtype) == TYPE_CODE_DECFLOAT) && TYPE_CODE (valtype) == TYPE_CODE_DECFLOAT)
{ {
int regnum = tdep->ppc_fp0_regnum + 1 + index; int regnum = tdep->ppc_fp0_regnum + 1 + index;
@ -833,7 +833,7 @@ diff --git a/gdb/ppc-sysv-tdep.c b/gdb/ppc-sysv-tdep.c
if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG) if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
offset = 8 - TYPE_LENGTH (valtype); offset = 8 - TYPE_LENGTH (valtype);
@@ -1912,7 +1912,7 @@ ppc64_sysv_abi_return_value_base (struct gdbarch *gdbarch, struct type *valtype, @@ -1871,7 +1871,7 @@ ppc64_sysv_abi_return_value_base (struct gdbarch *gdbarch, struct type *valtype,
&& TYPE_CODE (valtype) == TYPE_CODE_ARRAY && TYPE_VECTOR (valtype)) && TYPE_CODE (valtype) == TYPE_CODE_ARRAY && TYPE_VECTOR (valtype))
{ {
int regnum = tdep->ppc_gp0_regnum + 3 + index; int regnum = tdep->ppc_gp0_regnum + 3 + index;
@ -842,7 +842,7 @@ diff --git a/gdb/ppc-sysv-tdep.c b/gdb/ppc-sysv-tdep.c
if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG) if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
offset = 8 - TYPE_LENGTH (valtype); offset = 8 - TYPE_LENGTH (valtype);
@@ -2020,7 +2020,8 @@ ppc64_sysv_abi_return_value (struct gdbarch *gdbarch, struct value *function, @@ -1979,7 +1979,8 @@ ppc64_sysv_abi_return_value (struct gdbarch *gdbarch, struct value *function,
&& TYPE_LENGTH (TYPE_TARGET_TYPE (valtype)) == 1) && TYPE_LENGTH (TYPE_TARGET_TYPE (valtype)) == 1)
{ {
int regnum = tdep->ppc_gp0_regnum + 3; int regnum = tdep->ppc_gp0_regnum + 3;
@ -851,7 +851,7 @@ diff --git a/gdb/ppc-sysv-tdep.c b/gdb/ppc-sysv-tdep.c
+ = (register_size (gdbarch, regnum) - TYPE_LENGTH (valtype)); + = (register_size (gdbarch, regnum) - TYPE_LENGTH (valtype));
if (writebuf != NULL) if (writebuf != NULL)
regcache_cooked_write_part (regcache, regnum, regcache->cooked_write_part (regnum, offset, TYPE_LENGTH (valtype),
diff --git a/gdb/rl78-tdep.c b/gdb/rl78-tdep.c diff --git a/gdb/rl78-tdep.c b/gdb/rl78-tdep.c
--- a/gdb/rl78-tdep.c --- a/gdb/rl78-tdep.c
+++ b/gdb/rl78-tdep.c +++ b/gdb/rl78-tdep.c
@ -881,7 +881,7 @@ diff --git a/gdb/rs6000-aix-tdep.c b/gdb/rs6000-aix-tdep.c
gdb_byte tmp_buffer[50]; gdb_byte tmp_buffer[50];
int f_argno = 0; /* current floating point argno */ int f_argno = 0; /* current floating point argno */
int wordsize = gdbarch_tdep (gdbarch)->wordsize; int wordsize = gdbarch_tdep (gdbarch)->wordsize;
@@ -309,7 +309,7 @@ ran_out_of_registers_for_arguments: @@ -307,7 +307,7 @@ ran_out_of_registers_for_arguments:
if ((argno < nargs) || argbytes) if ((argno < nargs) || argbytes)
{ {
@ -1024,7 +1024,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
@@ -883,7 +883,7 @@ tic6x_push_dummy_call (struct gdbarch *gdbarch, struct value *function, @@ -881,7 +881,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;
@ -1033,7 +1033,7 @@ diff --git a/gdb/tic6x-tdep.c b/gdb/tic6x-tdep.c
CORE_ADDR func_addr = find_function_addr (function, NULL); CORE_ADDR func_addr = find_function_addr (function, NULL);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
struct type *func_type = value_type (function); struct type *func_type = value_type (function);
@@ -917,7 +917,7 @@ tic6x_push_dummy_call (struct gdbarch *gdbarch, struct value *function, @@ -915,7 +915,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++)
{ {
@ -1042,7 +1042,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;
@@ -936,7 +936,7 @@ tic6x_push_dummy_call (struct gdbarch *gdbarch, struct value *function, @@ -934,7 +934,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));
@ -1051,7 +1051,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);
@@ -1096,7 +1096,8 @@ tic6x_push_dummy_call (struct gdbarch *gdbarch, struct value *function, @@ -1090,7 +1090,8 @@ tic6x_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
} }
else else
internal_error (__FILE__, __LINE__, internal_error (__FILE__, __LINE__,
@ -1133,7 +1133,7 @@ diff --git a/gdb/xstormy16-tdep.c b/gdb/xstormy16-tdep.c
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
@@ -1627,8 +1627,7 @@ xtensa_store_return_value (struct type *type, @@ -1626,8 +1626,7 @@ xtensa_store_return_value (struct type *type,
if (len > (callsize > 8 ? 8 : 16)) if (len > (callsize > 8 ? 8 : 16))
internal_error (__FILE__, __LINE__, internal_error (__FILE__, __LINE__,
@ -1143,7 +1143,7 @@ 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);
@@ -1702,18 +1701,18 @@ xtensa_push_dummy_call (struct gdbarch *gdbarch, @@ -1701,18 +1700,18 @@ xtensa_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 i; int i;
@ -1165,7 +1165,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;
}; };
@@ -1737,9 +1736,10 @@ xtensa_push_dummy_call (struct gdbarch *gdbarch, @@ -1736,9 +1735,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));
@ -1179,7 +1179,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:
@@ -1809,8 +1809,8 @@ xtensa_push_dummy_call (struct gdbarch *gdbarch, @@ -1808,8 +1808,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;
} }
@ -1189,7 +1189,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);
@@ -1855,7 +1855,7 @@ xtensa_push_dummy_call (struct gdbarch *gdbarch, @@ -1854,7 +1854,7 @@ xtensa_push_dummy_call (struct gdbarch *gdbarch,
if (info->onstack) if (info->onstack)
{ {
@ -1198,7 +1198,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
@@ -1871,7 +1871,7 @@ xtensa_push_dummy_call (struct gdbarch *gdbarch, @@ -1870,7 +1870,7 @@ xtensa_push_dummy_call (struct gdbarch *gdbarch,
} }
else else
{ {

View File

@ -110,7 +110,7 @@ diff --git a/gdb/f-typeprint.c b/gdb/f-typeprint.c
int index; int index;
QUIT; QUIT;
@@ -365,7 +365,7 @@ f_type_print_base (struct type *type, struct ui_file *stream, int show, @@ -370,7 +370,7 @@ f_type_print_base (struct type *type, struct ui_file *stream, int show,
else else
{ {
upper_bound = f77_get_upperbound (type); upper_bound = f77_get_upperbound (type);

View File

@ -145,7 +145,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
@@ -17552,7 +17552,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) @@ -17541,7 +17541,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;
@ -154,7 +154,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;
@@ -17572,7 +17572,9 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) @@ -17561,7 +17561,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;
@ -164,7 +164,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. */
@@ -17605,6 +17607,14 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) @@ -17594,6 +17596,14 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
break; break;
} }
@ -179,7 +179,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);
@@ -17682,7 +17692,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) @@ -17671,7 +17681,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;
@ -896,7 +896,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
else if (bit_stride > 0) else if (bit_stride > 0)
TYPE_LENGTH (result_type) = TYPE_LENGTH (result_type) =
(bit_stride * (high_bound - low_bound + 1) + 7) / 8; (bit_stride * (high_bound - low_bound + 1) + 7) / 8;
@@ -1996,12 +2006,12 @@ resolve_dynamic_range (struct type *dyn_range_type, @@ -1981,12 +1991,12 @@ resolve_dynamic_range (struct type *dyn_range_type,
CORE_ADDR value; CORE_ADDR value;
struct type *static_range_type, *static_target_type; struct type *static_range_type, *static_target_type;
const struct dynamic_prop *prop; const struct dynamic_prop *prop;
@ -911,7 +911,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
{ {
low_bound.kind = PROP_CONST; low_bound.kind = PROP_CONST;
low_bound.data.const_val = value; low_bound.data.const_val = value;
@@ -2013,7 +2023,7 @@ resolve_dynamic_range (struct type *dyn_range_type, @@ -1998,7 +2008,7 @@ resolve_dynamic_range (struct type *dyn_range_type,
} }
prop = &TYPE_RANGE_DATA (dyn_range_type)->high; prop = &TYPE_RANGE_DATA (dyn_range_type)->high;
@ -920,7 +920,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
{ {
high_bound.kind = PROP_CONST; high_bound.kind = PROP_CONST;
high_bound.data.const_val = value; high_bound.data.const_val = value;
@@ -2028,12 +2038,20 @@ resolve_dynamic_range (struct type *dyn_range_type, @@ -2013,12 +2023,20 @@ resolve_dynamic_range (struct type *dyn_range_type,
high_bound.data.const_val = 0; high_bound.data.const_val = 0;
} }
@ -956,7 +956,7 @@ diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
/* True if HIGH range bound contains the number of elements in the /* True if HIGH range bound contains the number of elements in the
subrange. This affects how the final hight bound is computed. */ subrange. This affects how the final hight bound is computed. */
@@ -790,7 +794,6 @@ struct main_type @@ -776,7 +780,6 @@ struct main_type
/* * Union member used for range types. */ /* * Union member used for range types. */
struct range_bounds *bounds; struct range_bounds *bounds;
@ -964,7 +964,7 @@ diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
} flds_bnds; } flds_bnds;
/* * Slot to point to additional language-specific fields of this /* * Slot to point to additional language-specific fields of this
@@ -1344,6 +1347,15 @@ extern bool set_type_align (struct type *, ULONGEST); @@ -1329,6 +1332,15 @@ extern bool set_type_align (struct type *, ULONGEST);
TYPE_RANGE_DATA(range_type)->high.kind TYPE_RANGE_DATA(range_type)->high.kind
#define TYPE_LOW_BOUND_KIND(range_type) \ #define TYPE_LOW_BOUND_KIND(range_type) \
TYPE_RANGE_DATA(range_type)->low.kind TYPE_RANGE_DATA(range_type)->low.kind
@ -980,7 +980,7 @@ diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
/* Property accessors for the type data location. */ /* Property accessors for the type data location. */
#define TYPE_DATA_LOCATION(thistype) \ #define TYPE_DATA_LOCATION(thistype) \
@@ -1378,6 +1390,9 @@ extern bool set_type_align (struct type *, ULONGEST); @@ -1363,6 +1375,9 @@ extern bool set_type_align (struct type *, ULONGEST);
TYPE_HIGH_BOUND_UNDEFINED(TYPE_INDEX_TYPE(arraytype)) TYPE_HIGH_BOUND_UNDEFINED(TYPE_INDEX_TYPE(arraytype))
#define TYPE_ARRAY_LOWER_BOUND_IS_UNDEFINED(arraytype) \ #define TYPE_ARRAY_LOWER_BOUND_IS_UNDEFINED(arraytype) \
TYPE_LOW_BOUND_UNDEFINED(TYPE_INDEX_TYPE(arraytype)) TYPE_LOW_BOUND_UNDEFINED(TYPE_INDEX_TYPE(arraytype))
@ -990,7 +990,7 @@ diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
#define TYPE_ARRAY_UPPER_BOUND_VALUE(arraytype) \ #define TYPE_ARRAY_UPPER_BOUND_VALUE(arraytype) \
(TYPE_HIGH_BOUND(TYPE_INDEX_TYPE((arraytype)))) (TYPE_HIGH_BOUND(TYPE_INDEX_TYPE((arraytype))))
@@ -1909,6 +1924,7 @@ extern struct type *create_array_type_with_stride @@ -1892,6 +1907,7 @@ extern struct type *create_array_type_with_stride
struct dynamic_prop *, unsigned int); struct dynamic_prop *, unsigned int);
extern struct type *create_range_type (struct type *, struct type *, extern struct type *create_range_type (struct type *, struct type *,
@ -1080,7 +1080,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
@@ -1106,13 +1106,11 @@ rust_range (struct expression *exp, int *pos, enum noside noside) @@ -1105,13 +1105,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;
@ -1097,7 +1097,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);
@@ -1201,7 +1199,7 @@ rust_compute_range (struct type *type, struct value *range, @@ -1200,7 +1198,7 @@ rust_compute_range (struct type *type, struct value *range,
*low = 0; *low = 0;
*high = 0; *high = 0;
@ -1106,7 +1106,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;
@@ -1209,15 +1207,14 @@ rust_compute_range (struct type *type, struct value *range, @@ -1208,15 +1206,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)
{ {
@ -1124,7 +1124,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))
@@ -1235,7 +1232,7 @@ rust_subscript (struct expression *exp, int *pos, enum noside noside, @@ -1234,7 +1231,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. */
@ -1133,7 +1133,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;
@@ -1333,7 +1330,7 @@ rust_subscript (struct expression *exp, int *pos, enum noside noside, @@ -1332,7 +1329,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
@ -1142,7 +1142,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"));
@@ -1351,7 +1348,7 @@ rust_subscript (struct expression *exp, int *pos, enum noside noside, @@ -1350,7 +1347,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;
@ -1763,7 +1763,7 @@ diff --git a/gdb/testsuite/gdb.fortran/vla.f90 b/gdb/testsuite/gdb.fortran/vla.f
diff --git a/gdb/valarith.c b/gdb/valarith.c diff --git a/gdb/valarith.c b/gdb/valarith.c
--- a/gdb/valarith.c --- a/gdb/valarith.c
+++ b/gdb/valarith.c +++ b/gdb/valarith.c
@@ -189,10 +189,16 @@ value_subscripted_rvalue (struct value *array, LONGEST index, int lowerbound) @@ -187,10 +187,16 @@ value_subscripted_rvalue (struct value *array, LONGEST index, int lowerbound)
struct type *array_type = check_typedef (value_type (array)); struct type *array_type = check_typedef (value_type (array));
struct type *elt_type = check_typedef (TYPE_TARGET_TYPE (array_type)); struct type *elt_type = check_typedef (TYPE_TARGET_TYPE (array_type));
ULONGEST elt_size = type_length_units (elt_type); ULONGEST elt_size = type_length_units (elt_type);

View File

@ -35,7 +35,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
@@ -59,6 +59,8 @@ SH-5/SH64 running OpenBSD SH-5/SH64 support in sh*-*-openbsd* @@ -73,6 +73,8 @@ SH-5/SH64 running OpenBSD SH-5/SH64 support in sh*-*-openbsd*
*** Changes in GDB 8.1 *** Changes in GDB 8.1
@ -89,7 +89,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
/* memory allocation interface */ /* memory allocation interface */
@@ -13640,7 +13641,7 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu) @@ -13639,7 +13640,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);
@ -98,7 +98,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
} }
cu->list_in_scope = &local_symbols; cu->list_in_scope = &local_symbols;
@@ -16311,7 +16312,8 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu) @@ -16304,7 +16305,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));
@ -108,7 +108,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 "
@@ -17076,29 +17078,90 @@ read_tag_string_type (struct die_info *die, struct dwarf2_cu *cu) @@ -17065,29 +17067,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;
@ -210,7 +210,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);
@@ -17446,7 +17509,8 @@ read_base_type (struct die_info *die, struct dwarf2_cu *cu) @@ -17435,7 +17498,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,
@ -220,7 +220,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
@@ -17457,14 +17521,33 @@ attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die, @@ -17446,14 +17510,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))
{ {
@ -258,7 +258,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))
{ {
@@ -17497,8 +17580,28 @@ attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die, @@ -17486,8 +17569,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;
@ -289,7 +289,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);
@@ -17609,7 +17712,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) @@ -17598,7 +17701,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)
@ -298,7 +298,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),
@@ -17617,7 +17720,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) @@ -17606,7 +17709,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)
@ -307,7 +307,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]"),
@@ -17625,10 +17728,10 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu) @@ -17614,10 +17717,10 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
objfile_name (cu->per_cu->dwarf2_per_objfile->objfile)); objfile_name (cu->per_cu->dwarf2_per_objfile->objfile));
attr = dwarf2_attr (die, DW_AT_upper_bound, cu); attr = dwarf2_attr (die, DW_AT_upper_bound, cu);
@ -320,7 +320,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)
@@ -25129,7 +25232,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu) @@ -25118,7 +25221,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))
{ {
@ -329,7 +329,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)
@@ -25143,7 +25246,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu) @@ -25132,7 +25235,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))
{ {
@ -338,7 +338,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)
@@ -25155,7 +25258,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu) @@ -25144,7 +25247,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);
@ -490,7 +490,7 @@ diff --git a/gdb/f-typeprint.c b/gdb/f-typeprint.c
if (passed_a_ptr) if (passed_a_ptr)
fprintf_filtered (stream, ")"); fprintf_filtered (stream, ")");
@@ -383,7 +388,7 @@ f_type_print_base (struct type *type, struct ui_file *stream, int show, @@ -388,7 +393,7 @@ f_type_print_base (struct type *type, struct ui_file *stream, int show,
fputs_filtered (" :: ", stream); fputs_filtered (" :: ", stream);
fputs_filtered (TYPE_FIELD_NAME (type, index), stream); fputs_filtered (TYPE_FIELD_NAME (type, index), stream);
f_type_print_varspec_suffix (TYPE_FIELD_TYPE (type, index), f_type_print_varspec_suffix (TYPE_FIELD_TYPE (type, index),
@ -502,7 +502,7 @@ diff --git a/gdb/f-typeprint.c b/gdb/f-typeprint.c
diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
--- a/gdb/gdbtypes.c --- a/gdb/gdbtypes.c
+++ b/gdb/gdbtypes.c +++ b/gdb/gdbtypes.c
@@ -1919,7 +1919,8 @@ is_dynamic_type_internal (struct type *type, int top_level) @@ -1904,7 +1904,8 @@ is_dynamic_type_internal (struct type *type, int top_level)
type = check_typedef (type); type = check_typedef (type);
/* We only want to recognize references at the outermost level. */ /* We only want to recognize references at the outermost level. */
@ -512,7 +512,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
type = check_typedef (TYPE_TARGET_TYPE (type)); type = check_typedef (TYPE_TARGET_TYPE (type));
/* Types that have a dynamic TYPE_DATA_LOCATION are considered /* Types that have a dynamic TYPE_DATA_LOCATION are considered
@@ -1953,6 +1954,7 @@ is_dynamic_type_internal (struct type *type, int top_level) @@ -1938,6 +1939,7 @@ is_dynamic_type_internal (struct type *type, int top_level)
} }
case TYPE_CODE_ARRAY: case TYPE_CODE_ARRAY:
@ -520,7 +520,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
{ {
gdb_assert (TYPE_NFIELDS (type) == 1); gdb_assert (TYPE_NFIELDS (type) == 1);
@@ -2071,7 +2073,8 @@ resolve_dynamic_array (struct type *type, @@ -2056,7 +2058,8 @@ resolve_dynamic_array (struct type *type,
struct dynamic_prop *prop; struct dynamic_prop *prop;
unsigned int bit_stride = 0; unsigned int bit_stride = 0;
@ -530,7 +530,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
type = copy_type (type); type = copy_type (type);
@@ -2096,11 +2099,15 @@ resolve_dynamic_array (struct type *type, @@ -2081,11 +2084,15 @@ resolve_dynamic_array (struct type *type,
ary_dim = check_typedef (TYPE_TARGET_TYPE (elt_type)); ary_dim = check_typedef (TYPE_TARGET_TYPE (elt_type));
@ -547,7 +547,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
prop = get_dyn_prop (DYN_PROP_BYTE_STRIDE, type); prop = get_dyn_prop (DYN_PROP_BYTE_STRIDE, type);
if (prop != NULL) if (prop != NULL)
{ {
@@ -2255,6 +2262,28 @@ resolve_dynamic_struct (struct type *type, @@ -2240,6 +2247,28 @@ resolve_dynamic_struct (struct type *type,
return resolved_type; return resolved_type;
} }
@ -576,7 +576,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
/* Worker for resolved_dynamic_type. */ /* Worker for resolved_dynamic_type. */
static struct type * static struct type *
@@ -2303,7 +2332,12 @@ resolve_dynamic_type_internal (struct type *type, @@ -2288,7 +2317,12 @@ resolve_dynamic_type_internal (struct type *type,
break; break;
} }

View File

@ -103,7 +103,7 @@ diff --git a/gdb/amd64-nat.c b/gdb/amd64-nat.c
if (regnum == -1 || regnum == i) if (regnum == -1 || regnum == i)
memset (regs + amd64_native_gregset_reg_offset (gdbarch, i), 0, 8); memset (regs + amd64_native_gregset_reg_offset (gdbarch, i), 0, 8);
@@ -163,4 +163,20 @@ amd64_collect_native_gregset (const struct regcache *regcache, @@ -163,4 +163,20 @@ amd64_collect_native_gregset (const struct regcache *regcache,
regcache_raw_collect (regcache, i, regs + offset); regcache->raw_collect (i, regs + offset);
} }
} }
+ +

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 20180529 %global snapsrc 20180605
# 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.1.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: 16%{?dist} Release: 17%{?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
@ -1026,6 +1026,9 @@ then
fi fi
%changelog %changelog
* Tue Jun 5 2018 Sergio Durigan Junior <sergiodj@redhat.com> - 8.1.50.20180605-17.fc29
- Rebase to FSF GDB 8.1.50.20180605 (8.2pre).
* Sat Jun 2 2018 Sergio Durigan Junior <sergiodj@redhat.com> - 8.1.50.20180522-16.fc29 * Sat Jun 2 2018 Sergio Durigan Junior <sergiodj@redhat.com> - 8.1.50.20180522-16.fc29
- Rebase to FSF GDB 8.1.50.20180529 (8.2pre). - Rebase to FSF GDB 8.1.50.20180529 (8.2pre).

View File

@ -1,3 +1,3 @@
SHA512 (gdb-libstdc++-v3-python-7.1.1-20170526.tar.xz) = 3d540b99581ffa4cf2810bec979c9a01a1f8ce782b7c8efb46b40dd2421d60cdb0e52b53c5477c3e86a57957a2a14489f5c29dc53868738a1ef79e79cf76d0a1 SHA512 (gdb-libstdc++-v3-python-7.1.1-20170526.tar.xz) = 3d540b99581ffa4cf2810bec979c9a01a1f8ce782b7c8efb46b40dd2421d60cdb0e52b53c5477c3e86a57957a2a14489f5c29dc53868738a1ef79e79cf76d0a1
SHA512 (v1.6.1.tar.gz) = c7c9c8ba78021fff3fde12a216f5729c6031114e5a727f49b7ff1a31c53b5ddba24d1b3aee252d8278ecd1fafe78a44ed059c12b9eb29eca33093e0720673468 SHA512 (v1.6.1.tar.gz) = c7c9c8ba78021fff3fde12a216f5729c6031114e5a727f49b7ff1a31c53b5ddba24d1b3aee252d8278ecd1fafe78a44ed059c12b9eb29eca33093e0720673468
SHA512 (gdb-8.1.50.20180529.tar.xz) = 93e2272eacf890c5ad99f7a04f8e24df8300a064730781adadcc65441e8a73fb1668d962628d3cbc10e6c91d8efe1bda211aa83ebd135667c502369339a963a7 SHA512 (gdb-8.1.50.20180605.tar.xz) = cadfc5d9c28a227c29fe3a30cfe0c5bee4ac4c7daf2c383d2bbc0b121ce7190eafc153358ba98b1d48b16c1ff30393ae90ef449a76dd2c574989e34acb193351