public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/gdb] gdb-17.2-rebase-f44: Rebase to FSF GDB 8.3.50.20190802 (8.4pre).
@ 2026-06-27 23:59 Sergio Durigan Junior
  0 siblings, 0 replies; only message in thread
From: Sergio Durigan Junior @ 2026-06-27 23:59 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/gdb
Branch : gdb-17.2-rebase-f44
Commit : f7760f831c6dc28f58ba0b8ce8086b7b1ef27443
Author : Sergio Durigan Junior <sergiodj@redhat.com>
Date   : 2019-08-02T19:25:51-04:00
Stats  : +186/-352 in 25 file(s)
URL    : https://src.fedoraproject.org/rpms/gdb/c/f7760f831c6dc28f58ba0b8ce8086b7b1ef27443?branch=gdb-17.2-rebase-f44

Log:
Rebase to FSF GDB 8.3.50.20190802 (8.4pre).

---
diff --git a/.gitignore b/.gitignore
index a76a605..f251f23 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,3 @@
 /gdb-libstdc++-v3-python-8.1.1-20180626.tar.xz
 /v2.0.tar.gz
-/gdb-8.3.50.20190702.tar.xz
+/gdb-8.3.50.20190802.tar.xz

diff --git a/_git_upstream_commit b/_git_upstream_commit
index d7a0f98..a94b831 100644
--- a/_git_upstream_commit
+++ b/_git_upstream_commit
@@ -1 +1 @@
-390b205f456be85e309570f1b6e9b75f27194de7
+371367a95037cac795af5cdc589a2aa0c7a4dcd3

diff --git a/gdb-6.3-gstack-20050411.patch b/gdb-6.3-gstack-20050411.patch
index c6bb26d..5989399 100644
--- a/gdb-6.3-gstack-20050411.patch
+++ b/gdb-6.3-gstack-20050411.patch
@@ -16,7 +16,7 @@ Subject: gdb-6.3-gstack-20050411.patch
 diff --git a/gdb/Makefile.in b/gdb/Makefile.in
 --- a/gdb/Makefile.in
 +++ b/gdb/Makefile.in
-@@ -1742,7 +1742,7 @@ info install-info clean-info dvi pdf install-pdf html install-html: force
+@@ -1745,7 +1745,7 @@ info install-info clean-info dvi pdf install-pdf html install-html: force
  install: all
  	@$(MAKE) $(FLAGS_TO_PASS) install-only
  
@@ -25,7 +25,7 @@ diff --git a/gdb/Makefile.in b/gdb/Makefile.in
  	transformed_name=`t='$(program_transform_name)'; \
  			  echo gdb | sed -e "$$t"` ; \
  		if test "x$$transformed_name" = x; then \
-@@ -1791,7 +1791,25 @@ install-guile:
+@@ -1794,7 +1794,25 @@ install-guile:
  install-python:
  	$(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(GDB_DATADIR)/python/gdb
  
@@ -52,7 +52,7 @@ diff --git a/gdb/Makefile.in b/gdb/Makefile.in
  	transformed_name=`t='$(program_transform_name)'; \
  			  echo gdb | sed -e $$t` ; \
  		if test "x$$transformed_name" = x; then \
-@@ -1814,6 +1832,18 @@ uninstall: force $(CONFIG_UNINSTALL)
+@@ -1817,6 +1835,18 @@ uninstall: force $(CONFIG_UNINSTALL)
  	fi
  	@$(MAKE) DO=uninstall "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do
  

diff --git a/gdb-6.3-rh-testversion-20041202.patch b/gdb-6.3-rh-testversion-20041202.patch
index 69fe3cd..22c3c5c 100644
--- a/gdb-6.3-rh-testversion-20041202.patch
+++ b/gdb-6.3-rh-testversion-20041202.patch
@@ -27,7 +27,7 @@ diff --git a/gdb/testsuite/gdb.gdb/selftest.exp b/gdb/testsuite/gdb.gdb/selftest
 diff --git a/gdb/top.c b/gdb/top.c
 --- a/gdb/top.c
 +++ b/gdb/top.c
-@@ -2070,7 +2070,7 @@ init_gdb_version_vars (void)
+@@ -2068,7 +2068,7 @@ init_gdb_version_vars (void)
    struct internalvar *major_version_var = create_internalvar ("_gdb_major");
    struct internalvar *minor_version_var = create_internalvar ("_gdb_minor");
    int vmajor = 0, vminor = 0, vrevision = 0;

diff --git a/gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch b/gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch
index aca516b..898c87a 100644
--- a/gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch
+++ b/gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch
@@ -44,7 +44,7 @@ glibc-debuginfo-2.7-2.x86_64: /usr/lib/debug/lib64/libc.so.6.debug:
 diff --git a/gdb/printcmd.c b/gdb/printcmd.c
 --- a/gdb/printcmd.c
 +++ b/gdb/printcmd.c
-@@ -1188,6 +1188,10 @@ print_command_1 (const char *args, int voidprint)
+@@ -1202,6 +1202,10 @@ print_command_1 (const char *args, int voidprint)
  
    if (exp != nullptr && *exp)
      {

diff --git a/gdb-6.5-bz216711-clone-is-outermost.patch b/gdb-6.5-bz216711-clone-is-outermost.patch
index 3b67193..e74c07f 100644
--- a/gdb-6.5-bz216711-clone-is-outermost.patch
+++ b/gdb-6.5-bz216711-clone-is-outermost.patch
@@ -169,7 +169,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
-@@ -8448,6 +8448,9 @@ i386_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
+@@ -8445,6 +8445,9 @@ i386_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
  
    tdep->xsave_xcr0_offset = -1;
  
@@ -182,7 +182,7 @@ diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
 diff --git a/gdb/i386-tdep.h b/gdb/i386-tdep.h
 --- a/gdb/i386-tdep.h
 +++ b/gdb/i386-tdep.h
-@@ -255,6 +255,9 @@ struct gdbarch_tdep
+@@ -256,6 +256,9 @@ struct gdbarch_tdep
  
    /* Regsets. */
    const struct regset *fpregset;

diff --git a/gdb-6.5-bz218379-solib-trampoline-lookup-lock-fix.patch b/gdb-6.5-bz218379-solib-trampoline-lookup-lock-fix.patch
index 885fa2a..5a4d7aa 100644
--- a/gdb-6.5-bz218379-solib-trampoline-lookup-lock-fix.patch
+++ b/gdb-6.5-bz218379-solib-trampoline-lookup-lock-fix.patch
@@ -11,7 +11,7 @@ https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=218379
 diff --git a/gdb/symtab.c b/gdb/symtab.c
 --- a/gdb/symtab.c
 +++ b/gdb/symtab.c
-@@ -3148,6 +3148,13 @@ find_pc_sect_line (CORE_ADDR pc, struct obj_section *section, int notcurrent)
+@@ -3155,6 +3155,13 @@ find_pc_sect_line (CORE_ADDR pc, struct obj_section *section, int notcurrent)
  	     SYMBOL_LINKAGE_NAME (msymbol)); */
  	  ;
  	/* fall through */

diff --git a/gdb-6.6-buildid-locate-core-as-arg.patch b/gdb-6.6-buildid-locate-core-as-arg.patch
index 2b7462b..78604b6 100644
--- a/gdb-6.6-buildid-locate-core-as-arg.patch
+++ b/gdb-6.6-buildid-locate-core-as-arg.patch
@@ -61,19 +61,6 @@ Http://sourceware.org/ml/gdb-patches/2010-01/msg00517.html
 	* exec.c (exec_file_attach): Print a more useful error message if the
 	user did "gdb core".
 
-diff --git a/gdb/common/common-exceptions.h b/gdb/common/common-exceptions.h
---- a/gdb/common/common-exceptions.h
-+++ b/gdb/common/common-exceptions.h
-@@ -106,6 +106,9 @@ enum errors {
-      "_ERROR" is appended to the name.  */
-   MAX_COMPLETIONS_REACHED_ERROR,
- 
-+  /* Attempt to load a core file as executable.  */
-+  IS_CORE_ERROR,
-+
-   /* Add more errors here.  */
-   NR_ERRORS
- };
 diff --git a/gdb/exec.c b/gdb/exec.c
 --- a/gdb/exec.c
 +++ b/gdb/exec.c
@@ -117,6 +104,19 @@ diff --git a/gdb/exec.c b/gdb/exec.c
  	}
  
        if (build_section_table (exec_bfd, &sections, &sections_end))
+diff --git a/gdb/gdbsupport/common-exceptions.h b/gdb/gdbsupport/common-exceptions.h
+--- a/gdb/gdbsupport/common-exceptions.h
++++ b/gdb/gdbsupport/common-exceptions.h
+@@ -106,6 +106,9 @@ enum errors {
+      "_ERROR" is appended to the name.  */
+   MAX_COMPLETIONS_REACHED_ERROR,
+ 
++  /* Attempt to load a core file as executable.  */
++  IS_CORE_ERROR,
++
+   /* Add more errors here.  */
+   NR_ERRORS
+ };
 diff --git a/gdb/main.c b/gdb/main.c
 --- a/gdb/main.c
 +++ b/gdb/main.c

diff --git a/gdb-6.6-buildid-locate-rpm-librpm-workaround.patch b/gdb-6.6-buildid-locate-rpm-librpm-workaround.patch
index 0634527..f8dcbeb 100644
--- a/gdb-6.6-buildid-locate-rpm-librpm-workaround.patch
+++ b/gdb-6.6-buildid-locate-rpm-librpm-workaround.patch
@@ -9,7 +9,7 @@ Subject: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch
 diff --git a/gdb/build-id.c b/gdb/build-id.c
 --- a/gdb/build-id.c
 +++ b/gdb/build-id.c
-@@ -710,6 +710,19 @@ build_id_to_filename (const struct bfd_build_id *build_id, char **link_return)
+@@ -712,6 +712,19 @@ build_id_to_filename (const struct bfd_build_id *build_id, char **link_return)
  #include <dlfcn.h>
  #endif
  

diff --git a/gdb-6.6-buildid-locate-rpm-scl.patch b/gdb-6.6-buildid-locate-rpm-scl.patch
index daabf53..3a5e442 100644
--- a/gdb-6.6-buildid-locate-rpm-scl.patch
+++ b/gdb-6.6-buildid-locate-rpm-scl.patch
@@ -12,7 +12,7 @@ https://bugzilla.redhat.com/show_bug.cgi?id=953585
 diff --git a/gdb/build-id.c b/gdb/build-id.c
 --- a/gdb/build-id.c
 +++ b/gdb/build-id.c
-@@ -744,7 +744,11 @@ static int missing_rpm_list_entries;
+@@ -746,7 +746,11 @@ static int missing_rpm_list_entries;
  /* Returns the count of newly added rpms.  */
  
  static int
@@ -24,7 +24,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c
  {
    static int rpm_init_done = 0;
    rpmts ts;
-@@ -851,7 +855,11 @@ missing_rpm_enlist (const char *filename)
+@@ -853,7 +857,11 @@ missing_rpm_enlist (const char *filename)
    mi = rpmtsInitIterator_p (ts, RPMTAG_BASENAMES, filename, 0);
    if (mi != NULL)
      {
@@ -36,7 +36,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c
  	{
  	  Header h;
  	  char *debuginfo, **slot, *s, *s2;
-@@ -969,6 +977,37 @@ missing_rpm_enlist (const char *filename)
+@@ -971,6 +979,37 @@ missing_rpm_enlist (const char *filename)
  	    xfree (debuginfo);
  	  count++;
  	}
@@ -74,7 +74,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c
  
        rpmdbFreeIterator_p (mi);
      }
-@@ -978,6 +1017,20 @@ missing_rpm_enlist (const char *filename)
+@@ -980,6 +1019,20 @@ missing_rpm_enlist (const char *filename)
    return count;
  }
  
@@ -98,7 +98,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c
 diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
 --- a/gdb/dwarf2read.c
 +++ b/gdb/dwarf2read.c
-@@ -3456,6 +3456,16 @@ read_gdb_index_from_buffer (struct objfile *objfile,
+@@ -3462,6 +3462,16 @@ read_gdb_index_from_buffer (struct objfile *objfile,
       "set use-deprecated-index-sections on".  */
    if (version < 6 && !deprecated_ok)
      {
@@ -115,7 +115,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
        static int warning_printed = 0;
        if (!warning_printed)
  	{
-@@ -3467,6 +3477,10 @@ to use the section anyway."),
+@@ -3473,6 +3483,10 @@ to use the section anyway."),
  	  warning_printed = 1;
  	}
        return 0;

diff --git a/gdb-6.6-buildid-locate-rpm.patch b/gdb-6.6-buildid-locate-rpm.patch
index 97cc973..7182246 100644
--- a/gdb-6.6-buildid-locate-rpm.patch
+++ b/gdb-6.6-buildid-locate-rpm.patch
@@ -235,7 +235,7 @@ diff --git a/gdb/aclocal.m4 b/gdb/aclocal.m4
 diff --git a/gdb/build-id.c b/gdb/build-id.c
 --- a/gdb/build-id.c
 +++ b/gdb/build-id.c
-@@ -31,6 +31,7 @@
+@@ -33,6 +33,7 @@
  #include "gdb_bfd.h"
  #include "gdbcmd.h"
  #include "gdbcore.h"
@@ -243,7 +243,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c
  #include "libbfd.h"
  #include "objfiles.h"
  #include "observable.h"
-@@ -699,8 +700,359 @@ build_id_to_filename (const struct bfd_build_id *build_id, char **link_return)
+@@ -701,8 +702,359 @@ build_id_to_filename (const struct bfd_build_id *build_id, char **link_return)
    return result;
  }
  
@@ -604,7 +604,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c
     avoidance.  */
  
  struct missing_filepair
-@@ -754,11 +1106,17 @@ missing_filepair_change (void)
+@@ -756,11 +1108,17 @@ missing_filepair_change (void)
        /* All their memory came just from missing_filepair_OBSTACK.  */
        missing_filepair_hash = NULL;
      }
@@ -622,7 +622,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c
    missing_filepair_change ();
  }
  
-@@ -825,14 +1183,39 @@ debug_print_missing (const char *binary, const char *debug)
+@@ -827,14 +1185,39 @@ debug_print_missing (const char *binary, const char *debug)
  
    *slot = missing_filepair;
  
@@ -1464,7 +1464,7 @@ diff --git a/gdb/event-top.c b/gdb/event-top.c
 --- a/gdb/event-top.c
 +++ b/gdb/event-top.c
 @@ -40,6 +40,7 @@
- #include "common/buffer.h"
+ #include "gdbsupport/buffer.h"
  #include "ser-event.h"
  #include "gdb_select.h"
 +#include "symfile.h"
@@ -1495,7 +1495,7 @@ diff --git a/gdb/event-top.c b/gdb/event-top.c
 diff --git a/gdb/symfile.h b/gdb/symfile.h
 --- a/gdb/symfile.h
 +++ b/gdb/symfile.h
-@@ -535,6 +535,8 @@ void map_symbol_filenames (symbol_filename_ftype *fun, void *data,
+@@ -542,6 +542,8 @@ extern void generic_load (const char *args, int from_tty);
  /* build-id support.  */
  extern struct bfd_build_id *build_id_addr_get (CORE_ADDR addr);
  extern void debug_print_missing (const char *binary, const char *debug);

diff --git a/gdb-6.6-buildid-locate.patch b/gdb-6.6-buildid-locate.patch
index fbda62b..48e59c1 100644
--- a/gdb-6.6-buildid-locate.patch
+++ b/gdb-6.6-buildid-locate.patch
@@ -9,12 +9,10 @@ Subject: gdb-6.6-buildid-locate.patch
 diff --git a/gdb/build-id.c b/gdb/build-id.c
 --- a/gdb/build-id.c
 +++ b/gdb/build-id.c
-@@ -22,15 +22,71 @@
- #include "gdb_bfd.h"
- #include "build-id.h"
- #include "common/gdb_vecs.h"
--#include "symfile.h"
--#include "objfiles.h"
+@@ -24,13 +24,71 @@
+ #include "gdbsupport/gdb_vecs.h"
+ #include "symfile.h"
+ #include "objfiles.h"
 +#include <sys/stat.h>
 +#include "elf-bfd.h"
 +#include "elf/common.h"
@@ -84,7 +82,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c
  {
    if (!bfd_check_format (abfd, bfd_object))
      return NULL;
-@@ -42,6 +98,348 @@ build_id_bfd_get (bfd *abfd)
+@@ -42,6 +100,348 @@ build_id_bfd_get (bfd *abfd)
    return NULL;
  }
  
@@ -433,7 +431,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c
  /* See build-id.h.  */
  
  int
-@@ -50,7 +448,7 @@ build_id_verify (bfd *abfd, size_t check_len, const bfd_byte *check)
+@@ -50,7 +450,7 @@ build_id_verify (bfd *abfd, size_t check_len, const bfd_byte *check)
    const struct bfd_build_id *found;
    int retval = 0;
  
@@ -442,7 +440,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c
  
    if (found == NULL)
      warning (_("File \"%s\" has no build-id, file skipped"),
-@@ -65,62 +463,173 @@ build_id_verify (bfd *abfd, size_t check_len, const bfd_byte *check)
+@@ -65,62 +465,173 @@ build_id_verify (bfd *abfd, size_t check_len, const bfd_byte *check)
    return retval;
  }
  
@@ -532,7 +530,8 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c
 -	printf_unfiltered (_(" no, unable to open.\n"));
 +      if (add_debug_suffix)
 +	link += ".debug";
-+
+ 
+-      return {};
 +      ret_link = link;
 +
 +      struct stat statbuf_trash;
@@ -560,8 +559,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c
 +
 +      /* We expect to be silent on the non-existing files.  */
 +      gdb_bfd_ref_ptr debug_bfd = gdb_bfd_open (filename.get (), gnutarget, -1);
- 
--      return {};
++
 +      if (debug_bfd == NULL)
 +	{
 +	  if (separate_debug_file_debug)
@@ -599,13 +597,13 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c
 +
 +      if (add_debug_suffix)
 +	link0 += ".debug";
- 
--      return {};
++
 +      /* If the symlink has target request to install the target.
 +	 BASE-debuginfo.rpm contains the symlink but BASE.rpm may be missing.
 +	 https://bugzilla.redhat.com/show_bug.cgi?id=981154  */
 +      std::string link0_resolved (link_resolve (link0.c_str (), 0));
-+
+ 
+-      return {};
 +      if (link_all.empty ())
 +	link_all = link0_resolved;
 +      else
@@ -643,7 +641,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c
  {
    /* Keep backward compatibility so that DEBUG_FILE_DIRECTORY being "" will
       cause "/.build-id/..." lookups.  */
-@@ -143,16 +652,16 @@ build_id_to_debug_bfd (size_t build_id_len, const bfd_byte *build_id)
+@@ -143,16 +654,16 @@ build_id_to_debug_bfd (size_t build_id_len, const bfd_byte *build_id)
        if (size > 0)
  	{
  	  size--;
@@ -665,7 +663,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c
        if (debug_bfd != NULL)
  	return debug_bfd;
  
-@@ -166,7 +675,8 @@ build_id_to_debug_bfd (size_t build_id_len, const bfd_byte *build_id)
+@@ -166,7 +677,8 @@ build_id_to_debug_bfd (size_t build_id_len, const bfd_byte *build_id)
        if (strcmp (gdb_sysroot, TARGET_SYSROOT_PREFIX) != 0)
  	{
  	  link = gdb_sysroot + link;
@@ -675,7 +673,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c
  	  if (debug_bfd != NULL)
  	    return debug_bfd;
  	}
-@@ -175,22 +685,189 @@ build_id_to_debug_bfd (size_t build_id_len, const bfd_byte *build_id)
+@@ -175,22 +687,189 @@ build_id_to_debug_bfd (size_t build_id_len, const bfd_byte *build_id)
    return {};
  }
  
@@ -868,7 +866,7 @@ diff --git a/gdb/build-id.c b/gdb/build-id.c
        /* Prevent looping on a stripped .debug file.  */
        if (abfd != NULL
  	  && filename_cmp (bfd_get_filename (abfd.get ()),
-@@ -203,3 +880,21 @@ find_separate_debug_file_by_buildid (struct objfile *objfile)
+@@ -203,3 +882,21 @@ find_separate_debug_file_by_buildid (struct objfile *objfile)
  
    return std::string ();
  }
@@ -895,7 +893,7 @@ diff --git a/gdb/build-id.h b/gdb/build-id.h
 +++ b/gdb/build-id.h
 @@ -23,9 +23,10 @@
  #include "gdb_bfd.h"
- #include "common/rsp-low.h"
+ #include "gdbsupport/rsp-low.h"
  
 -/* Locate NT_GNU_BUILD_ID from ABFD and return its content.  */
 +/* Separate debuginfo files have corrupted PHDR but SHDR is correct there.
@@ -1036,7 +1034,7 @@ diff --git a/gdb/corelow.c b/gdb/corelow.c
 diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
 --- a/gdb/doc/gdb.texinfo
 +++ b/gdb/doc/gdb.texinfo
-@@ -20427,6 +20427,27 @@ information files.
+@@ -20581,6 +20581,27 @@ information files.
  
  @end table
  
@@ -1089,7 +1087,7 @@ diff --git a/gdb/dwarf-index-cache.c b/gdb/dwarf-index-cache.c
 diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
 --- a/gdb/dwarf2read.c
 +++ b/gdb/dwarf2read.c
-@@ -2677,7 +2677,7 @@ dwarf2_get_dwz_file (struct dwarf2_per_objfile *dwarf2_per_objfile)
+@@ -2683,7 +2683,7 @@ dwarf2_get_dwz_file (struct dwarf2_per_objfile *dwarf2_per_objfile)
      }
  
    if (dwz_bfd == NULL)
@@ -1098,7 +1096,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
  
    if (dwz_bfd == NULL)
      error (_("could not find '.gnu_debugaltlink' file for %s"),
-@@ -6186,7 +6186,7 @@ get_gdb_index_contents_from_section (objfile *obj, T *section_owner)
+@@ -6192,7 +6192,7 @@ get_gdb_index_contents_from_section (objfile *obj, T *section_owner)
  static gdb::array_view<const gdb_byte>
  get_gdb_index_contents_from_cache (objfile *obj, dwarf2_per_objfile *dwarf2_obj)
  {
@@ -1107,7 +1105,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
    if (build_id == nullptr)
      return {};
  
-@@ -6199,7 +6199,7 @@ get_gdb_index_contents_from_cache (objfile *obj, dwarf2_per_objfile *dwarf2_obj)
+@@ -6205,7 +6205,7 @@ get_gdb_index_contents_from_cache (objfile *obj, dwarf2_per_objfile *dwarf2_obj)
  static gdb::array_view<const gdb_byte>
  get_gdb_index_contents_from_cache_dwz (objfile *obj, dwz_file *dwz)
  {
@@ -1144,7 +1142,7 @@ diff --git a/gdb/elfread.c b/gdb/elfread.c
 diff --git a/gdb/objfiles.h b/gdb/objfiles.h
 --- a/gdb/objfiles.h
 +++ b/gdb/objfiles.h
-@@ -618,6 +618,10 @@ struct objfile
+@@ -619,6 +619,10 @@ struct objfile
    htab_up static_links;
  };
  
@@ -1167,7 +1165,7 @@ diff --git a/gdb/python/py-objfile.c b/gdb/python/py-objfile.c
      }
    catch (const gdb_exception &except)
      {
-@@ -533,7 +533,7 @@ objfpy_lookup_objfile_by_build_id (const char *build_id)
+@@ -601,7 +601,7 @@ objfpy_lookup_objfile_by_build_id (const char *build_id)
        /* Don't return separate debug files.  */
        if (objfile->separate_debug_objfile_backlink != NULL)
  	continue;
@@ -1245,10 +1243,17 @@ diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c
 diff --git a/gdb/symfile.h b/gdb/symfile.h
 --- a/gdb/symfile.h
 +++ b/gdb/symfile.h
-@@ -532,6 +532,10 @@ void expand_symtabs_matching
+@@ -532,12 +532,17 @@ void expand_symtabs_matching
  void map_symbol_filenames (symbol_filename_ftype *fun, void *data,
  			   int need_fullname);
  
++
+ /* Target-agnostic function to load the sections of an executable into memory.
+ 
+    ARGS should be in the form "EXECUTABLE [OFFSET]", where OFFSET is an
+    optional offset to apply to each section.  */
+ extern void generic_load (const char *args, int from_tty);
+ 
 +/* build-id support.  */
 +extern struct bfd_build_id *build_id_addr_get (CORE_ADDR addr);
 +extern void debug_print_missing (const char *binary, const char *debug);
@@ -1307,7 +1312,7 @@ diff --git a/gdb/testsuite/gdb.base/new-ui-pending-input.exp b/gdb/testsuite/gdb
 diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
 --- a/gdb/testsuite/lib/gdb.exp
 +++ b/gdb/testsuite/lib/gdb.exp
-@@ -1755,6 +1755,17 @@ proc default_gdb_start { } {
+@@ -1793,6 +1793,17 @@ proc default_gdb_start { } {
  	}
      }
  

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

diff --git a/gdb-6.8-quit-never-aborts.patch b/gdb-6.8-quit-never-aborts.patch
index baab460..6dc98a2 100644
--- a/gdb-6.8-quit-never-aborts.patch
+++ b/gdb-6.8-quit-never-aborts.patch
@@ -45,7 +45,7 @@ diff --git a/gdb/extension.c b/gdb/extension.c
 diff --git a/gdb/top.c b/gdb/top.c
 --- a/gdb/top.c
 +++ b/gdb/top.c
-@@ -1677,7 +1677,13 @@ quit_force (int *exit_arg, int from_tty)
+@@ -1675,7 +1675,13 @@ quit_force (int *exit_arg, int from_tty)
  
    qt.from_tty = from_tty;
  
@@ -62,7 +62,7 @@ diff --git a/gdb/top.c b/gdb/top.c
 diff --git a/gdb/utils.c b/gdb/utils.c
 --- a/gdb/utils.c
 +++ b/gdb/utils.c
-@@ -100,6 +100,13 @@ static std::chrono::steady_clock::duration prompt_for_continue_wait_time;
+@@ -101,6 +101,13 @@ static std::chrono::steady_clock::duration prompt_for_continue_wait_time;
  
  static int debug_timestamp = 0;
  

diff --git a/gdb-archer-pie-addons-keep-disabled.patch b/gdb-archer-pie-addons-keep-disabled.patch
index de2a95c..35f8cef 100644
--- a/gdb-archer-pie-addons-keep-disabled.patch
+++ b/gdb-archer-pie-addons-keep-disabled.patch
@@ -8,7 +8,7 @@ Subject: 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
-@@ -15416,6 +15416,50 @@ static struct cmd_list_element *enablebreaklist = NULL;
+@@ -15386,6 +15386,50 @@ static struct cmd_list_element *enablebreaklist = NULL;
  
  cmd_list_element *commands_cmd_element = nullptr;
  
@@ -62,7 +62,7 @@ diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
 diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h
 --- a/gdb/breakpoint.h
 +++ b/gdb/breakpoint.h
-@@ -1674,6 +1674,9 @@ extern const char *ep_parse_optional_if_clause (const char **arg);
+@@ -1690,6 +1690,9 @@ extern const char *ep_parse_optional_if_clause (const char **arg);
     UIOUT iff debugging multiple threads.  */
  extern void maybe_print_thread_hit_breakpoint (struct ui_out *uiout);
  

diff --git a/gdb-archer-pie-addons.patch b/gdb-archer-pie-addons.patch
index 6867e4b..5ed943f 100644
--- a/gdb-archer-pie-addons.patch
+++ b/gdb-archer-pie-addons.patch
@@ -8,7 +8,7 @@ Subject: gdb-archer-pie-addons.patch
 diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
 --- a/gdb/gdbtypes.h
 +++ b/gdb/gdbtypes.h
-@@ -511,6 +511,7 @@ enum field_loc_kind
+@@ -510,6 +510,7 @@ enum field_loc_kind
    {
      FIELD_LOC_KIND_BITPOS,	/**< bitpos */
      FIELD_LOC_KIND_ENUMVAL,	/**< enumval */
@@ -16,7 +16,7 @@ diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
      FIELD_LOC_KIND_PHYSADDR,	/**< physaddr */
      FIELD_LOC_KIND_PHYSNAME,	/**< physname */
      FIELD_LOC_KIND_DWARF_BLOCK	/**< dwarf_block */
-@@ -562,6 +563,7 @@ union field_location
+@@ -561,6 +562,7 @@ union field_location
       field.  Otherwise, physname is the mangled label of the
       static field.  */
  
@@ -24,7 +24,7 @@ diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
    CORE_ADDR physaddr;
    const char *physname;
  
-@@ -1451,6 +1453,7 @@ extern void set_type_vptr_basetype (struct type *, struct type *);
+@@ -1450,6 +1452,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)
@@ -32,7 +32,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)			\
-@@ -1462,6 +1465,7 @@ extern void set_type_vptr_basetype (struct type *, struct type *);
+@@ -1461,6 +1464,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))
@@ -40,7 +40,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))
-@@ -1478,6 +1482,7 @@ extern void set_type_vptr_basetype (struct type *, struct type *);
+@@ -1477,6 +1481,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 f28902e..4c93bbe 100644
--- a/gdb-archer.patch
+++ b/gdb-archer.patch
@@ -53,18 +53,6 @@ diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
  @c resolve the situation of these eventually
  @item -tui
  @cindex @code{--tui}
-diff --git a/gdb/doc/python.texi b/gdb/doc/python.texi
---- a/gdb/doc/python.texi
-+++ b/gdb/doc/python.texi
-@@ -90,8 +90,6 @@ containing @code{end}.  For example:
- 
- @smallexample
- (@value{GDBP}) python
--Type python script
--End with a line saying just "end".
- >print 23
- >end
- 23
 diff --git a/gdb/gdb-gdb.gdb.in b/gdb/gdb-gdb.gdb.in
 --- a/gdb/gdb-gdb.gdb.in
 +++ b/gdb/gdb-gdb.gdb.in
@@ -348,7 +336,7 @@ diff --git a/gdb/python/python.c b/gdb/python/python.c
 @@ -94,6 +94,8 @@ const struct extension_language_defn extension_language_python =
  #include "linespec.h"
  #include "source.h"
- #include "common/version.h"
+ #include "gdbsupport/version.h"
 +#include "inferior.h"
 +#include "gdbthread.h"
  #include "target.h"

diff --git a/gdb-btrobust.patch b/gdb-btrobust.patch
index c28ab06..2c7e2d3 100644
--- a/gdb-btrobust.patch
+++ b/gdb-btrobust.patch
@@ -14,7 +14,7 @@ printed, but a default backtrace will occur in this case.
 diff --git a/gdb/python/py-framefilter.c b/gdb/python/py-framefilter.c
 --- a/gdb/python/py-framefilter.c
 +++ b/gdb/python/py-framefilter.c
-@@ -1139,6 +1139,7 @@ gdbpy_apply_frame_filter (const struct extension_language_defn *extlang,
+@@ -1204,6 +1204,7 @@ gdbpy_apply_frame_filter (const struct extension_language_defn *extlang,
  				       htab_eq_pointer,
  				       NULL));
  
@@ -22,7 +22,7 @@ diff --git a/gdb/python/py-framefilter.c b/gdb/python/py-framefilter.c
    while (true)
      {
        gdbpy_ref<> item (PyIter_Next (iterable.get ()));
-@@ -1147,8 +1148,8 @@ gdbpy_apply_frame_filter (const struct extension_language_defn *extlang,
+@@ -1212,8 +1213,8 @@ gdbpy_apply_frame_filter (const struct extension_language_defn *extlang,
  	{
  	  if (PyErr_Occurred ())
  	    {
@@ -33,7 +33,7 @@ diff --git a/gdb/python/py-framefilter.c b/gdb/python/py-framefilter.c
  	    }
  	  break;
  	}
-@@ -1180,7 +1181,8 @@ gdbpy_apply_frame_filter (const struct extension_language_defn *extlang,
+@@ -1245,7 +1246,8 @@ gdbpy_apply_frame_filter (const struct extension_language_defn *extlang,
        /* Do not exit on error printing a single frame.  Print the
  	 error and continue with other frames.  */
        if (success == EXT_LANG_BT_ERROR)

diff --git a/gdb-bz533176-fortran-omp-step.patch b/gdb-bz533176-fortran-omp-step.patch
index 65cfdb8..864152c 100644
--- a/gdb-bz533176-fortran-omp-step.patch
+++ b/gdb-bz533176-fortran-omp-step.patch
@@ -30,7 +30,7 @@ debugging problem of GOMP outside of the scope of this Bug.
 diff --git a/gdb/infrun.c b/gdb/infrun.c
 --- a/gdb/infrun.c
 +++ b/gdb/infrun.c
-@@ -6445,6 +6445,16 @@ process_event_stop_test (struct execution_control_state *ecs)
+@@ -6462,6 +6462,16 @@ process_event_stop_test (struct execution_control_state *ecs)
  
        if (ecs->event_thread->control.step_over_calls == STEP_OVER_ALL)
  	{
@@ -47,7 +47,7 @@ diff --git a/gdb/infrun.c b/gdb/infrun.c
  	  /* We're doing a "next".
  
  	     Normal (forward) execution: set a breakpoint at the
-@@ -6478,6 +6488,7 @@ process_event_stop_test (struct execution_control_state *ecs)
+@@ -6495,6 +6505,7 @@ process_event_stop_test (struct execution_control_state *ecs)
  
  	  keep_going (ecs);
  	  return;

diff --git a/gdb-gnat-dwarf-crash-3of3.patch b/gdb-gnat-dwarf-crash-3of3.patch
index ab2d6ae..1fa68f6 100644
--- a/gdb-gnat-dwarf-crash-3of3.patch
+++ b/gdb-gnat-dwarf-crash-3of3.patch
@@ -42,7 +42,7 @@ gdb/
 diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
 --- a/gdb/dwarf2read.c
 +++ b/gdb/dwarf2read.c
-@@ -10540,6 +10540,13 @@ private:
+@@ -10546,6 +10546,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 f8d6617..7419b9a 100644
--- a/gdb-moribund-utrace-workaround.patch
+++ b/gdb-moribund-utrace-workaround.patch
@@ -14,7 +14,7 @@ Bug in FSF GDB exploited by the ptrace-on-utrace interaction.
 diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
 --- a/gdb/breakpoint.c
 +++ b/gdb/breakpoint.c
-@@ -11911,6 +11911,8 @@ update_global_location_list (enum ugll_insert_mode insert_mode)
+@@ -11881,6 +11881,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-vla-intel-fortran-strides.patch b/gdb-vla-intel-fortran-strides.patch
index 501750d..95caf46 100644
--- a/gdb-vla-intel-fortran-strides.patch
+++ b/gdb-vla-intel-fortran-strides.patch
@@ -34,116 +34,10 @@ dbfd7140bf4c0500d1f5d192be781f83f78f7922
  gdb/value.h                                 |   2 +
  23 files changed, 1242 insertions(+), 183 deletions(-)
 
-diff --git a/gdb/dwarf2loc.c b/gdb/dwarf2loc.c
---- a/gdb/dwarf2loc.c
-+++ b/gdb/dwarf2loc.c
-@@ -2426,11 +2426,14 @@ dwarf2_locexpr_baton_eval (const struct dwarf2_locexpr_baton *dlbaton,
- /* See dwarf2loc.h.  */
- 
- int
--dwarf2_evaluate_property (const struct dynamic_prop *prop,
-+dwarf2_evaluate_property_signed (const struct dynamic_prop *prop,
- 			  struct frame_info *frame,
- 			  struct property_addr_info *addr_stack,
--			  CORE_ADDR *value)
-+			  CORE_ADDR *value,
-+			  int is_signed)
- {
-+  int rc = 0;
-+
-   if (prop == NULL)
-     return 0;
- 
-@@ -2454,7 +2457,7 @@ dwarf2_evaluate_property (const struct dynamic_prop *prop,
- 
- 		*value = value_as_address (val);
- 	      }
--	    return 1;
-+	    rc = 1;
- 	  }
-       }
-       break;
-@@ -2476,7 +2479,7 @@ dwarf2_evaluate_property (const struct dynamic_prop *prop,
- 	    if (!value_optimized_out (val))
- 	      {
- 		*value = value_as_address (val);
--		return 1;
-+		rc = 1;
- 	      }
- 	  }
-       }
-@@ -2484,8 +2487,8 @@ dwarf2_evaluate_property (const struct dynamic_prop *prop,
- 
-     case PROP_CONST:
-       *value = prop->data.const_val;
--      return 1;
--
-+      rc = 1;
-+      break;
-     case PROP_ADDR_OFFSET:
-       {
- 	struct dwarf2_property_baton *baton
-@@ -2510,11 +2513,38 @@ dwarf2_evaluate_property (const struct dynamic_prop *prop,
- 	  val = value_at (baton->offset_info.type,
- 			  pinfo->addr + baton->offset_info.offset);
- 	*value = value_as_address (val);
--	return 1;
-+	rc = 1;
-       }
-+      break;
-     }
- 
--  return 0;
-+  if (rc == 1 && is_signed == 1)
-+    {
-+      /* If we have a valid return candidate and it's value is signed,
-+         we have to sign-extend the value because CORE_ADDR on 64bit machine has
-+         8 bytes but address size of an 32bit application is 4 bytes.  */
-+      struct gdbarch * gdbarch = target_gdbarch ();
-+      const int addr_bit = gdbarch_addr_bit (gdbarch);
-+      const CORE_ADDR neg_mask = ((~0) <<  (addr_bit - 1));
-+
-+      /* Check if signed bit is set and sign-extend values.  */
-+      if (*value & (neg_mask))
-+	*value |= (neg_mask );
-+    }
-+  return rc;
-+}
-+
-+int
-+dwarf2_evaluate_property (const struct dynamic_prop *prop,
-+			  struct frame_info *frame,
-+			  struct property_addr_info *addr_stack,
-+			  CORE_ADDR *value)
-+{
-+  return dwarf2_evaluate_property_signed (prop,
-+				   frame,
-+				   addr_stack,
-+				   value,
-+				   0);
- }
- 
- /* See dwarf2loc.h.  */
-diff --git a/gdb/dwarf2loc.h b/gdb/dwarf2loc.h
---- a/gdb/dwarf2loc.h
-+++ b/gdb/dwarf2loc.h
-@@ -143,6 +143,12 @@ int dwarf2_evaluate_property (const struct dynamic_prop *prop,
- 			      struct property_addr_info *addr_stack,
- 			      CORE_ADDR *value);
- 
-+int dwarf2_evaluate_property_signed (const struct dynamic_prop *prop,
-+			      struct frame_info *frame,
-+			      struct property_addr_info *addr_stack,
-+			      CORE_ADDR *value,
-+			      int is_signed);
-+
- /* A helper for the compiler interface that compiles a single dynamic
-    property to C code.
- 
 diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
 --- a/gdb/dwarf2read.c
 +++ b/gdb/dwarf2read.c
-@@ -17760,7 +17760,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
+@@ -17831,7 +17831,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;
@@ -152,7 +46,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;
-@@ -17780,7 +17780,9 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
+@@ -17852,7 +17852,9 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
  
    low.kind = PROP_CONST;
    high.kind = PROP_CONST;
@@ -162,13 +56,13 @@ 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.  */
-@@ -17813,6 +17815,14 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
+@@ -17885,6 +17887,14 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
        break;
      }
  
 +  attr = dwarf2_attr (die, DW_AT_byte_stride, cu);
 +  if (attr)
-+    if (!attr_to_dynamic_prop (attr, die, cu, &stride))
++    if (!attr_to_dynamic_prop (attr, die, cu, &stride, base_type))
 +        complaint (_("Missing DW_AT_byte_stride "
 +		     "- DIE at 0x%s [in module %s]"),
 +		   sect_offset_str (die->sect_off),
@@ -176,8 +70,8 @@ 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);
-@@ -17905,7 +17915,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
+     attr_to_dynamic_prop (attr, die, cu, &low, base_type);
+@@ -17938,7 +17948,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;
  
@@ -723,7 +617,7 @@ diff --git a/gdb/expprint.c b/gdb/expprint.c
 diff --git a/gdb/expression.h b/gdb/expression.h
 --- a/gdb/expression.h
 +++ b/gdb/expression.h
-@@ -165,28 +165,27 @@ extern void dump_raw_expression (struct expression *,
+@@ -167,28 +167,27 @@ extern void dump_raw_expression (struct expression *,
  				 struct ui_file *, const char *);
  extern void dump_prefix_expression (struct expression *, struct ui_file *);
  
@@ -874,9 +768,9 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
 +		   const struct dynamic_prop *high_bound,
 +		   const struct dynamic_prop *stride)
  {
-   if (result_type == NULL)
-     result_type = alloc_type_copy (index_type);
-@@ -927,6 +928,7 @@ create_range_type (struct type *result_type, struct type *index_type,
+   /* The INDEX_TYPE should be a type capable of holding the upper and lower
+      bounds, as such a zero sized, or void type makes no sense.  */
+@@ -932,6 +933,7 @@ create_range_type (struct type *result_type, struct type *index_type,
      TYPE_ZALLOC (result_type, sizeof (struct range_bounds));
    TYPE_RANGE_DATA (result_type)->low = *low_bound;
    TYPE_RANGE_DATA (result_type)->high = *high_bound;
@@ -884,7 +778,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
  
    if (low_bound->kind == PROP_CONST && low_bound->data.const_val >= 0)
      TYPE_UNSIGNED (result_type) = 1;
-@@ -955,7 +957,7 @@ struct type *
+@@ -960,7 +962,7 @@ struct type *
  create_static_range_type (struct type *result_type, struct type *index_type,
  			  LONGEST low_bound, LONGEST high_bound)
  {
@@ -893,7 +787,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
  
    low.kind = PROP_CONST;
    low.data.const_val = low_bound;
-@@ -963,7 +965,11 @@ create_static_range_type (struct type *result_type, struct type *index_type,
+@@ -968,7 +970,11 @@ create_static_range_type (struct type *result_type, struct type *index_type,
    high.kind = PROP_CONST;
    high.data.const_val = high_bound;
  
@@ -906,7 +800,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
  
    return result_type;
  }
-@@ -1181,16 +1187,20 @@ create_array_type_with_stride (struct type *result_type,
+@@ -1186,16 +1192,20 @@ create_array_type_with_stride (struct type *result_type,
        && (!type_not_associated (result_type)
  	  && !type_not_allocated (result_type)))
      {
@@ -928,7 +822,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;
-@@ -1975,12 +1985,12 @@ resolve_dynamic_range (struct type *dyn_range_type,
+@@ -1980,7 +1990,7 @@ resolve_dynamic_range (struct type *dyn_range_type,
    CORE_ADDR value;
    struct type *static_range_type, *static_target_type;
    const struct dynamic_prop *prop;
@@ -937,27 +831,12 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
  
    gdb_assert (TYPE_CODE (dyn_range_type) == TYPE_CODE_RANGE);
  
-   prop = &TYPE_RANGE_DATA (dyn_range_type)->low;
--  if (dwarf2_evaluate_property (prop, NULL, addr_stack, &value))
-+  if (dwarf2_evaluate_property_signed (prop, NULL, addr_stack, &value, 1))
-     {
-       low_bound.kind = PROP_CONST;
-       low_bound.data.const_val = value;
-@@ -1992,7 +2002,7 @@ resolve_dynamic_range (struct type *dyn_range_type,
-     }
- 
-   prop = &TYPE_RANGE_DATA (dyn_range_type)->high;
--  if (dwarf2_evaluate_property (prop, NULL, addr_stack, &value))
-+  if (dwarf2_evaluate_property_signed (prop, NULL, addr_stack, &value, 1))
-     {
-       high_bound.kind = PROP_CONST;
-       high_bound.data.const_val = value;
-@@ -2007,12 +2017,20 @@ resolve_dynamic_range (struct type *dyn_range_type,
+@@ -2012,12 +2022,20 @@ resolve_dynamic_range (struct type *dyn_range_type,
        high_bound.data.const_val = 0;
      }
  
 +  prop = &TYPE_RANGE_DATA (dyn_range_type)->stride;
-+  if (dwarf2_evaluate_property_signed (prop, NULL, addr_stack, &value, 1))
++  if (dwarf2_evaluate_property (prop, NULL, addr_stack, &value))
 +    {
 +      stride.kind = PROP_CONST;
 +      stride.data.const_val = value;
@@ -977,7 +856,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
-@@ -618,6 +618,10 @@ struct range_bounds
+@@ -617,6 +617,10 @@ struct range_bounds
  
    struct dynamic_prop high;
  
@@ -988,7 +867,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 high bound is computed.  */
  
-@@ -782,7 +786,6 @@ struct main_type
+@@ -781,7 +785,6 @@ struct main_type
      /* * Union member used for range types.  */
  
      struct range_bounds *bounds;
@@ -996,7 +875,7 @@ diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
    } flds_bnds;
  
    /* * Slot to point to additional language-specific fields of this
-@@ -1341,6 +1344,15 @@ extern bool set_type_align (struct type *, ULONGEST);
+@@ -1340,6 +1343,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
@@ -1012,7 +891,7 @@ diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
  
  /* Property accessors for the type data location.  */
  #define TYPE_DATA_LOCATION(thistype) \
-@@ -1376,6 +1388,9 @@ extern bool set_type_align (struct type *, ULONGEST);
+@@ -1375,6 +1387,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))
@@ -1022,7 +901,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))))
-@@ -1951,6 +1966,7 @@ extern struct type *create_array_type_with_stride
+@@ -1950,6 +1965,7 @@ extern struct type *create_array_type_with_stride
     struct dynamic_prop *, unsigned int);
  
  extern struct type *create_range_type (struct type *, struct type *,
@@ -1072,7 +951,7 @@ diff --git a/gdb/parse.c b/gdb/parse.c
 diff --git a/gdb/rust-exp.y b/gdb/rust-exp.y
 --- a/gdb/rust-exp.y
 +++ b/gdb/rust-exp.y
-@@ -2492,24 +2492,28 @@ rust_parser::convert_ast_to_expression (const struct rust_op *operation,
+@@ -2493,24 +2493,28 @@ rust_parser::convert_ast_to_expression (const struct rust_op *operation,
  
      case OP_RANGE:
        {
@@ -1669,17 +1548,6 @@ new file mode 100644
 +program testprog
 +  call sub
 +end
-diff --git a/gdb/testsuite/gdb.fortran/vla-ptype.exp b/gdb/testsuite/gdb.fortran/vla-ptype.exp
---- a/gdb/testsuite/gdb.fortran/vla-ptype.exp
-+++ b/gdb/testsuite/gdb.fortran/vla-ptype.exp
-@@ -98,3 +98,7 @@ gdb_test "ptype vla2" "type = $real, allocatable \\(:,:,:\\)" "ptype vla2 not al
- gdb_test "ptype vla2(5, 45, 20)" \
-   "no such vector element \\\(vector not allocated\\\)" \
-   "ptype vla2(5, 45, 20) not allocated"
-+
-+gdb_breakpoint [gdb_get_line_number "vla1-neg-bounds"]
-+gdb_continue_to_breakpoint "vla1-neg-bounds"
-+gdb_test "ptype vla1" "type = $real \\(-2:1,-5:4,-3:-1\\)" "ptype vla1 negative bounds"
 diff --git a/gdb/testsuite/gdb.fortran/vla-sizeof.exp b/gdb/testsuite/gdb.fortran/vla-sizeof.exp
 --- a/gdb/testsuite/gdb.fortran/vla-sizeof.exp
 +++ b/gdb/testsuite/gdb.fortran/vla-sizeof.exp
@@ -1712,16 +1580,16 @@ diff --git a/gdb/testsuite/gdb.fortran/vla-sizeof.exp b/gdb/testsuite/gdb.fortra
      "print sizeof non-associated sliced pvla"
  
  # Try to access values in pointer to VLA and compare them
-@@ -58,4 +60,8 @@ gdb_continue_to_breakpoint "pvla-associated"
+@@ -58,7 +60,8 @@ gdb_continue_to_breakpoint "pvla-associated"
  gdb_test "print sizeof(pvla)" " = 4000" "print sizeof associated pvla"
  gdb_test "print sizeof(pvla(3,2,1))" "4" \
      "print sizeof element from associated pvla"
 -gdb_test "print sizeof(pvla(3:4,2,1))" "800" "print sizeof sliced pvla"
-+gdb_test "print sizeof(pvla(3:4,2,1))" "8" "print sizeof sliced pvla"
 +
-+gdb_breakpoint [gdb_get_line_number "vla1-neg-bounds"]
-+gdb_continue_to_breakpoint "vla1-neg-bounds"
-+gdb_test "print sizeof(vla1)" " = 480" "print sizeof vla1 negative bounds"
++gdb_test "print sizeof(pvla(3:4,2,1))" "8" "print sizeof sliced pvla"
+ 
+ gdb_breakpoint [gdb_get_line_number "vla1-neg-bounds-v1"]
+ gdb_continue_to_breakpoint "vla1-neg-bounds-v1"
 diff --git a/gdb/testsuite/gdb.fortran/vla-stride.exp b/gdb/testsuite/gdb.fortran/vla-stride.exp
 new file mode 100644
 --- /dev/null
@@ -1805,28 +1673,10 @@ new file mode 100644
 +
 +  pvla => null()        ! single-element
 +end program vla_stride
-diff --git a/gdb/testsuite/gdb.fortran/vla.f90 b/gdb/testsuite/gdb.fortran/vla.f90
---- a/gdb/testsuite/gdb.fortran/vla.f90
-+++ b/gdb/testsuite/gdb.fortran/vla.f90
-@@ -54,4 +54,14 @@ program vla
- 
-   allocate (vla3 (2,2))               ! vla2-deallocated
-   vla3(:,:) = 13
-+
-+  allocate (vla1 (-2:1, -5:4, -3:-1))
-+  l = allocated(vla1)
-+
-+  vla1(:, :, :) = 1
-+  vla1(-2, -3, -1) = -231
-+
-+  deallocate (vla1)                   ! vla1-neg-bounds
-+  l = allocated(vla1)
-+
- end program vla
 diff --git a/gdb/valarith.c b/gdb/valarith.c
 --- a/gdb/valarith.c
 +++ b/gdb/valarith.c
-@@ -187,11 +187,17 @@ value_subscripted_rvalue (struct value *array, LONGEST index, int lowerbound)
+@@ -188,11 +188,17 @@ value_subscripted_rvalue (struct value *array, LONGEST index, LONGEST 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);
@@ -2081,7 +1931,7 @@ diff --git a/gdb/valops.c b/gdb/valops.c
 diff --git a/gdb/value.h b/gdb/value.h
 --- a/gdb/value.h
 +++ b/gdb/value.h
-@@ -1140,6 +1140,8 @@ extern struct value *varying_to_slice (struct value *);
+@@ -1143,6 +1143,8 @@ extern struct value *varying_to_slice (struct value *);
  
  extern struct value *value_slice (struct value *, int, int);
  

diff --git a/gdb-vla-intel-fortran-vla-strings.patch b/gdb-vla-intel-fortran-vla-strings.patch
index b527a00..9ea44ae 100644
--- a/gdb-vla-intel-fortran-vla-strings.patch
+++ b/gdb-vla-intel-fortran-vla-strings.patch
@@ -33,7 +33,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
-@@ -573,6 +573,8 @@ SH-5/SH64 running OpenBSD 	SH-5/SH64 support in sh*-*-openbsd*
+@@ -634,6 +634,8 @@ SH-5/SH64 running OpenBSD 	SH-5/SH64 support in sh*-*-openbsd*
  
  *** Changes in GDB 8.1
  
@@ -77,36 +77,37 @@ diff --git a/gdb/c-valprint.c b/gdb/c-valprint.c
 diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
 --- a/gdb/dwarf2read.c
 +++ b/gdb/dwarf2read.c
-@@ -1810,7 +1810,8 @@ static void read_signatured_type (struct signatured_type *);
+@@ -1810,7 +1810,10 @@ static void read_signatured_type (struct signatured_type *);
  
  static int attr_to_dynamic_prop (const struct attribute *attr,
  				 struct die_info *die, struct dwarf2_cu *cu,
--				 struct dynamic_prop *prop);
-+				 struct dynamic_prop *prop, const gdb_byte *additional_data,
+-				 struct dynamic_prop *prop, struct type *type);
++				 struct dynamic_prop *prop,
++				 struct type *default_type,
++				 const gdb_byte *additional_data,
 +				 int additional_data_size);
  
  /* memory allocation interface */
  
-@@ -13683,7 +13684,7 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu)
-     {
+@@ -13688,7 +13691,7 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu)
        newobj->static_link
  	= XOBNEW (&objfile->objfile_obstack, struct dynamic_prop);
--      attr_to_dynamic_prop (attr, die, cu, newobj->static_link);
-+      attr_to_dynamic_prop (attr, die, cu, newobj->static_link, NULL, 0);
+       attr_to_dynamic_prop (attr, die, cu, newobj->static_link,
+-			    dwarf2_per_cu_addr_type (cu->per_cu));
++			    dwarf2_per_cu_addr_type (cu->per_cu), NULL, 0);
      }
  
    cu->list_in_scope = cu->get_builder ()->get_local_symbols ();
-@@ -16442,7 +16443,8 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu)
- 
+@@ -16450,7 +16453,7 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu)
        byte_stride_prop
  	= (struct dynamic_prop *) alloca (sizeof (struct dynamic_prop));
--      stride_ok = attr_to_dynamic_prop (attr, die, cu, byte_stride_prop);
-+      stride_ok = attr_to_dynamic_prop (attr, die, cu, byte_stride_prop,
-+					NULL, 0);
+       stride_ok = attr_to_dynamic_prop (attr, die, cu, byte_stride_prop,
+-					prop_type);
++					prop_type, NULL, 0);
        if (!stride_ok)
  	{
  	  complaint (_("unable to read array DW_AT_byte_stride "
-@@ -17200,29 +17202,90 @@ read_tag_string_type (struct die_info *die, struct dwarf2_cu *cu)
+@@ -17208,29 +17211,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;
@@ -152,8 +153,8 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
 +		/* Operand for DW_OP_deref_size.  */
 +		(gdb_byte) DW_UNSND(byte_size) };
 +
-+	      if (!attr_to_dynamic_prop (attr, die, cu, &high, append_ops,
-+					 ARRAY_SIZE(append_ops)))
++	      if (!attr_to_dynamic_prop (attr, die, cu, &high, index_type,
++					 append_ops, ARRAY_SIZE(append_ops)))
 +		complaint (_("Could not parse DW_AT_byte_size"));
 +	    }
 +	  else if (bit_size != NULL)
@@ -166,8 +167,8 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
 +	      const gdb_byte append_ops[] =
 +		{ DW_OP_deref };
 +
-+	      if (!attr_to_dynamic_prop (attr, die, cu, &high, append_ops,
-+					 ARRAY_SIZE(append_ops)))
++	      if (!attr_to_dynamic_prop (attr, die, cu, &high, index_type,
++					 append_ops, ARRAY_SIZE(append_ops)))
 +		complaint (_("Could not parse DW_AT_string_length"));
 +	    }
 +
@@ -208,26 +209,20 @@ 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);
  
-@@ -17654,7 +17717,8 @@ read_base_type (struct die_info *die, struct dwarf2_cu *cu)
- 
+@@ -17663,7 +17727,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,
--		      struct dwarf2_cu *cu, struct dynamic_prop *prop)
-+		      struct dwarf2_cu *cu, struct dynamic_prop *prop,
+ 		      struct dwarf2_cu *cu, struct dynamic_prop *prop,
+-		      struct type *default_type)
++		      struct type *default_type,
 +		      const gdb_byte *additional_data, int additional_data_size)
  {
    struct dwarf2_property_baton *baton;
    struct obstack *obstack
-@@ -17665,14 +17729,33 @@ attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die,
- 
-   if (attr_form_is_block (attr))
-     {
--      baton = XOBNEW (obstack, struct dwarf2_property_baton);
-+      baton = XOBNEW(obstack, struct dwarf2_property_baton);
-       baton->referenced_type = NULL;
-       baton->locexpr.per_cu = cu->per_cu;
--      baton->locexpr.size = DW_BLOCK (attr)->size;
--      baton->locexpr.data = DW_BLOCK (attr)->data;
+@@ -17682,9 +17747,30 @@ attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die,
+       baton->locexpr.size = DW_BLOCK (attr)->size;
+       baton->locexpr.data = DW_BLOCK (attr)->data;
+       baton->locexpr.is_reference = false;
 +
 +      if (additional_data != NULL && additional_data_size > 0)
 +	{
@@ -256,12 +251,13 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
      }
    else if (attr_form_is_ref (attr))
      {
-@@ -17705,8 +17788,28 @@ attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die,
+@@ -17717,9 +17803,29 @@ 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->property_type = die_type (target_die, target_cu);
  		baton->locexpr.per_cu = cu->per_cu;
 -		baton->locexpr.size = DW_BLOCK (target_attr)->size;
 -		baton->locexpr.data = DW_BLOCK (target_attr)->data;
+ 		baton->locexpr.is_reference = true;
 +
 +		if (additional_data != NULL && additional_data_size > 0)
 +		  {
@@ -287,61 +283,62 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
  		prop->data.baton = baton;
  		prop->kind = PROP_LOCEXPR;
  		gdb_assert (prop->data.baton != NULL);
-@@ -17817,7 +17920,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
+@@ -17889,7 +17995,8 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
  
    attr = dwarf2_attr (die, DW_AT_byte_stride, cu);
    if (attr)
--    if (!attr_to_dynamic_prop (attr, die, cu, &stride))
-+    if (!attr_to_dynamic_prop (attr, die, cu, &stride, NULL, 0))
+-    if (!attr_to_dynamic_prop (attr, die, cu, &stride, base_type))
++    if (!attr_to_dynamic_prop (attr, die, cu, &stride, base_type,
++			       NULL, 0))
          complaint (_("Missing DW_AT_byte_stride "
  		     "- DIE at 0x%s [in module %s]"),
  		   sect_offset_str (die->sect_off),
-@@ -17825,7 +17928,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
+@@ -17897,7 +18004,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
  
    attr = dwarf2_attr (die, DW_AT_lower_bound, cu);
    if (attr)
--    attr_to_dynamic_prop (attr, die, cu, &low);
-+    attr_to_dynamic_prop (attr, die, cu, &low, NULL, 0);
+-    attr_to_dynamic_prop (attr, die, cu, &low, base_type);
++    attr_to_dynamic_prop (attr, die, cu, &low, base_type, NULL, 0);
    else if (!low_default_is_valid)
      complaint (_("Missing DW_AT_lower_bound "
  				      "- DIE at %s [in module %s]"),
-@@ -17834,10 +17937,10 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
+@@ -17906,10 +18013,10 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
  
    struct attribute *attr_ub, *attr_count;
    attr = attr_ub = dwarf2_attr (die, DW_AT_upper_bound, cu);
--  if (!attr_to_dynamic_prop (attr, die, cu, &high))
-+  if (!attr_to_dynamic_prop (attr, die, cu, &high, NULL, 0))
+-  if (!attr_to_dynamic_prop (attr, die, cu, &high, base_type))
++  if (!attr_to_dynamic_prop (attr, die, cu, &high, base_type, NULL, 0))
      {
        attr = attr_count = dwarf2_attr (die, DW_AT_count, cu);
--      if (attr_to_dynamic_prop (attr, die, cu, &high))
-+      if (attr_to_dynamic_prop (attr, die, cu, &high, NULL, 0))
+-      if (attr_to_dynamic_prop (attr, die, cu, &high, base_type))
++      if (attr_to_dynamic_prop (attr, die, cu, &high, base_type, NULL, 0))
  	{
  	  /* If bounds are constant do the final calculation here.  */
  	  if (low.kind == PROP_CONST && high.kind == PROP_CONST)
-@@ -25505,7 +25608,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))
+@@ -25558,7 +25665,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
      {
--      if (attr_to_dynamic_prop (attr, die, cu, &prop))
-+      if (attr_to_dynamic_prop (attr, die, cu, &prop, NULL, 0))
+       struct type *prop_type
+ 	= dwarf2_per_cu_addr_sized_int_type (cu->per_cu, false);
+-      if (attr_to_dynamic_prop (attr, die, cu, &prop, prop_type))
++      if (attr_to_dynamic_prop (attr, die, cu, &prop, prop_type, NULL, 0))
          add_dyn_prop (DYN_PROP_ALLOCATED, prop, type);
      }
    else if (attr != NULL)
-@@ -25519,7 +25622,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))
+@@ -25574,7 +25681,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
      {
--      if (attr_to_dynamic_prop (attr, die, cu, &prop))
-+      if (attr_to_dynamic_prop (attr, die, cu, &prop, NULL, 0))
+       struct type *prop_type
+ 	= dwarf2_per_cu_addr_sized_int_type (cu->per_cu, false);
+-      if (attr_to_dynamic_prop (attr, die, cu, &prop, prop_type))
++      if (attr_to_dynamic_prop (attr, die, cu, &prop, prop_type, NULL, 0))
          add_dyn_prop (DYN_PROP_ASSOCIATED, prop, type);
      }
    else if (attr != NULL)
-@@ -25531,7 +25634,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
- 
+@@ -25587,7 +25694,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);
--  if (attr_to_dynamic_prop (attr, die, cu, &prop))
-+  if (attr_to_dynamic_prop (attr, die, cu, &prop, NULL, 0))
+   if (attr_to_dynamic_prop (attr, die, cu, &prop,
+-			    dwarf2_per_cu_addr_type (cu->per_cu)))
++			    dwarf2_per_cu_addr_type (cu->per_cu), NULL, 0))
      add_dyn_prop (DYN_PROP_DATA_LOCATION, prop, type);
  
    if (dwarf2_per_objfile->die_type_hash == NULL)
@@ -404,7 +401,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
-@@ -1898,7 +1898,8 @@ is_dynamic_type_internal (struct type *type, int top_level)
+@@ -1903,7 +1903,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.  */
@@ -414,7 +411,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
-@@ -1932,6 +1933,7 @@ is_dynamic_type_internal (struct type *type, int top_level)
+@@ -1937,6 +1938,7 @@ is_dynamic_type_internal (struct type *type, int top_level)
        }
  
      case TYPE_CODE_ARRAY:
@@ -422,7 +419,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
        {
  	gdb_assert (TYPE_NFIELDS (type) == 1);
  
-@@ -2050,7 +2052,8 @@ resolve_dynamic_array (struct type *type,
+@@ -2055,7 +2057,8 @@ resolve_dynamic_array (struct type *type,
    struct dynamic_prop *prop;
    unsigned int bit_stride = 0;
  
@@ -432,7 +429,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
  
    type = copy_type (type);
  
-@@ -2075,11 +2078,15 @@ resolve_dynamic_array (struct type *type,
+@@ -2080,11 +2083,15 @@ resolve_dynamic_array (struct type *type,
  
    ary_dim = check_typedef (TYPE_TARGET_TYPE (elt_type));
  
@@ -449,7 +446,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
    prop = get_dyn_prop (DYN_PROP_BYTE_STRIDE, type);
    if (prop != NULL)
      {
-@@ -2234,6 +2241,28 @@ resolve_dynamic_struct (struct type *type,
+@@ -2236,6 +2243,28 @@ resolve_dynamic_struct (struct type *type,
    return resolved_type;
  }
  
@@ -478,7 +475,7 @@ diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
  /* Worker for resolved_dynamic_type.  */
  
  static struct type *
-@@ -2282,7 +2311,12 @@ resolve_dynamic_type_internal (struct type *type,
+@@ -2284,7 +2313,12 @@ resolve_dynamic_type_internal (struct type *type,
  	    break;
  	  }
  
@@ -828,15 +825,6 @@ diff --git a/gdb/testsuite/gdb.fortran/print_type.exp b/gdb/testsuite/gdb.fortra
  }
 -gdb_test "ptype realp" "type = PTR TO -> \\( $real \\)"
 +gdb_test "ptype realp" "type = PTR TO -> \\( $real\\)"
-diff --git a/gdb/testsuite/gdb.fortran/vla-ptype.exp b/gdb/testsuite/gdb.fortran/vla-ptype.exp
---- a/gdb/testsuite/gdb.fortran/vla-ptype.exp
-+++ b/gdb/testsuite/gdb.fortran/vla-ptype.exp
-@@ -101,4 +101,4 @@ gdb_test "ptype vla2(5, 45, 20)" \
- 
- gdb_breakpoint [gdb_get_line_number "vla1-neg-bounds"]
- gdb_continue_to_breakpoint "vla1-neg-bounds"
--gdb_test "ptype vla1" "type = $real \\(-2:1,-5:4,-3:-1\\)" "ptype vla1 negative bounds"
-+gdb_test "ptype vla1" "type = $real, allocatable \\(-2:1,-5:4,-3:-1\\)" "ptype vla1 negative bounds"
 diff --git a/gdb/testsuite/gdb.fortran/vla-strings.exp b/gdb/testsuite/gdb.fortran/vla-strings.exp
 new file mode 100644
 --- /dev/null
@@ -1093,7 +1081,7 @@ diff --git a/gdb/valops.c b/gdb/valops.c
 diff --git a/gdb/valprint.c b/gdb/valprint.c
 --- a/gdb/valprint.c
 +++ b/gdb/valprint.c
-@@ -1143,12 +1143,6 @@ value_check_printable (struct value *val, struct ui_file *stream,
+@@ -1144,12 +1144,6 @@ value_check_printable (struct value *val, struct ui_file *stream,
        return 0;
      }
  

diff --git a/gdb.spec b/gdb.spec
index 507a8a5..93a2aa0 100644
--- a/gdb.spec
+++ b/gdb.spec
@@ -27,7 +27,7 @@
 Name: %{?scl_prefix}gdb
 
 # Freeze it when GDB gets branched
-%global snapsrc    20190702
+%global snapsrc    20190802
 # See timestamp of source gnulib installed into gdb/gnulib/ .
 %global snapgnulib 20161115
 %global tarname gdb-%{version}
@@ -35,7 +35,7 @@ Version: 8.3.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: 20%{?dist}
+Release: 21%{?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
 # Do not provide URL for snapshots as the file lasts there only for 2 days.
@@ -1141,6 +1141,9 @@ fi
 %endif
 
 %changelog
+* Fri Aug  2 2019 Sergio Durigan Junior <sergiodj@redhat.com> - 8.3.50.20190802-21
+- Rebase to FSF GDB 8.3.50.20190802 (8.4pre).
+
 * Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org>
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
 

diff --git a/sources b/sources
index 421acca..2a0615e 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
 SHA512 (gdb-libstdc++-v3-python-8.1.1-20180626.tar.xz) = a8b1c54dd348cfeb37da73f968742896be3dd13a4215f8d8519870c2abea915f5176c3fa6989ddd10f20020a16f0fab20cbae68ee8d58a82234d8778023520f8
 SHA512 (v2.0.tar.gz) = ec63151e842c81cc73ea11ba560b63e005cefbe19d98de24ae5c8caa4de7c9c1d71d1ec5b6214a347592eac675b75a3d2b26d4691ca86f91020ebfea8e912939
-SHA512 (gdb-8.3.50.20190702.tar.xz) = e36682601f5dc9ac1cd2bbdbfed45888046cf6df43231dc604271e63ca3609e9aabcca24b50c72146d7160855093497b1e217db34e0878a74c313524eb371d6f
+SHA512 (gdb-8.3.50.20190802.tar.xz) = 464c06de734d7ea724e7a09b35044681872bc05162fc852c47c7eede51930ede655306a80f8518fc8e0845eee13525a48f033a3623f16b6b400eaf49b90b3ac7

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-06-27 23:59 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-27 23:59 [rpms/gdb] gdb-17.2-rebase-f44: Rebase to FSF GDB 8.3.50.20190802 (8.4pre) Sergio Durigan Junior

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox