public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Sergio Durigan Junior <sergiodj@redhat.com>
To: git-commits@fedoraproject.org
Subject: [rpms/gdb] gdb-17.2-rebase-f44: Rebase to FSF GDB 8.1.50.20180605 (8.2pre).
Date: Sat, 27 Jun 2026 23:58:39 GMT	[thread overview]
Message-ID: <178260471937.1.8525868895390575433.rpms-gdb-c9daf934972b@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/gdb
Branch : gdb-17.2-rebase-f44
Commit : c9daf934972b13c561ed03111680a32129f30337
Author : Sergio Durigan Junior <sergiodj@redhat.com>
Date   : 2018-06-05T15:25:07-04:00
Stats  : +206/-258 in 25 file(s)
URL    : https://src.fedoraproject.org/rpms/gdb/c/c9daf934972b13c561ed03111680a32129f30337?branch=gdb-17.2-rebase-f44

Log:
Rebase to FSF GDB 8.1.50.20180605 (8.2pre).

---
diff --git a/.gitignore b/.gitignore
index c26b5d5..1e1d158 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,3 @@
 /gdb-libstdc++-v3-python-7.1.1-20170526.tar.xz
 /v1.6.1.tar.gz
-/gdb-8.1.50.20180529.tar.xz
+/gdb-8.1.50.20180605.tar.xz

diff --git a/_git_upstream_commit b/_git_upstream_commit
index 688cd57..efee1b2 100644
--- a/_git_upstream_commit
+++ b/_git_upstream_commit
@@ -1 +1 @@
-b8283aea9e599f17dbae7f52223994e3a9168143
+54d343a24019367e85bb2e90966f2da483868637

diff --git a/gdb-6.3-gstack-20050411.patch b/gdb-6.3-gstack-20050411.patch
index 43f5647..4253c75 100644
--- a/gdb-6.3-gstack-20050411.patch
+++ b/gdb-6.3-gstack-20050411.patch
@@ -18,7 +18,7 @@ FileName: gdb-6.3-gstack-20050411.patch
 diff --git a/gdb/Makefile.in b/gdb/Makefile.in
 --- a/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
  	@$(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)'; \
  			  echo gdb | sed -e "$$t"` ; \
  		if test "x$$transformed_name" = x; then \
-@@ -1778,7 +1778,25 @@ install-guile:
+@@ -1780,7 +1780,25 @@ install-guile:
  install-python:
  	$(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)'; \
  			  echo gdb | sed -e $$t` ; \
  		if test "x$$transformed_name" = x; then \
-@@ -1801,6 +1819,18 @@ uninstall: force $(CONFIG_UNINSTALL)
+@@ -1803,6 +1821,18 @@ uninstall: force $(CONFIG_UNINSTALL)
  	fi
  	@$(MAKE) DO=uninstall "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do
  

diff --git a/gdb-6.5-bz216711-clone-is-outermost.patch b/gdb-6.5-bz216711-clone-is-outermost.patch
index 2bcf613..9e2429d 100644
--- a/gdb-6.5-bz216711-clone-is-outermost.patch
+++ b/gdb-6.5-bz216711-clone-is-outermost.patch
@@ -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
 --- a/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 =
      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)
      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)
      return UNWIND_OUTERMOST;
  
@@ -148,7 +148,7 @@ diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c
    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 =
      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)
      (*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.  */
        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
 --- a/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;
  

diff --git a/gdb-6.6-buildid-locate.patch b/gdb-6.6-buildid-locate.patch
index bac6e2c..0fe8ac2 100644
--- a/gdb-6.6-buildid-locate.patch
+++ b/gdb-6.6-buildid-locate.patch
@@ -1024,7 +1024,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
 diff --git a/gdb/elfread.c b/gdb/elfread.c
 --- a/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_backlink == NULL)
      {
@@ -1035,7 +1035,7 @@ diff --git a/gdb/elfread.c b/gdb/elfread.c
  
        if (debugfile.empty ())
  	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 (),
  				    symfile_flags, objfile);
  	}

