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.3.50.20190625 (8.4pre).
Date: Sat, 27 Jun 2026 23:59:46 GMT	[thread overview]
Message-ID: <178260478687.1.9621660658292262002.rpms-gdb-292cb418af02@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/gdb
Branch : gdb-17.2-rebase-f44
Commit : 292cb418af02523039493d072bd5096a8ddae95d
Author : Sergio Durigan Junior <sergiodj@redhat.com>
Date   : 2019-06-25T15:49:31-04:00
Stats  : +229/-516 in 25 file(s)
URL    : https://src.fedoraproject.org/rpms/gdb/c/292cb418af02523039493d072bd5096a8ddae95d?branch=gdb-17.2-rebase-f44

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

---
diff --git a/.gitignore b/.gitignore
index af8ca9b..1e8534a 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.20190610.tar.xz
+/gdb-8.3.50.20190625.tar.xz

diff --git a/_git_upstream_commit b/_git_upstream_commit
index f2add1d..50d506d 100644
--- a/_git_upstream_commit
+++ b/_git_upstream_commit
@@ -1 +1 @@
-a72f8c4ce397a0bbe98281d4151982330ad16f15
+2e7c439dec066ac8a597d0b85193b8d3ec8e09eb

diff --git a/gdb-6.3-gstack-20050411.patch b/gdb-6.3-gstack-20050411.patch
index 6ba993d..c6bb26d 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
-@@ -1751,7 +1751,7 @@ info install-info clean-info dvi pdf install-pdf html install-html: force
+@@ -1742,7 +1742,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 \
-@@ -1800,7 +1800,25 @@ install-guile:
+@@ -1791,7 +1791,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 \
-@@ -1823,6 +1841,18 @@ uninstall: force $(CONFIG_UNINSTALL)
+@@ -1814,6 +1832,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 f1c0735..69fe3cd 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
-@@ -2079,7 +2079,7 @@ init_gdb_version_vars (void)
+@@ -2070,7 +2070,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 3a1fe0c..aca516b 100644
--- a/gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch
+++ b/gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch
@@ -44,9 +44,9 @@ 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
-@@ -1182,6 +1182,10 @@ print_command_1 (const char *exp, int voidprint)
+@@ -1188,6 +1188,10 @@ print_command_1 (const char *args, int voidprint)
  
-   if (exp && *exp)
+   if (exp != nullptr && *exp)
      {
 +      /* '*((int *(*) (void)) __errno_location) ()' is incompatible with
 +	 function descriptors.  */

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 d419b89..885fa2a 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
-@@ -3145,6 +3145,13 @@ find_pc_sect_line (CORE_ADDR pc, struct obj_section *section, int notcurrent)
+@@ -3148,6 +3148,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-rpm-scl.patch b/gdb-6.6-buildid-locate-rpm-scl.patch
index 81523e2..daabf53 100644
--- a/gdb-6.6-buildid-locate-rpm-scl.patch
+++ b/gdb-6.6-buildid-locate-rpm-scl.patch
@@ -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
-@@ -3496,6 +3496,16 @@ read_gdb_index_from_buffer (struct objfile *objfile,
+@@ -3456,6 +3456,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)
  	{
-@@ -3507,6 +3517,10 @@ to use the section anyway."),
+@@ -3467,6 +3477,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 e3189ba..97cc973 100644
--- a/gdb-6.6-buildid-locate-rpm.patch
+++ b/gdb-6.6-buildid-locate-rpm.patch
@@ -707,7 +707,7 @@ diff --git a/gdb/configure b/gdb/configure
  GDB_DATADIR
  DEBUGDIR
  MAKEINFO_EXTRA_FLAGS
-@@ -855,6 +860,7 @@ with_gdb_datadir
+@@ -854,6 +859,7 @@ with_gdb_datadir
  with_relocated_sources
  with_auto_load_dir
  with_auto_load_safe_path
@@ -715,7 +715,7 @@ diff --git a/gdb/configure b/gdb/configure
  enable_targets
  enable_64_bit_bfd
  enable_gdbmi
-@@ -915,6 +921,11 @@ CCC
+@@ -914,6 +920,11 @@ CCC
  CPP
  MAKEINFO
  MAKEINFOFLAGS
@@ -727,7 +727,7 @@ diff --git a/gdb/configure b/gdb/configure
  YACC
  YFLAGS
  XMKMF'
-@@ -1588,6 +1599,8 @@ Optional Packages:
+@@ -1587,6 +1598,8 @@ Optional Packages:
                            [--with-auto-load-dir]
    --without-auto-load-safe-path
                            do not restrict auto-loaded files locations
@@ -736,7 +736,7 @@ diff --git a/gdb/configure b/gdb/configure
    --with-libunwind-ia64   use libunwind frame unwinding for ia64 targets
    --with-curses           use the curses library instead of the termcap
                            library
-@@ -1645,6 +1658,13 @@ Some influential environment variables:
+@@ -1644,6 +1657,13 @@ Some influential environment variables:
    MAKEINFO    Parent configure detects if it is of sufficient version.
    MAKEINFOFLAGS
                Parameters for MAKEINFO.
@@ -750,7 +750,7 @@ diff --git a/gdb/configure b/gdb/configure
    YACC        The `Yet Another Compiler Compiler' implementation to use.
                Defaults to the first program found out of: `bison -y', `byacc',
                `yacc'.
-@@ -6626,6 +6646,494 @@ _ACEOF
+@@ -6503,6 +6523,494 @@ _ACEOF
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_auto_load_safe_path" >&5
  $as_echo "$with_auto_load_safe_path" >&6; }
  
@@ -1248,7 +1248,7 @@ diff --git a/gdb/configure b/gdb/configure
 diff --git a/gdb/configure.ac b/gdb/configure.ac
 --- a/gdb/configure.ac
 +++ b/gdb/configure.ac
-@@ -166,6 +166,199 @@ AC_DEFINE_DIR(AUTO_LOAD_SAFE_PATH, escape_dir,
+@@ -144,6 +144,199 @@ AC_DEFINE_DIR(AUTO_LOAD_SAFE_PATH, escape_dir,
  	      [Directories safe to hold auto-loaded files.])
  AC_MSG_RESULT([$with_auto_load_safe_path])
  

diff --git a/gdb-6.6-buildid-locate.patch b/gdb-6.6-buildid-locate.patch
index b0bc634..878feee 100644
--- a/gdb-6.6-buildid-locate.patch
+++ b/gdb-6.6-buildid-locate.patch
@@ -932,7 +932,7 @@ diff --git a/gdb/build-id.h b/gdb/build-id.h
 diff --git a/gdb/coffread.c b/gdb/coffread.c
 --- a/gdb/coffread.c
 +++ b/gdb/coffread.c
-@@ -717,7 +717,8 @@ coff_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags)
+@@ -710,7 +710,8 @@ coff_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags)
    /* Try to add separate debug file if no symbols table found.   */
    if (!objfile_has_partial_symbols (objfile))
      {
@@ -1036,7 +1036,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
-@@ -20183,6 +20183,27 @@ information files.
+@@ -20427,6 +20427,27 @@ information files.
  
  @end table
  
@@ -1067,19 +1067,29 @@ diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
 diff --git a/gdb/dwarf-index-cache.c b/gdb/dwarf-index-cache.c
 --- a/gdb/dwarf-index-cache.c
 +++ b/gdb/dwarf-index-cache.c
-@@ -93,7 +93,7 @@ index_cache::store (struct dwarf2_per_objfile *dwarf2_per_objfile)
-   if (!enabled ())
+@@ -94,7 +94,7 @@ index_cache::store (struct dwarf2_per_objfile *dwarf2_per_objfile)
      return;
  
+   /* Get build id of objfile.  */
 -  const bfd_build_id *build_id = build_id_bfd_get (obj->obfd);
 +  const bfd_build_id *build_id = build_id_bfd_shdr_get (obj->obfd);
    if (build_id == nullptr)
      {
        if (debug_index_cache)
+@@ -112,7 +112,8 @@ index_cache::store (struct dwarf2_per_objfile *dwarf2_per_objfile)
+ 
+   if (dwz != nullptr)
+     {
+-      const bfd_build_id *dwz_build_id = build_id_bfd_get (dwz->dwz_bfd.get ());
++      const bfd_build_id *dwz_build_id
++	= build_id_bfd_shdr_get (dwz->dwz_bfd.get ());
+ 
+       if (dwz_build_id == nullptr)
+ 	{
 diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
 --- a/gdb/dwarf2read.c
 +++ b/gdb/dwarf2read.c
-@@ -2722,7 +2722,7 @@ dwarf2_get_dwz_file (struct dwarf2_per_objfile *dwarf2_per_objfile)
+@@ -2677,7 +2677,7 @@ dwarf2_get_dwz_file (struct dwarf2_per_objfile *dwarf2_per_objfile)
      }
  
    if (dwz_bfd == NULL)
@@ -1088,7 +1098,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
  
    if (dwz_bfd == NULL)
      error (_("could not find '.gnu_debugaltlink' file for %s"),
-@@ -6232,7 +6232,7 @@ get_gdb_index_contents_from_section (objfile *obj, T *section_owner)
+@@ -6189,7 +6189,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)
  {
@@ -1097,7 +1107,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
    if (build_id == nullptr)
      return {};
  
-@@ -6245,7 +6245,7 @@ get_gdb_index_contents_from_cache (objfile *obj, dwarf2_per_objfile *dwarf2_obj)
+@@ -6202,7 +6202,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)
  {
@@ -1109,7 +1119,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)
+@@ -1284,7 +1284,9 @@ elf_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags)
  	   && objfile->separate_debug_objfile == NULL
  	   && objfile->separate_debug_objfile_backlink == NULL)
      {
@@ -1120,7 +1130,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)
+@@ -1296,6 +1298,10 @@ elf_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags)
  	  symbol_file_add_separate (debug_bfd.get (), debugfile.c_str (),
  				    symfile_flags, objfile);
  	}

diff --git a/gdb-6.8-quit-never-aborts.patch b/gdb-6.8-quit-never-aborts.patch
index 237c730..baab460 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
-@@ -1686,7 +1686,13 @@ quit_force (int *exit_arg, int from_tty)
+@@ -1677,7 +1677,13 @@ quit_force (int *exit_arg, int from_tty)
  
    qt.from_tty = from_tty;
  

diff --git a/gdb-archer-pie-addons-keep-disabled.patch b/gdb-archer-pie-addons-keep-disabled.patch
index 9cd534c..de2a95c 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
-@@ -15428,6 +15428,50 @@ static struct cmd_list_element *enablebreaklist = NULL;
+@@ -15416,6 +15416,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
-@@ -1664,6 +1664,9 @@ extern const char *ep_parse_optional_if_clause (const char **arg);
+@@ -1674,6 +1674,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.patch b/gdb-archer.patch
index 44d4849..f28902e 100644
--- a/gdb-archer.patch
+++ b/gdb-archer.patch
@@ -14,22 +14,6 @@ commit 718a1618b2f691a7f407213bb50f100ac59f91c3
 
 tromey/python
 
-diff --git a/gdb/Makefile.in b/gdb/Makefile.in
---- a/gdb/Makefile.in
-+++ b/gdb/Makefile.in
-@@ -2084,6 +2084,12 @@ stamp-h: $(srcdir)/config.in config.status
- 	  CONFIG_LINKS= \
- 	  $(SHELL) config.status
- 
-+.gdbinit: $(srcdir)/gdbinit.in config.status
-+	CONFIG_FILES=".gdbinit:gdbinit.in" \
-+	  CONFIG_COMMANDS= \
-+	  CONFIG_HEADERS= \
-+	  $(SHELL) config.status
-+
- 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
 --- a/gdb/data-directory/Makefile.in
 +++ b/gdb/data-directory/Makefile.in
@@ -41,11 +25,10 @@ diff --git a/gdb/data-directory/Makefile.in b/gdb/data-directory/Makefile.in
  	gdb/command/explore.py \
  	gdb/command/backtrace.py \
  	gdb/command/frame_filters.py \
-@@ -92,6 +93,8 @@ PYTHON_FILE_LIST = \
+@@ -92,6 +93,7 @@ PYTHON_FILE_LIST = \
  	gdb/function/as_string.py \
  	gdb/function/caller_is.py \
  	gdb/function/strfns.py \
-+	gdb/function/caller_is.py \
 +	gdb/function/in_scope.py \
  	gdb/printer/__init__.py \
  	gdb/printer/bound_registers.py
@@ -53,7 +36,7 @@ diff --git a/gdb/data-directory/Makefile.in b/gdb/data-directory/Makefile.in
 diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
 --- a/gdb/doc/gdb.texinfo
 +++ b/gdb/doc/gdb.texinfo
-@@ -1251,6 +1251,16 @@ for remote debugging.
+@@ -1252,6 +1252,16 @@ for remote debugging.
  Run using @var{device} for your program's standard input and output.
  @c FIXME: kingdon thinks there is more to -tty.  Investigate.
  
@@ -466,7 +449,7 @@ diff --git a/gdb/python/python.c b/gdb/python/python.c
  /* Return a sequence holding all the Progspaces.  */
  
  static PyObject *
-@@ -1928,6 +2018,8 @@ PyMethodDef python_GdbMethods[] =
+@@ -1927,6 +2017,8 @@ PyMethodDef python_GdbMethods[] =
  Evaluate command, a string, as a gdb CLI command.  Optionally returns\n\
  a Python String containing the output of the command if to_string is\n\
  set to True." },
@@ -478,11 +461,7 @@ diff --git a/gdb/python/python.c b/gdb/python/python.c
 diff --git a/gdb/python/python.h b/gdb/python/python.h
 --- a/gdb/python/python.h
 +++ b/gdb/python/python.h
-@@ -25,7 +25,10 @@
- /* This is all that python exports to gdb.  */
- extern const struct extension_language_defn extension_language_python;
- 
-+
+@@ -28,4 +28,6 @@ extern const struct extension_language_defn extension_language_python;
  /* Command element for the 'python' command.  */
  extern cmd_list_element *python_cmd_element;
  
@@ -528,14 +507,3 @@ diff --git a/gdb/testsuite/gdb.python/py-value.exp b/gdb/testsuite/gdb.python/py
  
  # Test either C or C++ values. 
  
-diff --git a/gdb/varobj.c b/gdb/varobj.c
---- a/gdb/varobj.c
-+++ b/gdb/varobj.c
-@@ -217,7 +217,6 @@ is_root_p (const struct varobj *var)
- }
- 
- #ifdef HAVE_PYTHON
--
- /* See python-internal.h.  */
- gdbpy_enter_varobj::gdbpy_enter_varobj (const struct varobj *var)
- : gdbpy_enter (var->root->exp->gdbarch, var->root->exp->language_defn)

diff --git a/gdb-attach-fail-reasons-5of5.patch b/gdb-attach-fail-reasons-5of5.patch
index 236aab8..c7f88d6 100644
--- a/gdb-attach-fail-reasons-5of5.patch
+++ b/gdb-attach-fail-reasons-5of5.patch
@@ -68,7 +68,7 @@ diff --git a/gdb/config.in b/gdb/config.in
 diff --git a/gdb/configure b/gdb/configure
 --- a/gdb/configure
 +++ b/gdb/configure
-@@ -15814,6 +15814,64 @@ cat >>confdefs.h <<_ACEOF
+@@ -15691,6 +15691,64 @@ cat >>confdefs.h <<_ACEOF
  _ACEOF
  
  
@@ -136,7 +136,7 @@ diff --git a/gdb/configure b/gdb/configure
 diff --git a/gdb/configure.ac b/gdb/configure.ac
 --- a/gdb/configure.ac
 +++ b/gdb/configure.ac
-@@ -2039,6 +2039,10 @@ case $host_os in
+@@ -2017,6 +2017,10 @@ case $host_os in
  esac
  AC_DEFINE_UNQUOTED(GDBINIT,"$gdbinit",[The .gdbinit filename.])
  
@@ -276,7 +276,7 @@ diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c
 diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
 --- a/gdb/linux-nat.c
 +++ b/gdb/linux-nat.c
-@@ -1098,7 +1098,16 @@ linux_nat_target::create_inferior (const char *exec_file,
+@@ -1095,7 +1095,16 @@ linux_nat_target::create_inferior (const char *exec_file,
    /* Make sure we report all signals during startup.  */
    pass_signals ({});
  

diff --git a/gdb-btrobust.patch b/gdb-btrobust.patch
index 7fe9eb3..c28ab06 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
-@@ -1138,6 +1138,7 @@ gdbpy_apply_frame_filter (const struct extension_language_defn *extlang,
+@@ -1139,6 +1139,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 ()));
-@@ -1146,8 +1147,8 @@ gdbpy_apply_frame_filter (const struct extension_language_defn *extlang,
+@@ -1147,8 +1148,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;
  	}
-@@ -1179,7 +1180,8 @@ gdbpy_apply_frame_filter (const struct extension_language_defn *extlang,
+@@ -1180,7 +1181,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-bz568248-oom-is-error.patch b/gdb-bz568248-oom-is-error.patch
index 48116f0..b1e33c2 100644
--- a/gdb-bz568248-oom-is-error.patch
+++ b/gdb-bz568248-oom-is-error.patch
@@ -53,7 +53,7 @@ gdb/
 diff --git a/gdb/utils.c b/gdb/utils.c
 --- a/gdb/utils.c
 +++ b/gdb/utils.c
-@@ -692,13 +692,11 @@ malloc_failure (long size)
+@@ -689,13 +689,11 @@ malloc_failure (long size)
  {
    if (size > 0)
      {

diff --git a/gdb-fedora-libncursesw.patch b/gdb-fedora-libncursesw.patch
index cc4571d..5536b9a 100644
--- a/gdb-fedora-libncursesw.patch
+++ b/gdb-fedora-libncursesw.patch
@@ -12,7 +12,7 @@ https://bugzilla.redhat.com/show_bug.cgi?id=1270534
 diff --git a/gdb/configure b/gdb/configure
 --- a/gdb/configure
 +++ b/gdb/configure
-@@ -9418,6 +9418,7 @@ if test x"$prefer_curses" = xyes; then
+@@ -9295,6 +9295,7 @@ if test x"$prefer_curses" = xyes; then
    # search /usr/local/include, if ncurses is installed in /usr/local.  A
    # default installation of ncurses on alpha*-dec-osf* will lead to such
    # a situation.
@@ -20,7 +20,7 @@ diff --git a/gdb/configure b/gdb/configure
    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing waddstr" >&5
  $as_echo_n "checking for library containing waddstr... " >&6; }
  if ${ac_cv_search_waddstr+:} false; then :
-@@ -9442,7 +9443,7 @@ return waddstr ();
+@@ -9319,7 +9320,7 @@ return waddstr ();
    return 0;
  }
  _ACEOF
@@ -29,7 +29,7 @@ diff --git a/gdb/configure b/gdb/configure
    if test -z "$ac_lib"; then
      ac_res="none required"
    else
-@@ -9516,6 +9517,7 @@ case $host_os in
+@@ -9393,6 +9394,7 @@ case $host_os in
  esac
  
  # These are the libraries checked by Readline.
@@ -37,7 +37,7 @@ diff --git a/gdb/configure b/gdb/configure
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing tgetent" >&5
  $as_echo_n "checking for library containing tgetent... " >&6; }
  if ${ac_cv_search_tgetent+:} false; then :
-@@ -9540,7 +9542,7 @@ return tgetent ();
+@@ -9417,7 +9419,7 @@ return tgetent ();
    return 0;
  }
  _ACEOF
@@ -49,7 +49,7 @@ diff --git a/gdb/configure b/gdb/configure
 diff --git a/gdb/configure.ac b/gdb/configure.ac
 --- a/gdb/configure.ac
 +++ b/gdb/configure.ac
-@@ -743,7 +743,8 @@ if test x"$prefer_curses" = xyes; then
+@@ -721,7 +721,8 @@ if test x"$prefer_curses" = xyes; then
    # search /usr/local/include, if ncurses is installed in /usr/local.  A
    # default installation of ncurses on alpha*-dec-osf* will lead to such
    # a situation.
@@ -59,7 +59,7 @@ diff --git a/gdb/configure.ac b/gdb/configure.ac
  
    if test "$ac_cv_search_waddstr" != no; then
      curses_found=yes
-@@ -785,7 +786,8 @@ case $host_os in
+@@ -763,7 +764,8 @@ case $host_os in
  esac
  
  # These are the libraries checked by Readline.

diff --git a/gdb-gnat-dwarf-crash-3of3.patch b/gdb-gnat-dwarf-crash-3of3.patch
index c1caccb..29eaab9 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
-@@ -10590,6 +10590,13 @@ private:
+@@ -10543,6 +10543,13 @@ private:
  static void
  process_die (struct die_info *die, struct dwarf2_cu *cu)
  {
@@ -89,7 +89,7 @@ diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
  static unsigned int debug_linux_nat;
  static void
  show_debug_linux_nat (struct ui_file *file, int from_tty,
-@@ -1036,6 +1042,9 @@ linux_nat_post_attach_wait (ptid_t ptid, int *signalled)
+@@ -1033,6 +1039,9 @@ linux_nat_post_attach_wait (ptid_t ptid, int *signalled)
        if (debug_linux_nat)
  	fprintf_unfiltered (gdb_stdlog,
  			    "LNPAW: Attaching to a stopped process\n");
@@ -99,7 +99,7 @@ diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
  
        /* The process is definitely stopped.  It is in a job control
  	 stop, unless the kernel predates the TASK_STOPPED /
-@@ -1367,6 +1376,25 @@ get_detach_signal (struct lwp_info *lp)
+@@ -1364,6 +1373,25 @@ get_detach_signal (struct lwp_info *lp)
        return gdb_signal_to_host (signo);
      }
  
@@ -125,7 +125,7 @@ diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
    return 0;
  }
  
-@@ -1515,6 +1543,10 @@ linux_nat_target::detach (inferior *inf, int from_tty)
+@@ -1512,6 +1540,10 @@ linux_nat_target::detach (inferior *inf, int from_tty)
        detach_one_lwp (main_lwp, &signo);
  
        detach_success (inf);
@@ -136,7 +136,7 @@ diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
      }
  }
  
-@@ -1772,6 +1804,16 @@ linux_nat_target::resume (ptid_t ptid, int step, enum gdb_signal signo)
+@@ -1769,6 +1801,16 @@ linux_nat_target::resume (ptid_t ptid, int step, enum gdb_signal signo)
        return;
      }
  
@@ -153,7 +153,7 @@ diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
    if (resume_many)
      iterate_over_lwps (ptid, [=] (struct lwp_info *info)
  			     {
-@@ -3773,6 +3815,10 @@ linux_nat_target::mourn_inferior ()
+@@ -3770,6 +3812,10 @@ linux_nat_target::mourn_inferior ()
  
    /* Let the arch-specific native code know this process is gone.  */
    linux_target->low_forget_process (pid);

diff --git a/gdb-jit-reader-multilib.patch b/gdb-jit-reader-multilib.patch
index 4a50fa9..89eab10 100644
--- a/gdb-jit-reader-multilib.patch
+++ b/gdb-jit-reader-multilib.patch
@@ -9,7 +9,7 @@ Subject: gdb-jit-reader-multilib.patch
 diff --git a/gdb/configure b/gdb/configure
 --- a/gdb/configure
 +++ b/gdb/configure
-@@ -9705,10 +9705,12 @@ _ACEOF
+@@ -9582,10 +9582,12 @@ _ACEOF
  
  
  
@@ -28,7 +28,7 @@ diff --git a/gdb/configure b/gdb/configure
 diff --git a/gdb/configure.ac b/gdb/configure.ac
 --- a/gdb/configure.ac
 +++ b/gdb/configure.ac
-@@ -820,10 +820,12 @@ AC_CHECK_SIZEOF(unsigned long long)
+@@ -798,10 +798,12 @@ AC_CHECK_SIZEOF(unsigned long long)
  AC_CHECK_SIZEOF(unsigned long)
  AC_CHECK_SIZEOF(unsigned __int128)
  

diff --git a/gdb-libexec-add-index.patch b/gdb-libexec-add-index.patch
index c3990ef..19f6b54 100644
--- a/gdb-libexec-add-index.patch
+++ b/gdb-libexec-add-index.patch
@@ -14,9 +14,9 @@ Subject: gdb-libexec-add-index.patch
 diff --git a/gdb/contrib/gdb-add-index.sh b/gdb/contrib/gdb-add-index.sh
 --- a/gdb/contrib/gdb-add-index.sh
 +++ b/gdb/contrib/gdb-add-index.sh
-@@ -21,6 +21,20 @@
- GDB=${GDB:=gdb}
+@@ -22,6 +22,20 @@ GDB=${GDB:=gdb}
  OBJCOPY=${OBJCOPY:=objcopy}
+ READELF=${READELF:=readelf}
  
 +GDB2=/usr/libexec/gdb
 +if test -x $GDB2 && ! which $GDB &>/dev/null; then

diff --git a/gdb-linux_perf-bundle.patch b/gdb-linux_perf-bundle.patch
index dae4ae3..552b8dc 100644
--- a/gdb-linux_perf-bundle.patch
+++ b/gdb-linux_perf-bundle.patch
@@ -9,7 +9,7 @@ Subject: gdb-linux_perf-bundle.patch
 diff --git a/gdb/configure b/gdb/configure
 --- a/gdb/configure
 +++ b/gdb/configure
-@@ -12053,7 +12053,7 @@ else
+@@ -11930,7 +11930,7 @@ else
  
  #include <linux/perf_event.h>
  #ifndef PERF_ATTR_SIZE_VER5
@@ -21,7 +21,7 @@ diff --git a/gdb/configure b/gdb/configure
 diff --git a/gdb/configure.ac b/gdb/configure.ac
 --- a/gdb/configure.ac
 +++ b/gdb/configure.ac
-@@ -1488,7 +1488,7 @@ else
+@@ -1466,7 +1466,7 @@ else
    AC_PREPROC_IFELSE([AC_LANG_SOURCE([[
  #include <linux/perf_event.h>
  #ifndef PERF_ATTR_SIZE_VER5

diff --git a/gdb-moribund-utrace-workaround.patch b/gdb-moribund-utrace-workaround.patch
index c3e5c20..f8d6617 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
-@@ -11922,6 +11922,8 @@ update_global_location_list (enum ugll_insert_mode insert_mode)
+@@ -11911,6 +11911,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 e489e6c..fc9da49 100644
--- a/gdb-vla-intel-fortran-strides.patch
+++ b/gdb-vla-intel-fortran-strides.patch
@@ -143,7 +143,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
-@@ -17839,7 +17839,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
+@@ -17763,7 +17763,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 +152,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;
-@@ -17859,7 +17859,9 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
+@@ -17783,7 +17783,9 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
  
    low.kind = PROP_CONST;
    high.kind = PROP_CONST;
@@ -162,7 +162,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
  
    /* Set LOW_DEFAULT_IS_VALID if current language and DWARF version allow
       omitting DW_AT_lower_bound.  */
-@@ -17892,6 +17894,14 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
+@@ -17816,6 +17818,14 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
        break;
      }
  
@@ -177,7 +177,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);
-@@ -17984,7 +17994,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
+@@ -17908,7 +17918,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;
  
@@ -1672,7 +1672,7 @@ new file mode 100644
 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 = <not allocated>" "ptype vla2 not allocated"
+@@ -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"
@@ -1687,7 +1687,7 @@ diff --git a/gdb/testsuite/gdb.fortran/vla-sizeof.exp b/gdb/testsuite/gdb.fortra
  gdb_test "print sizeof(vla1(3,2,1))" \
      "no such vector element \\(vector not allocated\\)" \
      "print sizeof non-allocated indexed vla1"
--gdb_test "print sizeof(vla1(3:4,2,1))" "slice out of range" \
+-gdb_test "print sizeof(vla1(3:4,2,1))" "array not allocated" \
 +gdb_test "print sizeof(vla1(3:4,2,1))" \
 +    "provided bound\\(s\\) outside array bound\\(s\\)" \
      "print sizeof non-allocated sliced vla1"
@@ -1706,7 +1706,7 @@ diff --git a/gdb/testsuite/gdb.fortran/vla-sizeof.exp b/gdb/testsuite/gdb.fortra
  gdb_test "print sizeof(pvla(3,2,1))" \
      "no such vector element \\(vector not associated\\)" \
      "print sizeof non-associated indexed pvla"
--gdb_test "print sizeof(pvla(3:4,2,1))" "slice out of range" \
+-gdb_test "print sizeof(pvla(3:4,2,1))" "array not associated" \
 +gdb_test "print sizeof(pvla(3:4,2,1))" \
 +    "provided bound\\(s\\) outside array bound\\(s\\)" \
      "print sizeof non-associated sliced pvla"
@@ -1849,7 +1849,7 @@ diff --git a/gdb/valarith.c b/gdb/valarith.c
 diff --git a/gdb/valops.c b/gdb/valops.c
 --- a/gdb/valops.c
 +++ b/gdb/valops.c
-@@ -3790,56 +3790,195 @@ value_of_this_silent (const struct language_defn *lang)
+@@ -3790,13 +3790,42 @@ value_of_this_silent (const struct language_defn *lang)
  
  struct value *
  value_slice (struct value *array, int lowbound, int length)
@@ -1896,6 +1896,9 @@ diff --git a/gdb/valops.c b/gdb/valops.c
    if (TYPE_CODE (array_type) != TYPE_CODE_ARRAY
        && TYPE_CODE (array_type) != TYPE_CODE_STRING)
      error (_("cannot take slice of non-array"));
+@@ -3806,45 +3835,155 @@ value_slice (struct value *array, int lowbound, int length)
+   if (type_not_associated (array_type))
+     error (_("array not associated"));
  
 -  range_type = TYPE_INDEX_TYPE (array_type);
 -  if (get_discrete_bounds (range_type, &lowerbound, &upperbound) < 0)
@@ -1963,7 +1966,7 @@ diff --git a/gdb/valops.c b/gdb/valops.c
  
    /* FIXME-type-allocation: need a way to free this type when we are
 -     done with it.  */
--  slice_range_type = create_static_range_type ((struct type *) NULL,
+-  slice_range_type = create_static_range_type (NULL,
 -					       TYPE_TARGET_TYPE (range_type),
 -					       lowbound,
 -					       lowbound + length - 1);
@@ -1985,7 +1988,7 @@ diff --git a/gdb/valops.c b/gdb/valops.c
 +
 +	slice_type = create_array_type (NULL, element_type, slice_range_type);
  
--    slice_type = create_array_type ((struct type *) NULL,
+-    slice_type = create_array_type (NULL,
 -				    element_type,
 -				    slice_range_type);
 -    TYPE_CODE (slice_type) = TYPE_CODE (array_type);

diff --git a/gdb-vla-intel-fortran-vla-strings.patch b/gdb-vla-intel-fortran-vla-strings.patch
index 2d6c1d9..b46c895 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
-@@ -467,6 +467,8 @@ SH-5/SH64 running OpenBSD 	SH-5/SH64 support in sh*-*-openbsd*
+@@ -573,6 +573,8 @@ SH-5/SH64 running OpenBSD 	SH-5/SH64 support in sh*-*-openbsd*
  
  *** Changes in GDB 8.1
  
@@ -77,7 +77,7 @@ 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
-@@ -1833,7 +1833,8 @@ static void read_signatured_type (struct signatured_type *);
+@@ -1810,7 +1810,8 @@ 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,
@@ -87,7 +87,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
  
  /* memory allocation interface */
  
-@@ -13759,7 +13760,7 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu)
+@@ -13686,7 +13687,7 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu)
      {
        newobj->static_link
  	= XOBNEW (&objfile->objfile_obstack, struct dynamic_prop);
@@ -96,7 +96,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
      }
  
    cu->list_in_scope = cu->get_builder ()->get_local_symbols ();
-@@ -16518,7 +16519,8 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu)
+@@ -16445,7 +16446,8 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu)
  
        byte_stride_prop
  	= (struct dynamic_prop *) alloca (sizeof (struct dynamic_prop));
@@ -106,7 +106,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
        if (!stride_ok)
  	{
  	  complaint (_("unable to read array DW_AT_byte_stride "
-@@ -17279,29 +17281,90 @@ read_tag_string_type (struct die_info *die, struct dwarf2_cu *cu)
+@@ -17203,29 +17205,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;
@@ -208,7 +208,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);
  
-@@ -17733,7 +17796,8 @@ read_base_type (struct die_info *die, struct dwarf2_cu *cu)
+@@ -17657,7 +17720,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,
@@ -218,7 +218,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
  {
    struct dwarf2_property_baton *baton;
    struct obstack *obstack
-@@ -17744,14 +17808,33 @@ attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die,
+@@ -17668,14 +17732,33 @@ attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die,
  
    if (attr_form_is_block (attr))
      {
@@ -256,7 +256,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
      }
    else if (attr_form_is_ref (attr))
      {
-@@ -17784,8 +17867,28 @@ attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die,
+@@ -17708,8 +17791,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;
@@ -287,7 +287,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);
-@@ -17896,7 +17999,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
+@@ -17820,7 +17923,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
  
    attr = dwarf2_attr (die, DW_AT_byte_stride, cu);
    if (attr)
@@ -296,7 +296,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),
-@@ -17904,7 +18007,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
+@@ -17828,7 +17931,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
  
    attr = dwarf2_attr (die, DW_AT_lower_bound, cu);
    if (attr)
@@ -305,7 +305,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]"),
-@@ -17913,10 +18016,10 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
+@@ -17837,10 +17940,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);
@@ -318,7 +318,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)
-@@ -25574,7 +25677,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
+@@ -25502,7 +25605,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))
      {
@@ -327,7 +327,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
          add_dyn_prop (DYN_PROP_ALLOCATED, prop, type);
      }
    else if (attr != NULL)
-@@ -25588,7 +25691,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
+@@ -25516,7 +25619,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))
      {
@@ -336,7 +336,7 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
          add_dyn_prop (DYN_PROP_ASSOCIATED, prop, type);
      }
    else if (attr != NULL)
-@@ -25600,7 +25703,7 @@ set_die_type (struct die_info *die, struct type *type, struct dwarf2_cu *cu)
+@@ -25528,7 +25631,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);
@@ -348,63 +348,19 @@ diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
 diff --git a/gdb/f-typeprint.c b/gdb/f-typeprint.c
 --- a/gdb/f-typeprint.c
 +++ b/gdb/f-typeprint.c
-@@ -37,7 +37,7 @@ static void f_type_print_args (struct type *, struct ui_file *);
- #endif
- 
- static void f_type_print_varspec_suffix (struct type *, struct ui_file *, int,
--					 int, int, int);
-+					 int, int, int, int);
- 
- void f_type_print_varspec_prefix (struct type *, struct ui_file *,
- 				  int, int);
-@@ -53,18 +53,6 @@ f_print_type (struct type *type, const char *varstring, struct ui_file *stream,
- {
-   enum type_code code;
- 
--  if (type_not_associated (type))
--    {
--      val_print_not_associated (stream);
--      return;
--    }
--
--  if (type_not_allocated (type))
--    {
--      val_print_not_allocated (stream);
--      return;
--    }
--
-   f_type_print_base (type, stream, show, level);
-   code = TYPE_CODE (type);
-   if ((varstring != NULL && *varstring != '\0')
-@@ -96,7 +84,7 @@ f_print_type (struct type *type, const char *varstring, struct ui_file *stream,
- 
-       demangled_args = (*varstring != '\0'
- 			&& varstring[strlen (varstring) - 1] == ')');
--      f_type_print_varspec_suffix (type, stream, show, 0, demangled_args, 0);
-+      f_type_print_varspec_suffix (type, stream, show, 0, demangled_args, 0, 0);
-    }
- }
- 
-@@ -166,7 +154,7 @@ f_type_print_varspec_prefix (struct type *type, struct ui_file *stream,
- static void
- f_type_print_varspec_suffix (struct type *type, struct ui_file *stream,
- 			     int show, int passed_a_ptr, int demangled_args,
--			     int arrayprint_recurse_level)
-+			     int arrayprint_recurse_level, int print_rank_only)
- {
-   /* No static variables are permitted as an error call may occur during
-      execution of this function.  */
-@@ -188,36 +176,52 @@ f_type_print_varspec_suffix (struct type *type, struct ui_file *stream,
- 	fprintf_filtered (stream, "(");
- 
-       if (type_not_associated (type))
--        val_print_not_associated (stream);
-+	print_rank_only = 1;
-       else if (type_not_allocated (type))
--        val_print_not_allocated (stream);
-+	print_rank_only = 1;
-+      else if ((TYPE_ASSOCIATED_PROP (type)
-+		&& PROP_CONST != TYPE_DYN_PROP_KIND (TYPE_ASSOCIATED_PROP (type)))
+@@ -186,15 +186,14 @@ f_type_print_varspec_suffix (struct type *type, struct ui_file *stream,
+ 	print_rank_only = true;
+       else if ((TYPE_ASSOCIATED_PROP (type)
+ 		&& PROP_CONST != TYPE_DYN_PROP_KIND (TYPE_ASSOCIATED_PROP (type)))
+-	       || (TYPE_ALLOCATED_PROP (type)
+-		   && PROP_CONST != TYPE_DYN_PROP_KIND (TYPE_ALLOCATED_PROP (type)))
+-	       || (TYPE_DATA_LOCATION (type)
+-		   && PROP_CONST != TYPE_DYN_PROP_KIND (TYPE_DATA_LOCATION (type))))
+-	{
+-	  /* This case exist when we ptype a typename which has the dynamic
+-	     properties but cannot be resolved as there is no object.  */
+-	  print_rank_only = true;
+-	}
 +	      || (TYPE_ALLOCATED_PROP (type)
 +		&& PROP_CONST != TYPE_DYN_PROP_KIND (TYPE_ALLOCATED_PROP (type)))
 +	      || (TYPE_DATA_LOCATION (type)
@@ -412,93 +368,39 @@ diff --git a/gdb/f-typeprint.c b/gdb/f-typeprint.c
 +	/* This case exist when we ptype a typename which has the
 +	   dynamic properties but cannot be resolved as there is
 +	   no object.  */
-+	print_rank_only = 1;
-+
-+      if (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_ARRAY)
-+	f_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream, 0,
-+				     0, 0, arrayprint_recurse_level,
-+				     print_rank_only);
-+
-+      if (print_rank_only == 1)
-+	fprintf_filtered (stream, ":");
-       else
--        {
--          if (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_ARRAY)
--            f_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream, 0,
--                                        0, 0, arrayprint_recurse_level);
-+	{
-+	  LONGEST lower_bound = f77_get_lowerbound (type);
- 
--          LONGEST lower_bound = f77_get_lowerbound (type);
-+	  if (lower_bound != 1)	/* Not the default.  */
-+	    fprintf_filtered (stream, "%s:", plongest (lower_bound));
++	print_rank_only = true;
  
--          if (lower_bound != 1)	/* Not the default.  */
+       if (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_ARRAY)
+ 	f_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream, 0,
+@@ -206,8 +205,9 @@ f_type_print_varspec_suffix (struct type *type, struct ui_file *stream,
+       else
+ 	{
+ 	  LONGEST lower_bound = f77_get_lowerbound (type);
++
+ 	  if (lower_bound != 1)	/* Not the default.  */
 -            fprintf_filtered (stream, "%s:", plongest (lower_bound));
-+	  /* Make sure that, if we have an assumed size array, we
-+	       print out a warning and print the upperbound as '*'.  */
++	    fprintf_filtered (stream, "%s:", plongest (lower_bound));
  
--          /* Make sure that, if we have an assumed size array, we
--             print out a warning and print the upperbound as '*'.  */
-+	  if (TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED (type))
-+	    fprintf_filtered (stream, "*");
-+	  else
-+	    {
-+	      LONGEST upper_bound = f77_get_upperbound (type);
- 
--          if (TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED (type))
--            fprintf_filtered (stream, "*");
--          else
--            {
--              LONGEST upper_bound = f77_get_upperbound (type);
-+	      fprintf_filtered (stream, "%s", plongest (upper_bound));
-+	    }
-+	}
+ 	  /* Make sure that, if we have an assumed size array, we
+ 	       print out a warning and print the upperbound as '*'.  */
+@@ -218,7 +218,7 @@ f_type_print_varspec_suffix (struct type *type, struct ui_file *stream,
+ 	    {
+ 	      LONGEST upper_bound = f77_get_upperbound (type);
  
 -              fputs_filtered (plongest (upper_bound), stream);
--            }
-+      if (TYPE_CODE (TYPE_TARGET_TYPE (type)) != TYPE_CODE_ARRAY)
-+	f_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream, 0,
-+				     0, 0, arrayprint_recurse_level,
-+				     print_rank_only);
++	      fprintf_filtered (stream, "%s", plongest (upper_bound));
+ 	    }
+ 	}
  
--          if (TYPE_CODE (TYPE_TARGET_TYPE (type)) != TYPE_CODE_ARRAY)
--            f_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream, 0,
--                                        0, 0, arrayprint_recurse_level);
--        }
-       if (arrayprint_recurse_level == 1)
- 	fprintf_filtered (stream, ")");
-       else
-@@ -228,8 +232,8 @@ f_type_print_varspec_suffix (struct type *type, struct ui_file *stream,
-     case TYPE_CODE_PTR:
+@@ -238,7 +238,7 @@ f_type_print_varspec_suffix (struct type *type, struct ui_file *stream,
      case TYPE_CODE_REF:
        f_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream, 0, 1, 0,
--				   arrayprint_recurse_level);
+ 				   arrayprint_recurse_level, false);
 -      fprintf_filtered (stream, " )");
-+				   arrayprint_recurse_level, 0);
 +      fprintf_filtered (stream, ")");
        break;
  
      case TYPE_CODE_FUNC:
-@@ -237,7 +241,8 @@ f_type_print_varspec_suffix (struct type *type, struct ui_file *stream,
- 	int i, nfields = TYPE_NFIELDS (type);
- 
- 	f_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream, 0,
--				     passed_a_ptr, 0, arrayprint_recurse_level);
-+				     passed_a_ptr, 0, arrayprint_recurse_level,
-+				     0);
- 	if (passed_a_ptr)
- 	  fprintf_filtered (stream, ") ");
- 	fprintf_filtered (stream, "(");
-@@ -416,7 +421,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),
--					   stream, show - 1, 0, 0, 0);
-+					   stream, show - 1, 0, 0, 0, 0);
- 	      fputs_filtered ("\n", stream);
- 	    }
- 	  fprintfi_filtered (level, stream, "End Type ");
 diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
 --- a/gdb/gdbtypes.c
 +++ b/gdb/gdbtypes.c
@@ -792,32 +694,12 @@ new file mode 100644
 +gdb_test "print *((integer*) &intvla + 3)" "= 4" "print temporary pointer, allocated vla"
 +gdb_test "print \$pc" "= \\(PTR TO -> \\( void \\(\\) \\(\\)\\)\\) $hex <pointers\\+\\d+>" "Print program counter"
 diff --git a/gdb/testsuite/gdb.fortran/pointers.f90 b/gdb/testsuite/gdb.fortran/pointers.f90
-new file mode 100644
---- /dev/null
+--- a/gdb/testsuite/gdb.fortran/pointers.f90
 +++ b/gdb/testsuite/gdb.fortran/pointers.f90
-@@ -0,0 +1,109 @@
-+! Copyright 2016 Free Software Foundation, Inc.
-+!
-+! This program is free software; you can redistribute it and/or modify
-+! it under the terms of the GNU General Public License as published by
-+! the Free Software Foundation; either version 3 of the License, or
-+! (at your option) any later version.
-+!
-+! This program is distributed in the hope that it will be useful,
-+! but WITHOUT ANY WARRANTY; without even the implied warranty of
-+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+! GNU General Public License for more details.
-+!
-+! You should have received a copy of the GNU General Public License
-+! along with this program.  If not, see <http://www.gnu.org/licenses/>.
-+
-+program pointers
-+
-+  type :: two
-+    integer, allocatable :: ivla1 (:)
-+    integer, allocatable :: ivla2 (:, :)
-+  end type two
-+
+@@ -20,21 +20,34 @@ program pointers
+     integer, allocatable :: ivla2 (:, :)
+   end type two
+ 
 +  type :: typeWithPointer
 +    integer i
 +    type(typeWithPointer), pointer:: p
@@ -827,229 +709,129 @@ new file mode 100644
 +    type (two), pointer :: p
 +  end type twoPtr
 +
-+  logical, target :: logv
-+  complex, target :: comv
-+  character, target :: charv
-+  character (len=3), target :: chara
-+  integer, target :: intv
-+  integer, target, dimension (10,2) :: inta
+   logical, target :: logv
+   complex, target :: comv
+   character, target :: charv
+   character (len=3), target :: chara
+   integer, target :: intv
+   integer, target, dimension (10,2) :: inta
+-  real, target :: realv
+-  type(two), target :: twov
 +  integer, target, allocatable, dimension (:) :: intvla
 +  real, target    :: realv
 +  type(two), target  :: twov
 +  type(twoPtr) :: arrayOfPtr (3)
 +  type(typeWithPointer), target:: cyclicp1,cyclicp2
-+
-+  logical, pointer :: logp
-+  complex, pointer :: comp
+ 
+   logical, pointer :: logp
+   complex, pointer :: comp
+-  character, pointer :: charp
+-  character (len=3), pointer :: charap
 +  character, pointer:: charp
 +  character (len=3), pointer:: charap
-+  integer, pointer :: intp
-+  integer, pointer, dimension (:,:) :: intap
+   integer, pointer :: intp
+   integer, pointer, dimension (:,:) :: intap
 +  integer, pointer, dimension (:) :: intvlap
-+  real, pointer :: realp
-+  type(two), pointer :: twop
-+
-+  nullify (logp)
-+  nullify (comp)
-+  nullify (charp)
-+  nullify (charap)
-+  nullify (intp)
-+  nullify (intap)
+   real, pointer :: realp
+   type(two), pointer :: twop
+ 
+@@ -44,8 +57,14 @@ program pointers
+   nullify (charap)
+   nullify (intp)
+   nullify (intap)
 +  nullify (intvlap)
-+  nullify (realp)
-+  nullify (twop)
+   nullify (realp)
+   nullify (twop)
 +  nullify (arrayOfPtr(1)%p)
 +  nullify (arrayOfPtr(2)%p)
 +  nullify (arrayOfPtr(3)%p)
 +  nullify (cyclicp1%p)
 +  nullify (cyclicp2%p)
-+
-+  logp => logv    ! Before pointer assignment
-+  comp => comv
-+  charp => charv
-+  charap => chara
-+  intp => intv
-+  intap => inta
+ 
+   logp => logv    ! Before pointer assignment
+   comp => comv
+@@ -53,8 +72,14 @@ program pointers
+   charap => chara
+   intp => intv
+   intap => inta
 +  intvlap => intvla
-+  realp => realv
-+  twop => twov
+   realp => realv
+   twop => twov
 +  arrayOfPtr(2)%p => twov
 +  cyclicp1%i = 1
 +  cyclicp1%p => cyclicp2
 +  cyclicp2%i = 2
 +  cyclicp2%p => cyclicp1
-+
-+  logv = associated(logp)     ! Before value assignment
-+  comv = cmplx(1,2)
-+  charv = "a"
-+  chara = "abc"
-+  intv = 10
-+  inta(:,:) = 1
-+  inta(3,1) = 3
+ 
+   logv = associated(logp)     ! Before value assignment
+   comv = cmplx(1,2)
+@@ -63,6 +88,10 @@ program pointers
+   intv = 10
+   inta(:,:) = 1
+   inta(3,1) = 3
 +  allocate (intvla(10))
 +  intvla(:) = 2
 +  intvla(4) = 4
 +  intvlap => intvla
-+  realv = 3.14
-+
-+  allocate (twov%ivla1(3))
-+  allocate (twov%ivla2(2,2))
-+  twov%ivla1(1) = 11
-+  twov%ivla1(2) = 12
-+  twov%ivla1(3) = 13
-+  twov%ivla2(1,1) = 211
-+  twov%ivla2(2,1) = 221
-+  twov%ivla2(1,2) = 212
-+  twov%ivla2(2,2) = 222
-+
-+  intv = intv + 1 ! After value assignment
-+
-+end program pointers
+   realv = 3.14
+ 
+   allocate (twov%ivla1(3))
 diff --git a/gdb/testsuite/gdb.fortran/print_type.exp b/gdb/testsuite/gdb.fortran/print_type.exp
-new file mode 100644
---- /dev/null
+--- a/gdb/testsuite/gdb.fortran/print_type.exp
 +++ b/gdb/testsuite/gdb.fortran/print_type.exp
-@@ -0,0 +1,100 @@
-+# Copyright 2016 Free Software Foundation, Inc.
-+
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; either version 3 of the License, or
-+# (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+# GNU General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-+
-+standard_testfile "pointers.f90"
-+load_lib fortran.exp
-+
-+if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \
-+    {debug f90 quiet}] } {
-+    return -1
-+}
-+
-+
-+if ![runto_main] {
-+    untested "could not run to main"
-+    return -1
-+}
-+
-+# Depending on the compiler being used, the type names can be printed differently.
-+set logical [fortran_logical4]
-+set real [fortran_real4]
-+set int [fortran_int4]
-+set complex [fortran_complex4]
-+
-+gdb_breakpoint [gdb_get_line_number "Before pointer assignment"]
-+gdb_continue_to_breakpoint "Before pointer assignment"
-+gdb_test "ptype logp" "type = PTR TO -> \\( $logical\\)" "ptype logp, not associated"
-+gdb_test "ptype comp" "type = PTR TO -> \\( $complex\\)" "ptype comp, not associated"
-+gdb_test "ptype charp" "type = PTR TO -> \\( character\\*1\\)" "ptype charp, not associated"
-+gdb_test "ptype charap" "type = PTR TO -> \\( character\\*3\\)" "ptype charap, not associated"
-+gdb_test "ptype intp" "type = PTR TO -> \\( $int\\)" "ptype intp, not associated"
-+set test "ptype intap, not associated"
-+gdb_test_multiple "ptype intap" $test {
-+    -re "type = PTR TO -> \\( $int \\(:,:\\)\\)\r\n$gdb_prompt $" {
-+        pass $test
-+    }
-+    -re "type = $int \\(:,:\\)\r\n$gdb_prompt $" {
-+        pass $test
-+    }
-+}
-+gdb_test "ptype realp" "type = PTR TO -> \\( $real\\)" "ptype realp, not associated"
-+gdb_test "ptype twop" \
-+    [multi_line "type = PTR TO -> \\( Type two" \
-+                "    $int, allocatable :: ivla1\\(:\\)" \
-+                "    $int, allocatable :: ivla2\\(:,:\\)" \
-+                "End Type two\\)"] \
-+    "ptype twop, not associated"
-+gdb_test "ptype two" \
-+    [multi_line "type = Type two" \
-+                "    $int, allocatable :: ivla1\\(:\\)" \
-+                "    $int, allocatable :: ivla2\\(:,:\\)" \
-+                "End Type two"]
-+
-+
-+gdb_breakpoint [gdb_get_line_number "Before value assignment"]
-+gdb_continue_to_breakpoint "Before value assignment"
-+gdb_test "ptype twop" \
-+    [multi_line "type = PTR TO -> \\( Type two" \
-+                "    $int, allocatable :: ivla1\\(:\\)" \
-+                "    $int, allocatable :: ivla2\\(:,:\\)" \
+@@ -1,5 +1,6 @@
+ # Copyright 2019 Free Software Foundation, Inc.
+ #
++
+ # This program is free software; you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
+ # the Free Software Foundation; either version 3 of the License, or
+@@ -40,7 +41,7 @@ set complex [fortran_complex4]
+ # matches the string TYPE.
+ proc check_pointer_type { var_name type } {
+     gdb_test "ptype ${var_name}" \
+-	"type = PTR TO -> \\( ${type} \\)"
++	"type = PTR TO -> \\( ${type}\\)"
+ }
+ 
+ gdb_breakpoint [gdb_get_line_number "Before pointer assignment"]
+@@ -85,7 +86,8 @@ gdb_test "ptype twop" \
+     [multi_line "type = PTR TO -> \\( Type two" \
+                 "    $int, allocatable :: ivla1\\(:\\)" \
+                 "    $int, allocatable :: ivla2\\(:,:\\)" \
+-                "End Type two \\)"]
 +                "End Type two\\)"]
 +
-+
-+gdb_breakpoint [gdb_get_line_number "After value assignment"]
-+gdb_continue_to_breakpoint "After value assignment"
-+gdb_test "ptype logv" "type = $logical"
-+gdb_test "ptype comv" "type = $complex"
-+gdb_test "ptype charv" "type = character\\*1"
-+gdb_test "ptype chara" "type = character\\*3"
-+gdb_test "ptype intv" "type = $int"
-+gdb_test "ptype inta" "type = $int \\(10,2\\)"
-+gdb_test "ptype realv" "type = $real"
-+
-+
+ 
+ gdb_breakpoint [gdb_get_line_number "After value assignment"]
+ gdb_continue_to_breakpoint "After value assignment"
+@@ -97,11 +99,11 @@ gdb_test "ptype intv" "type = $int"
+ gdb_test "ptype inta" "type = $int \\(10,2\\)"
+ gdb_test "ptype realv" "type = $real"
+ 
+-gdb_test "ptype logp" "type = PTR TO -> \\( $logical \\)"
+-gdb_test "ptype comp" "type = PTR TO -> \\( $complex \\)"
+-gdb_test "ptype charp" "type = PTR TO -> \\( character\\*1 \\)"
+-gdb_test "ptype charap" "type = PTR TO -> \\( character\\*3 \\)"
+-gdb_test "ptype intp" "type = PTR TO -> \\( $int \\)"
 +gdb_test "ptype logp" "type = PTR TO -> \\( $logical\\)"
 +gdb_test "ptype comp" "type = PTR TO -> \\( $complex\\)"
 +gdb_test "ptype charp" "type = PTR TO -> \\( character\\*1\\)"
 +gdb_test "ptype charap" "type = PTR TO -> \\( character\\*3\\)"
 +gdb_test "ptype intp" "type = PTR TO -> \\( $int\\)"
-+set test "ptype intap"
-+gdb_test_multiple $test $test {
-+    -re "type = $int \\(10,2\\)\r\n$gdb_prompt $" {
-+        pass $test
-+    }
-+    -re "type = PTR TO -> \\( $int \\(10,2\\)\\)\r\n$gdb_prompt $" {
-+        pass $test
-+    }
-+}
+ set test "ptype intap"
+ gdb_test_multiple $test $test {
+     -re "type = $int \\(10,2\\)\r\n$gdb_prompt $" {
+@@ -111,4 +113,4 @@ gdb_test_multiple $test $test {
+         pass $test
+     }
+ }
+-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
-@@ -32,9 +32,9 @@ set real [fortran_real4]
- # Check the ptype of various VLA states and pointer to VLA's.
- gdb_breakpoint [gdb_get_line_number "vla1-init"]
- gdb_continue_to_breakpoint "vla1-init"
--gdb_test "ptype vla1" "type = <not allocated>" "ptype vla1 not initialized"
--gdb_test "ptype vla2" "type = <not allocated>" "ptype vla2 not initialized"
--gdb_test "ptype pvla" "type = <not associated>" "ptype pvla not initialized"
-+gdb_test "ptype vla1" "type = $real, allocatable \\(:,:,:\\)" "ptype vla1 not initialized"
-+gdb_test "ptype vla2" "type = $real, allocatable \\(:,:,:\\)" "ptype vla2 not initialized"
-+gdb_test "ptype pvla" "type = $real \\(:,:,:\\)" "ptype pvla not initialized"
- gdb_test "ptype vla1(3, 6, 9)" "no such vector element \\\(vector not allocated\\\)" \
-   "ptype vla1(3, 6, 9) not initialized"
- gdb_test "ptype vla2(5, 45, 20)" \
-@@ -81,24 +81,24 @@ gdb_test "ptype vla2(5, 45, 20)" "type = $real" \
- 
- gdb_breakpoint [gdb_get_line_number "pvla-deassociated"]
- gdb_continue_to_breakpoint "pvla-deassociated"
--gdb_test "ptype pvla" "type = <not associated>" "ptype pvla deassociated"
-+gdb_test "ptype pvla" "type = $real \\(:,:,:\\)" "ptype pvla deassociated"
- gdb_test "ptype pvla(5, 45, 20)" \
-   "no such vector element \\\(vector not associated\\\)" \
-   "ptype pvla(5, 45, 20) not associated"
- 
- gdb_breakpoint [gdb_get_line_number "vla1-deallocated"]
- gdb_continue_to_breakpoint "vla1-deallocated"
--gdb_test "ptype vla1" "type = <not allocated>" "ptype vla1 not allocated"
-+gdb_test "ptype vla1" "type = $real, allocatable \\(:,:,:\\)" "ptype vla1 not allocated"
- gdb_test "ptype vla1(3, 6, 9)" "no such vector element \\\(vector not allocated\\\)" \
-   "ptype vla1(3, 6, 9) not allocated"
- 
- gdb_breakpoint [gdb_get_line_number "vla2-deallocated"]
- gdb_continue_to_breakpoint "vla2-deallocated"
--gdb_test "ptype vla2" "type = <not allocated>" "ptype vla2 not allocated"
-+gdb_test "ptype vla2" "type = $real, allocatable \\(:,:,:\\)" "ptype vla2 not allocated"
- gdb_test "ptype vla2(5, 45, 20)" \
-   "no such vector element \\\(vector not allocated\\\)" \
-   "ptype vla2(5, 45, 20) not allocated"
+@@ -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"
@@ -1207,30 +989,6 @@ new file mode 100644
 +  var_char_p => null()
 +  l = associated(var_char_p)              ! var_char_p-not-associated
 +end program vla_strings
-diff --git a/gdb/testsuite/gdb.fortran/vla-type.exp b/gdb/testsuite/gdb.fortran/vla-type.exp
---- a/gdb/testsuite/gdb.fortran/vla-type.exp
-+++ b/gdb/testsuite/gdb.fortran/vla-type.exp
-@@ -132,7 +132,10 @@ gdb_test "ptype fivearr(2)%tone" \
-                      "End Type one" ]
- 
- # Check allocation status of dynamic array and it's dynamic members
--gdb_test "ptype fivedynarr" "type = <not allocated>"
-+gdb_test "ptype fivedynarr" \
-+         [multi_line "type = Type five" \
-+                     "    Type one :: tone" \
-+                     "End Type five, allocatable \\(:\\)" ]
- gdb_test "next" ""
- gdb_test "ptype fivedynarr(2)" \
-          [multi_line "type = Type five" \
-@@ -141,7 +144,7 @@ gdb_test "ptype fivedynarr(2)" \
-          "ptype fivedynarr(2), tone is not allocated"
- gdb_test "ptype fivedynarr(2)%tone" \
-          [multi_line "type = Type one" \
--                     "    $int, allocatable :: ivla\\(<not allocated>\\)" \
-+                     "    $int, allocatable :: ivla\\(:,:,:\\)" \
-                      "End Type one" ] \
-          "ptype fivedynarr(2)%tone, not allocated"
- 
 diff --git a/gdb/testsuite/gdb.fortran/vla-value.exp b/gdb/testsuite/gdb.fortran/vla-value.exp
 --- a/gdb/testsuite/gdb.fortran/vla-value.exp
 +++ b/gdb/testsuite/gdb.fortran/vla-value.exp
@@ -1238,7 +996,7 @@ diff --git a/gdb/testsuite/gdb.fortran/vla-value.exp b/gdb/testsuite/gdb.fortran
  gdb_continue_to_breakpoint "vla1-init"
  gdb_test "print vla1" " = <not allocated>" "print non-allocated vla1"
  gdb_test "print &vla1" \
--  " = \\\(PTR TO -> \\\( $real, allocatable \\\(<not allocated>\\\) \\\)\\\) $hex" \
+-  " = \\\(PTR TO -> \\\( $real, allocatable \\\(:,:,:\\\) \\\)\\\) $hex" \
 +  " = \\\(PTR TO -> \\\( $real, allocatable \\\(:,:,:\\\)\\\)\\\) $hex" \
    "print non-allocated &vla1"
  gdb_test "print vla1(1,1,1)" "no such vector element \\\(vector not allocated\\\)" \
@@ -1256,7 +1014,7 @@ diff --git a/gdb/testsuite/gdb.fortran/vla-value.exp b/gdb/testsuite/gdb.fortran
  # Try to access values in undefined pointer to VLA (dangling)
  gdb_test "print pvla" " = <not associated>" "print undefined pvla"
  gdb_test "print &pvla" \
--  " = \\\(PTR TO -> \\\( $real \\\(<not associated>\\\) \\\)\\\) $hex" \
+-  " = \\\(PTR TO -> \\\( $real \\\(:,:,:\\\) \\\)\\\) $hex" \
 +  " = \\\(PTR TO -> \\\( $real \\\(:,:,:\\\)\\\)\\\) $hex" \
    "print non-associated &pvla"
  gdb_test "print pvla(1, 3, 8)" "no such vector element \\\(vector not associated\\\)" \
@@ -1270,35 +1028,6 @@ diff --git a/gdb/testsuite/gdb.fortran/vla-value.exp b/gdb/testsuite/gdb.fortran
    "print associated &pvla"
  gdb_test "print pvla(3, 6, 9)" " = 42" "print associated pvla(3,6,9)"
  gdb_test "print pvla(1, 3, 8)" " = 1001" "print associated pvla(1,3,8)"
-diff --git a/gdb/testsuite/gdb.mi/mi-vla-fortran.exp b/gdb/testsuite/gdb.mi/mi-vla-fortran.exp
---- a/gdb/testsuite/gdb.mi/mi-vla-fortran.exp
-+++ b/gdb/testsuite/gdb.mi/mi-vla-fortran.exp
-@@ -51,10 +51,10 @@ mi_expect_stop "breakpoint-hit" "vla" "" ".*vla.f90" "$bp_lineno" \
- mi_gdb_test "500-data-evaluate-expression vla1" \
-   "500\\^done,value=\"<not allocated>\"" "evaluate not allocated vla, before allocation"
- 
--mi_create_varobj_checked vla1_not_allocated vla1 "<not allocated>" \
-+mi_create_varobj_checked vla1_not_allocated vla1 "$real, allocatable \\(:\\)" \
-   "create local variable vla1_not_allocated"
- mi_gdb_test "501-var-info-type vla1_not_allocated" \
--  "501\\^done,type=\"<not allocated>\"" \
-+  "501\\^done,type=\"$real, allocatable \\(:\\)\"" \
-   "info type variable vla1_not_allocated"
- mi_gdb_test "502-var-show-format vla1_not_allocated" \
-   "502\\^done,format=\"natural\"" \
-@@ -146,10 +146,10 @@ gdb_expect {
-     -re "580\\^done,value=\"<not associated>\".*${mi_gdb_prompt}$" {
- 	pass $test
- 
--	mi_create_varobj_checked pvla2_not_associated pvla2 "<not associated>" \
-+	mi_create_varobj_checked pvla2_not_associated pvla2 "$real \\(:,:\\)" \
- 	    "create local variable pvla2_not_associated"
- 	mi_gdb_test "581-var-info-type pvla2_not_associated" \
--	    "581\\^done,type=\"<not associated>\"" \
-+	    "581\\^done,type=\"$real \\(:,:\\)\"" \
- 	    "info type variable pvla2_not_associated"
- 	mi_gdb_test "582-var-show-format pvla2_not_associated" \
- 	    "582\\^done,format=\"natural\"" \
 diff --git a/gdb/typeprint.c b/gdb/typeprint.c
 --- a/gdb/typeprint.c
 +++ b/gdb/typeprint.c
@@ -1364,7 +1093,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
-@@ -1142,12 +1142,6 @@ value_check_printable (struct value *val, struct ui_file *stream,
+@@ -1143,12 +1143,6 @@ value_check_printable (struct value *val, struct ui_file *stream,
        return 0;
      }
  

diff --git a/gdb.spec b/gdb.spec
index 07676b7..127a781 100644
--- a/gdb.spec
+++ b/gdb.spec
@@ -27,7 +27,7 @@
 Name: %{?scl_prefix}gdb
 
 # Freeze it when GDB gets branched
-%global snapsrc    20190610
+%global snapsrc    20190625
 # 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: 17%{?dist}
+Release: 18%{?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
+* Tue Jun 25 2019 Sergio Durigan Junior <sergiodj@redhat.com> - 8.3.50.20190625-18
+- Rebase to FSF GDB 8.3.50.20190625 (8.4pre).
+
 * Fri Jun 21 2019 Sergio Durigan Junior <sergiodj@redhat.com> - 8.3.50.20190610-17
 - Rebuild for librpm9 (RH BZ 1720305).
 

diff --git a/sources b/sources
index 966e7ed..4dda21c 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.20190610.tar.xz) = f9abdd8d6af6cc2d3aebf882f12b9e65cea5dfa772d0b98b55c1b7d6cb9510a347b5ef80cdd743764393f9475333e56c3839b8254205d4cff770664f81eda6ab
+SHA512 (gdb-8.3.50.20190625.tar.xz) = e374fc5ec3c27d40802c7f915bca2a5d98804a45d47e41723805f53610307a10926f1074cda8daaefd9eea1910a523b431b380cbd173e8174d331f1dbd726031

                 reply	other threads:[~2026-06-27 23:59 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=178260478687.1.9621660658292262002.rpms-gdb-292cb418af02@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