diff --git a/gdb-6.8-sparc64-silence-memcpy-check.patch b/gdb-6.8-sparc64-silence-memcpy-check.patch
index 22994b3..c379a69 100644
--- a/gdb-6.8-sparc64-silence-memcpy-check.patch
+++ b/gdb-6.8-sparc64-silence-memcpy-check.patch
@@ -17,5 +17,5 @@ diff --git a/gdb/sparc-tdep.c b/gdb/sparc-tdep.c
        /* Floating return values.  */
 +      len = (len <= 8) ? len : 8;
        memcpy (buf, valbuf, len);
-       regcache_cooked_write (regcache, SPARC_F0_REGNUM, buf);
+       regcache->cooked_write (SPARC_F0_REGNUM, buf);
        if (len > 4)

diff --git a/gdb-archer-pie-addons-keep-disabled.patch b/gdb-archer-pie-addons-keep-disabled.patch
index 123238d..5e29ccc 100644
--- a/gdb-archer-pie-addons-keep-disabled.patch
+++ b/gdb-archer-pie-addons-keep-disabled.patch
@@ -10,7 +10,7 @@ FileName: gdb-archer-pie-addons-keep-disabled.patch
 diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
 --- a/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;
  

diff --git a/gdb-archer-pie-addons.patch b/gdb-archer-pie-addons.patch
index eddce02..ac36f51 100644
--- a/gdb-archer-pie-addons.patch
+++ b/gdb-archer-pie-addons.patch
@@ -26,7 +26,7 @@ diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
    CORE_ADDR physaddr;
    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(thisfld) (FIELD_ENUMVAL_LVAL (thisfld) + 0)
  #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_DWARF_BLOCK(thisfld) ((thisfld).loc.dwarf_block)
  #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)			\
    (FIELD_LOC_KIND (thisfld) = FIELD_LOC_KIND_PHYSNAME,		\
     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)			\
    (FIELD_LOC_KIND (thisfld) = FIELD_LOC_KIND_PHYSADDR,		\
     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_ENUMVAL(thistype, n) FIELD_ENUMVAL (TYPE_FIELD (thistype, n))
  #define TYPE_FIELD_STATIC_PHYSNAME(thistype, n) FIELD_STATIC_PHYSNAME (TYPE_FIELD (thistype, n))

diff --git a/gdb-archer.patch b/gdb-archer.patch
index bfdcfe3..237ede6 100644
--- a/gdb-archer.patch
+++ b/gdb-archer.patch
@@ -19,7 +19,7 @@ tromey/python
 diff --git a/gdb/Makefile.in b/gdb/Makefile.in
 --- a/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= \
  	  $(SHELL) config.status
  
@@ -29,7 +29,7 @@ diff --git a/gdb/Makefile.in b/gdb/Makefile.in
 +	  CONFIG_HEADERS= \
 +	  $(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
  
 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
 --- a/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
  
  };
  

diff --git a/gdb-attach-fail-reasons-5of5.patch b/gdb-attach-fail-reasons-5of5.patch
index e2726aa..d8fa568 100644
--- a/gdb-attach-fail-reasons-5of5.patch
+++ b/gdb-attach-fail-reasons-5of5.patch
@@ -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
 --- a/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,
  	      (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
 --- a/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 void linux_ptrace_init_warnings (void);

diff --git a/gdb-bz541866-rwatch-before-run.patch b/gdb-bz541866-rwatch-before-run.patch
index d45c42d..d02beb3 100644
--- a/gdb-bz541866-rwatch-before-run.patch
+++ b/gdb-bz541866-rwatch-before-run.patch
@@ -12,7 +12,7 @@ FileName: gdb-bz541866-rwatch-before-run.patch
 diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
 --- a/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 display_canonical)
  {
@@ -21,7 +21,7 @@ diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
  
    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)
      {
@@ -99,7 +99,7 @@ new file mode 100644
 diff --git a/gdb/configure.nat b/gdb/configure.nat
 --- a/gdb/configure.nat
 +++ b/gdb/configure.nat
-@@ -237,6 +237,7 @@ case ${gdb_host} in
+@@ -238,6 +238,7 @@ case ${gdb_host} in
  		;;
  	    i386)
  		# 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 \
  		i386-linux-nat.o x86-linux-nat.o linux-btrace.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
  	    i386)
  		# Host: GNU/Linux x86-64

diff --git a/gdb-container-rh-pkg.patch b/gdb-container-rh-pkg.patch
index f24f66c..3c9e772 100644
--- a/gdb-container-rh-pkg.patch
+++ b/gdb-container-rh-pkg.patch
@@ -11,7 +11,7 @@ FileName: gdb-container-rh-pkg.patch
 diff --git a/gdb/remote.c b/gdb/remote.c
 --- a/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;
  
    if (packet_support (PACKET_qXfer_exec_file) != PACKET_ENABLE)

diff --git a/gdb-glibc-strstr-workaround.patch b/gdb-glibc-strstr-workaround.patch
index a1243d9..95dcca6 100644
--- a/gdb-glibc-strstr-workaround.patch
+++ b/gdb-glibc-strstr-workaround.patch
@@ -11,7 +11,7 @@ FileName: gdb-glibc-strstr-workaround.patch
 diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
 --- a/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).  */
        SYMBOL_SET_LANGUAGE (sym, cu->language, &objfile->objfile_obstack);
        linkagename = dwarf2_physname (name, die, cu);

diff --git a/gdb-gnat-dwarf-crash-3of3.patch b/gdb-gnat-dwarf-crash-3of3.patch
index 01cc642..5eb2f97 100644
--- a/gdb-gnat-dwarf-crash-3of3.patch
+++ b/gdb-gnat-dwarf-crash-3of3.patch
@@ -44,7 +44,7 @@ gdb/
 diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
 --- a/gdb/dwarf2read.c
 +++ b/gdb/dwarf2read.c
-@@ -10491,6 +10491,13 @@ private:
+@@ -10489,6 +10489,13 @@ private:
  static void
  process_die (struct die_info *die, struct dwarf2_cu *cu)
  {

diff --git a/gdb-moribund-utrace-workaround.patch b/gdb-moribund-utrace-workaround.patch
index 4b88926..7e0b0fd 100644
--- a/gdb-moribund-utrace-workaround.patch
+++ b/gdb-moribund-utrace-workaround.patch
@@ -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
 --- a/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.  */
  
  	      old_loc->events_till_retirement = 3 * (thread_count () + 1);

diff --git a/gdb-rhbz795424-bitpos-20of25.patch b/gdb-rhbz795424-bitpos-20of25.patch
index 61316a1..ddf3eef 100644
--- a/gdb-rhbz795424-bitpos-20of25.patch
+++ b/gdb-rhbz795424-bitpos-20of25.patch
@@ -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
 --- a/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.  */
  
  int
@@ -686,7 +686,7 @@ diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
  
    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
        || 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 =
          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)
  {
    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);
    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,
                                       CORE_ADDR address)
  {
@@ -713,7 +713,7 @@ diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
    struct type *tag_type;
  
    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.  */
  
  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 *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)
      {
@@ -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);
  
        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.  */
  
  static int
@@ -743,7 +743,7 @@ diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
  		   int *index_p)
  {
    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)
      {
@@ -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);
  
        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.  */
  
  static struct value *
@@ -763,7 +763,7 @@ diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
                           struct type *type)
  {
    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;
            struct type *field_type = ada_check_typedef (TYPE_FIELD_TYPE (type,
  									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)
              {
-@@ -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;
  }
  
@@ -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
-@@ -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.  */
  
  static struct value *
@@ -792,7 +792,7 @@ diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
  			struct type *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.  */
  
  static struct value *
@@ -801,7 +801,7 @@ diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
  			  struct type *type)
  {
    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);
    else
      {
@@ -811,7 +811,7 @@ diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
        struct type *field_type;
        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
     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);
  }
-@@ -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 *dval;
    struct type *rtype;
@@ -835,7 +835,7 @@ diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
    int f;
  
    /* 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.  */
  	  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_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_NAME (rtype))
@@ -860,7 +860,7 @@ diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
      }
    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
  	 bitsize of the array elements needs to be set again, and the array
  	 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 *);
  
  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 *,
  						     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
 --- a/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)
  {
    enum amd64_reg_class theclass[2];
@@ -1083,20 +1083,17 @@ diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c
    static int integer_regnum[] = { AMD64_RAX_REGNUM, AMD64_RDX_REGNUM };
    static int sse_regnum[] = { AMD64_XMM0_REGNUM, AMD64_XMM1_REGNUM };
    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);
  
-+      LONGEST nlen = len < 8 ? len : 8;
-+
        if (readbuf)
--	regcache_raw_read_part (regcache, regnum, offset, std::min (len, 8),
-+	regcache_raw_read_part (regcache, regnum, offset, nlen,
- 				readbuf + i * 8);
+-	regcache->raw_read_part (regnum, offset, std::min (len, 8),
++	regcache->raw_read_part (regnum, offset, std::min (len, (LONGEST) 8),
+ 				 readbuf + i * 8);
        if (writebuf)
--	regcache_raw_write_part (regcache, regnum, offset, std::min (len, 8),
-+	regcache_raw_write_part (regcache, regnum, offset, nlen,
- 				 writebuf + i * 8);
+-	regcache->raw_write_part (regnum, offset, std::min (len, 8),
++	regcache->raw_write_part (regnum, offset, std::min (len, (LONGEST) 8),
+ 				  writebuf + i * 8);
      }
  
 diff --git a/gdb/annotate.c b/gdb/annotate.c
@@ -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
 --- a/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 
     ADDR?  */
  int
@@ -1316,7 +1313,7 @@ diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
  	}
        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
  breakpoint_address_match_range (const address_space *aspace1,
  				CORE_ADDR addr1,
@@ -1325,7 +1322,7 @@ diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
  				CORE_ADDR addr2)
  {
    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))
  		{
  		  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
 --- a/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 *);
  
  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 value *,
  			 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,
  			struct type *elttype,
  			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
 --- a/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));
  
@@ -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
-@@ -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,
  							stream,
  							flags);
@@ -1679,7 +1676,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
  }
  
  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
  	         the field itself.  The result is the bit offset of
  	         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
 --- a/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 **
@@ -1932,7 +1929,7 @@ diff --git a/gdb/gdbarch.sh b/gdb/gdbarch.sh
 diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
 --- a/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.  */
  
  struct type *
@@ -1941,7 +1938,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
  	   const char *name)
  {
    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
  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)
  {
    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)
      {
        struct type *iter;
@@ -1961,7 +1958,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
  
        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
  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,
  				    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;
      }
    puts_filtered ("\n");
@@ -1979,7 +1976,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
    if (TYPE_OBJFILE_OWNED (type))
      {
        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 *
  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
 --- a/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
       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.  */
  
-@@ -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.  */
  
@@ -2009,7 +2006,7 @@ diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
  			       const char *);
  extern struct type *init_integer_type (struct objfile *, int, int,
  				       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 *);
  
  /* 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
 --- a/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 **
  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
 --- a/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
@@ -2663,7 +2660,7 @@ diff --git a/gdb/procfs.c b/gdb/procfs.c
 diff --git a/gdb/regcache.c b/gdb/regcache.c
 --- a/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.  */
  
  enum register_status
@@ -2672,7 +2669,7 @@ diff --git a/gdb/regcache.c b/gdb/regcache.c
  			      bool is_raw)
  {
    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
@@ -2681,14 +2678,7 @@ diff --git a/gdb/regcache.c b/gdb/regcache.c
  		     const void *out, bool is_raw)
  {
    struct gdbarch *gdbarch = arch ();
-@@ -913,13 +913,14 @@ 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);
+@@ -847,7 +847,8 @@ regcache::write_part (int regnum, int offset, int len,
  }
  
  enum register_status
@@ -2698,15 +2688,8 @@ diff --git a/gdb/regcache.c b/gdb/regcache.c
  {
    assert_regnum (regnum);
    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
- 
- 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);
- }
+@@ -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 (int regnum, int offset, int len,
@@ -2714,31 +2697,16 @@ diff --git a/gdb/regcache.c b/gdb/regcache.c
  			  const gdb_byte *buf)
  {
    assert_regnum (regnum);
-@@ -942,14 +943,14 @@ 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);
+@@ -864,7 +865,7 @@ regcache::raw_write_part (int regnum, int offset, int len,
  }
  
- 
  enum register_status
 -readable_regcache::cooked_read_part (int regnum, int offset, int len,
 +readable_regcache::cooked_read_part (int regnum, LONGEST offset, LONGEST len,
  				     gdb_byte *buf)
  {
    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,
- 
- 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);
+@@ -872,7 +873,7 @@ readable_regcache::cooked_read_part (int regnum, int offset, int len,
  }
  
  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
 --- a/gdb/regcache.h
 +++ b/gdb/regcache.h
-@@ -74,9 +74,9 @@ extern LONGEST regcache_raw_get_signed (struct regcache *regcache,
- 
- 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>>
+@@ -200,8 +200,8 @@ public:
    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,
 -				      gdb_byte *buf);
 +  enum register_status raw_read_part (int regnum, int offset,
 +				      LONGEST len, gdb_byte *buf);
  
+   /* Make certain that the register REGNUM is up-to-date.  */
    virtual void raw_update (int regnum) = 0;
- 
-@@ -268,14 +269,14 @@ public:
-   template<typename T, typename = RequireLongest<T>>
+@@ -213,16 +213,16 @@ public:
    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,
 -					 gdb_byte *buf);
 +  enum register_status cooked_read_part (int regnum, LONGEST offset,
 +					 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);
  
  protected:
@@ -2807,20 +2750,22 @@ diff --git a/gdb/regcache.h b/gdb/regcache.h
  };
  
  /* Buffer of registers, can be read and written.  */
-@@ -345,9 +346,10 @@ public:
-   void raw_collect_integer (int regnum, gdb_byte *addr, int addr_len,
- 			    bool is_signed) const;
+@@ -300,11 +300,12 @@ public:
  
+   /* 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, LONGEST len,
 +		       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, LONGEST offset, LONGEST len,
  			  const gdb_byte *buf);
  
    void supply_regset (const struct regset *regset,
-@@ -377,13 +379,12 @@ protected:
+@@ -338,13 +339,12 @@ protected:
    static std::forward_list<regcache *> current_regcache;
  
  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,
  			 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
@@ -3167,7 +3112,7 @@ diff --git a/gdb/tracepoint.h b/gdb/tracepoint.h
 diff --git a/gdb/valarith.c b/gdb/valarith.c
 --- a/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.  */
  
  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 *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 *inval2;
    struct value *outval = NULL;
@@ -3185,7 +3130,7 @@ diff --git a/gdb/valarith.c b/gdb/valarith.c
    int count, idx;
    char inchar;
    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
  value_logical_not (struct value *arg1)
  {
@@ -3194,7 +3139,7 @@ diff --git a/gdb/valarith.c b/gdb/valarith.c
    const gdb_byte *p;
    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
  value_strcmp (struct value *arg1, struct value *arg2)
  {

diff --git a/gdb-rhbz795424-bitpos-21of25.patch b/gdb-rhbz795424-bitpos-21of25.patch
index 3737747..ea4a17c 100644
--- a/gdb-rhbz795424-bitpos-21of25.patch
+++ b/gdb-rhbz795424-bitpos-21of25.patch
@@ -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
 --- a/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;
  }
  

diff --git a/gdb-rhbz795424-bitpos-22of25.patch b/gdb-rhbz795424-bitpos-22of25.patch
index 98a8613..f5c1398 100644
--- a/gdb-rhbz795424-bitpos-22of25.patch
+++ b/gdb-rhbz795424-bitpos-22of25.patch
@@ -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
 --- a/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 insert_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;
  
-@@ -822,7 +822,8 @@ aarch64_linux_nat_target::stopped_by_watchpoint ()
+@@ -819,7 +819,8 @@ aarch64_linux_nat_target::stopped_by_watchpoint ()
  
  bool
  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;
  
-@@ -1213,7 +1213,7 @@ arm_linux_nat_target::stopped_by_watchpoint ()
+@@ -1207,7 +1207,7 @@ arm_linux_nat_target::stopped_by_watchpoint ()
  bool
  arm_linux_nat_target::watchpoint_addr_within_range (CORE_ADDR addr,
  						    CORE_ADDR start,
@@ -301,7 +301,7 @@ diff --git a/gdb/ppc-linux-nat.c b/gdb/ppc-linux-nat.c
      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
     DVC register.  */
  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;
  
    /* 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.  */
  static int
  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;
    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
     true.  */
  bool
@@ -335,7 +335,7 @@ diff --git a/gdb/ppc-linux-nat.c b/gdb/ppc-linux-nat.c
  						      int rw,
  						      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
  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)
  {
    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
  ppc_linux_nat_target::watchpoint_addr_within_range (CORE_ADDR addr,
  						    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;
  
-@@ -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');
    addr = remote_address_masked (addr);
    p += hexnumstr (p, (ULONGEST) addr);
@@ -395,7 +395,7 @@ diff --git a/gdb/remote.c b/gdb/remote.c
  
    putpkt (rs->buf);
    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
  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);
  
-@@ -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');
    addr = remote_address_masked (addr);
    p += hexnumstr (p, (ULONGEST) addr);

diff --git a/gdb-rhbz795424-bitpos-23of25.patch b/gdb-rhbz795424-bitpos-23of25.patch
index da0641a..1012677 100644
--- a/gdb-rhbz795424-bitpos-23of25.patch
+++ b/gdb-rhbz795424-bitpos-23of25.patch
@@ -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
 --- a/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);
    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 sse_reg = 0;
    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++)
      {
        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];
        int needed_integer_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);
  	      memset (buf, 0, sizeof buf);
 -	      memcpy (buf, valbuf + j * 8, std::min (len, 8));
 +	      memcpy (buf, valbuf + j * 8, std::min (len, (LONGEST) 8));
- 	      regcache_raw_write_part (regcache, regnum, offset, 8, buf);
+ 	      regcache->raw_write_part (regnum, offset, 8, buf);
  	    }
  	}
 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
 --- a/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 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;
        bfd_byte fptrbuf[8];
        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,
  		     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
                || code == TYPE_CODE_UNION
-@@ -3727,7 +3727,7 @@ static int
+@@ -3703,7 +3703,7 @@ static int
  i386_convert_register_p (struct gdbarch *gdbarch,
  			 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
       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)
  {
    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))
      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,
  			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
 --- a/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);
    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
  	      || 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--)
      {
        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
 --- a/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++)
      {
@@ -622,7 +622,7 @@ diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c
    if (mips_debug && out != NULL)
      {
        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];
        struct value *arg = args[argnum];
        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
           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
  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;
  
-@@ -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++)
      {
@@ -657,7 +657,7 @@ diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c
        struct type *field_type;
  
        /* 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 float_argreg;
    int argnum;
@@ -666,7 +666,7 @@ diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c
    int stack_offset = 0;
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
    CORE_ADDR func_addr = find_function_addr (function, NULL);
-@@ -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);
  	   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)
  	    {
  	      /* 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))
  	    xfer = TYPE_LENGTH (type) - offset;
  	  if (mips_debug)
@@ -693,7 +693,7 @@ diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c
  	  mips_xfer_register (gdbarch, regcache,
  			      gdbarch_num_regs (gdbarch) + regnum,
  			      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 float_argreg;
    int argnum;
@@ -702,7 +702,7 @@ diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c
    int stack_offset = 0;
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
    CORE_ADDR func_addr = find_function_addr (function, NULL);
-@@ -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;
        struct value *arg = args[argnum];
        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);
  
-@@ -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 float_argreg;
    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);
    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;
        struct value *arg = args[argnum];
        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
 --- a/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);
    const int push_size = register_size (gdbarch, E_PC_REGNUM);
    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);
  
  	  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
  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.  */
    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)
- 	regcache_cooked_write_part (argpos->regcache,
- 				    tdep->ppc_gp0_regnum + argpos->greg,
--				    offset, len, val);
-+				    offset, (LONGEST) len, val);
+ 	argpos->regcache->cooked_write_part
+-	  (tdep->ppc_gp0_regnum + argpos->greg, offset, len, val);
++	  (tdep->ppc_gp0_regnum + argpos->greg, offset, (LONGEST) len, val);
        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)
  	{
  	  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)
  	    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)
      {
        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)
  	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))
      {
        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)
  	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)
      {
        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));
  
        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
 --- a/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];
    int f_argno = 0;		/* current floating point argno */
    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)
      {
@@ -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
 --- a/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 argnum;
    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);
    enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
    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.  */
    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)
  	references_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;
        struct value *arg = args[argnum];
        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);
  
        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
  	    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
 --- a/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))
  	internal_error (__FILE__, __LINE__,
@@ -1143,7 +1143,7 @@ diff --git a/gdb/xtensa-tdep.c b/gdb/xtensa-tdep.c
        areg = arreg_number (gdbarch,
  			   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);
    int i;
@@ -1165,7 +1165,7 @@ diff --git a/gdb/xtensa-tdep.c b/gdb/xtensa-tdep.c
        int regno;		/* regno if in register.  */
      } 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 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))
  	    {
  	    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);
  	  break;
  	}
@@ -1189,7 +1189,7 @@ diff --git a/gdb/xtensa-tdep.c b/gdb/xtensa-tdep.c
  
        /* Align size and onstack_size.  */
        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)
  	{
@@ -1198,7 +1198,7 @@ diff --git a/gdb/xtensa-tdep.c b/gdb/xtensa-tdep.c
  	  CORE_ADDR offset = sp + info->u.offset;
  
  	  /* 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
  	{

diff --git a/gdb-rhbz795424-bitpos-25of25.patch b/gdb-rhbz795424-bitpos-25of25.patch
index 7ebd094..be3e9cf 100644
--- a/gdb-rhbz795424-bitpos-25of25.patch
+++ b/gdb-rhbz795424-bitpos-25of25.patch
@@ -110,7 +110,7 @@ diff --git a/gdb/f-typeprint.c b/gdb/f-typeprint.c
    int index;
  
    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
  	{
  	  upper_bound = f77_get_upperbound (type);

diff --git a/gdb-vla-intel-fortran-strides.patch b/gdb-vla-intel-fortran-strides.patch
index cbbd9fe..f5e54fe 100644
--- a/gdb-vla-intel-fortran-strides.patch
+++ b/gdb-vla-intel-fortran-strides.patch
@@ -145,7 +145,7 @@ diff --git a/gdb/dwarf2loc.h b/gdb/dwarf2loc.h
 diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
 --- a/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 *range_type;
    struct attribute *attr;
@@ -154,7 +154,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
    int low_default_is_valid;
    int high_bound_is_count = 0;
    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;
    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
       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;
      }
  
@@ -179,7 +179,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
    attr = dwarf2_attr (die, DW_AT_lower_bound, cu);
    if (attr)
      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))
      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)
  	TYPE_LENGTH (result_type) =
  	  (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;
    struct type *static_range_type, *static_target_type;
    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.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;
@@ -920,7 +920,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
      {
        high_bound.kind = PROP_CONST;
        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;
      }
  
@@ -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
       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.  */
  
      struct range_bounds *bounds;
@@ -964,7 +964,7 @@ diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
    } flds_bnds;
  
    /* * 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
  #define TYPE_LOW_BOUND_KIND(range_type) \
    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.  */
  #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))
  #define TYPE_ARRAY_LOWER_BOUND_IS_UNDEFINED(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) \
     (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);
  
  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
 --- a/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);
    *pos += 3;
  
@@ -1097,7 +1097,7 @@ diff --git a/gdb/rust-lang.c b/gdb/rust-lang.c
  
    if (noside == EVAL_SKIP)
      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;
    *high = 0;
@@ -1106,7 +1106,7 @@ diff --git a/gdb/rust-lang.c b/gdb/rust-lang.c
  
    if (TYPE_NFIELDS (type) == 0)
      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;
    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));
  
        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;
    LONGEST low, high_bound;
    /* Initialized to appease the compiler.  */
@@ -1133,7 +1133,7 @@ diff --git a/gdb/rust-lang.c b/gdb/rust-lang.c
    LONGEST high = 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"));
  
        if (want_slice
@@ -1142,7 +1142,7 @@ diff --git a/gdb/rust-lang.c b/gdb/rust-lang.c
  	low = low_bound;
        if (low < 0)
  	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;
  	  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
 --- a/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 *elt_type = check_typedef (TYPE_TARGET_TYPE (array_type));
    ULONGEST elt_size = type_length_units (elt_type);

diff --git a/gdb-vla-intel-fortran-vla-strings.patch b/gdb-vla-intel-fortran-vla-strings.patch
index 6588c1a..96d4545 100644
--- a/gdb-vla-intel-fortran-vla-strings.patch
+++ b/gdb-vla-intel-fortran-vla-strings.patch
@@ -35,7 +35,7 @@ git diff --stat -p gdb/master...gdb/users/bheckel/fortran-vla-strings
 diff --git a/gdb/NEWS b/gdb/NEWS
 --- a/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
  
@@ -89,7 +89,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
  
  /* 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
  	= 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;
-@@ -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
  	= (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)
  	{
  	  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 type *type, *range_type, *index_type, *char_type;
    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);
    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
  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 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))
      {
@@ -258,7 +258,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
      }
    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->referenced_type = die_type (target_die, target_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->kind = PROP_LOCEXPR;
  		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);
    if (attr)
@@ -298,7 +298,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
          complaint (_("Missing DW_AT_byte_stride "
  		     "- DIE at 0x%s [in module %s]"),
  		   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);
    if (attr)
@@ -307,7 +307,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
    else if (!low_default_is_valid)
      complaint (_("Missing DW_AT_lower_bound "
  				      "- 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));
  
    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 (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);
    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);
      }
    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);
    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);
      }
    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.  */
    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)
  	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 (TYPE_FIELD_NAME (type, index), stream);
  	      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
 --- a/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);
  
    /* 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));
  
    /* 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:
@@ -520,7 +520,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
        {
  	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;
    unsigned int bit_stride = 0;
  
@@ -530,7 +530,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
  
    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));
  
@@ -547,7 +547,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
    prop = get_dyn_prop (DYN_PROP_BYTE_STRIDE, type);
    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;
  }
  
@@ -576,7 +576,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
  /* Worker for resolved_dynamic_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;
  	  }
  

diff --git a/gdb-x86_64-i386-syscall-restart.patch b/gdb-x86_64-i386-syscall-restart.patch
index 4b1c096..f8b3e5a 100644
--- a/gdb-x86_64-i386-syscall-restart.patch
+++ b/gdb-x86_64-i386-syscall-restart.patch
@@ -103,7 +103,7 @@ diff --git a/gdb/amd64-nat.c b/gdb/amd64-nat.c
  	  if (regnum == -1 || regnum == i)
  	    memset (regs + amd64_native_gregset_reg_offset (gdbarch, i), 0, 8);
 @@ -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);
  	}
      }
 +

diff --git a/gdb.spec b/gdb.spec
index b8b0d8c..d98a473 100644
--- a/gdb.spec
+++ b/gdb.spec
@@ -18,7 +18,7 @@
 Name: %{?scl_prefix}gdb
 
 # Freeze it when GDB gets branched
-%global snapsrc    20180529
+%global snapsrc    20180605
 # See timestamp of source gnulib installed into gdb/gnulib/ .
 %global snapgnulib 20161115
 %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.
 # `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
 Group: Development/Debuggers
@@ -1026,6 +1026,9 @@ then
 fi
 
 %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
 - Rebase to FSF GDB 8.1.50.20180529 (8.2pre).
 

diff --git a/sources b/sources
index 68212fa..1f485dd 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
 SHA512 (gdb-libstdc++-v3-python-7.1.1-20170526.tar.xz) = 3d540b99581ffa4cf2810bec979c9a01a1f8ce782b7c8efb46b40dd2421d60cdb0e52b53c5477c3e86a57957a2a14489f5c29dc53868738a1ef79e79cf76d0a1
 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

                 reply	other threads:[~2026-06-27 23:58 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178260471937.1.8525868895390575433.rpms-gdb-c9daf934972b@fedoraproject.org \
    --to=sergiodj@redhat.com \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox