diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/bfd/ChangeLog ./bfd/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/bfd/ChangeLog	2019-10-03 01:49:19.000000000 +0000
+++ ./bfd/ChangeLog	2019-10-04 01:49:48.000000000 +0000
@@ -1,3 +1,37 @@
+2019-09-30  Nick Alcock  <nick.alcock@oracle.com>
+
+	* elf-bfd.h (bfd_section_is_ctf): New inline function.
+	* elf.c (special_sections_c): Add ".ctf".
+	(assign_file_positions_for_non_load_sections): Note that
+	compressed debugging sections etc are not assigned here.  Treat
+	CTF sections like SEC_ELF_COMPRESS sections when is_linker_output:
+	sh_offset -1.
+	(assign_file_positions_except_relocs): Likewise.
+	(find_section_in_list): Note that debugging and CTF sections, as
+	well as reloc sections, are assigned later.
+	(_bfd_elf_assign_file_positions_for_non_load): CTF sections get
+	their size and contents updated.
+	(_bfd_elf_set_section_contents): Skip CTF sections: unlike
+	compressed sections, they have no uncompressed content to copy at
+	this stage.
+	* elflink.c (elf_link_swap_symbols_out): Call the examine_strtab
+	callback right before the strtab is written out.
+	(bfd_elf_final_link): Don't cache the section contents of CTF
+	sections: they are not populated yet.  Call the emit_ctf callback
+	right at the end, after all the symbols and strings are flushed
+	out.
+
+2019-07-13  Nick Alcock  <nick.alcock@oracle.com>
+
+	* elf-strtab.c (_bfd_elf_strtab_len): New.
+	(_bfd_elf_strtab_str): Likewise.
+	* bfd-elf.h: Declare them.
+
+2019-07-13  Nick Alcock  <nick.alcock@oracle.com>
+
+	* elf-bfd.h (bfd_elf_get_str_section): Add.
+	* elf.c (bfd_elf_get_str_section): No longer static.
+
 2019-09-26  Alan Modra  <amodra@gmail.com>
 
 	PR 24262
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/bfd/elf-bfd.h ./bfd/elf-bfd.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/bfd/elf-bfd.h	2019-10-03 01:49:19.000000000 +0000
+++ ./bfd/elf-bfd.h	2019-10-04 01:49:48.000000000 +0000
@@ -2051,6 +2051,7 @@ extern char *bfd_elf_string_from_elf_sec
 extern Elf_Internal_Sym *bfd_elf_get_elf_syms
   (bfd *, Elf_Internal_Shdr *, size_t, size_t, Elf_Internal_Sym *, void *,
    Elf_External_Sym_Shndx *);
+extern char * bfd_elf_get_str_section (bfd *, unsigned int);
 extern const char *bfd_elf_sym_name
   (bfd *, Elf_Internal_Shdr *, Elf_Internal_Sym *, asection *);
 
@@ -2251,8 +2252,12 @@ extern void _bfd_elf_strtab_restore
   (struct elf_strtab_hash *, void *);
 extern bfd_size_type _bfd_elf_strtab_size
   (struct elf_strtab_hash *);
+extern bfd_size_type _bfd_elf_strtab_len
+  (struct elf_strtab_hash *);
 extern bfd_size_type _bfd_elf_strtab_offset
   (struct elf_strtab_hash *, size_t);
+extern const char * _bfd_elf_strtab_str
+  (struct elf_strtab_hash *, size_t idx, bfd_size_type *offset);
 extern bfd_boolean _bfd_elf_strtab_emit
   (bfd *, struct elf_strtab_hash *);
 extern void _bfd_elf_strtab_finalize
@@ -2960,6 +2965,14 @@ extern asection _bfd_elf_large_com_secti
 	 || (H)->start_stop \
 	 || ((INFO)->dynamic && !(H)->dynamic)))
 
+/* Determine if a section contains CTF data, using its name.  */
+static inline bfd_boolean
+bfd_section_is_ctf (const asection *sec)
+{
+  const char *name = bfd_section_name (sec);
+  return strncmp (name, ".ctf", 4) == 0 && (name[4] == 0 || name[4] == '.');
+}
+
 #ifdef __cplusplus
 }
 #endif
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/bfd/elf.c ./bfd/elf.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/bfd/elf.c	2019-10-03 01:49:19.000000000 +0000
+++ ./bfd/elf.c	2019-10-04 01:49:48.000000000 +0000
@@ -275,7 +275,7 @@ bfd_elf_mkcorefile (bfd *abfd)
   return elf_tdata (abfd)->core != NULL;
 }
 
-static char *
+char *
 bfd_elf_get_str_section (bfd *abfd, unsigned int shindex)
 {
   Elf_Internal_Shdr **i_shdrp;
@@ -2671,6 +2671,7 @@ static const struct bfd_elf_special_sect
 static const struct bfd_elf_special_section special_sections_c[] =
 {
   { STRING_COMMA_LEN (".comment"), 0, SHT_PROGBITS, 0 },
+  { STRING_COMMA_LEN (".ctf"),	0, SHT_PROGBITS,    0 },
   { NULL,			0, 0, 0,	    0 }
 };
 
@@ -5893,7 +5894,8 @@ is_debuginfo_file (bfd *abfd)
   return TRUE;
 }
 
-/* Assign file positions for the other sections.  */
+/* Assign file positions for the other sections, except for compressed debugging
+   and other sections assigned in _bfd_elf_assign_file_positions_for_non_load().  */
 
 static bfd_boolean
 assign_file_positions_for_non_load_sections (bfd *abfd,
@@ -5952,9 +5954,12 @@ assign_file_positions_for_non_load_secti
 	}
       else if (((hdr->sh_type == SHT_REL || hdr->sh_type == SHT_RELA)
 		&& hdr->bfd_section == NULL)
+	       /* We don't know the offset of these sections yet: their size has
+		  not been decided.  */
 	       || (hdr->bfd_section != NULL
-		   && (hdr->bfd_section->flags & SEC_ELF_COMPRESS))
-		   /* Compress DWARF debug sections.  */
+		   && (hdr->bfd_section->flags & SEC_ELF_COMPRESS
+		       || (bfd_section_is_ctf (hdr->bfd_section)
+			   && abfd->is_linker_output)))
 	       || hdr == i_shdrpp[elf_onesymtab (abfd)]
 	       || (elf_symtab_shndx_list (abfd) != NULL
 		   && hdr == i_shdrpp[elf_symtab_shndx_list (abfd)->ndx])
@@ -6222,11 +6227,12 @@ find_section_in_list (unsigned int i, el
    VMAs must be known before this is called.
 
    Reloc sections come in two flavours: Those processed specially as
-   "side-channel" data attached to a section to which they apply, and
-   those that bfd doesn't process as relocations.  The latter sort are
-   stored in a normal bfd section by bfd_section_from_shdr.   We don't
-   consider the former sort here, unless they form part of the loadable
-   image.  Reloc sections not assigned here will be handled later by
+   "side-channel" data attached to a section to which they apply, and those that
+   bfd doesn't process as relocations.  The latter sort are stored in a normal
+   bfd section by bfd_section_from_shdr.  We don't consider the former sort
+   here, unless they form part of the loadable image.  Reloc sections not
+   assigned here (and compressed debugging sections and CTF sections which
+   nothing else in the file can rely upon) will be handled later by
    assign_file_positions_for_relocs.
 
    We also don't set the positions of the .symtab and .strtab here.  */
@@ -6261,9 +6267,12 @@ assign_file_positions_except_relocs (bfd
 	  hdr = *hdrpp;
 	  if (((hdr->sh_type == SHT_REL || hdr->sh_type == SHT_RELA)
 	       && hdr->bfd_section == NULL)
+	      /* Do not assign offsets for these sections yet: we don't know
+		 their sizes.  */
 	      || (hdr->bfd_section != NULL
-		  && (hdr->bfd_section->flags & SEC_ELF_COMPRESS))
-		  /* Compress DWARF debug sections.  */
+		  && (hdr->bfd_section->flags & SEC_ELF_COMPRESS
+		      || (bfd_section_is_ctf (hdr->bfd_section)
+			  && abfd->is_linker_output)))
 	      || i == elf_onesymtab (abfd)
 	      || (elf_symtab_shndx_list (abfd) != NULL
 		  && hdr == i_shdrpp[elf_symtab_shndx_list (abfd)->ndx])
@@ -6471,10 +6480,12 @@ _bfd_elf_assign_file_positions_for_non_l
 	  asection *sec = shdrp->bfd_section;
 	  bfd_boolean is_rel = (shdrp->sh_type == SHT_REL
 				|| shdrp->sh_type == SHT_RELA);
+	  bfd_boolean is_ctf = sec && bfd_section_is_ctf (sec);
 	  if (is_rel
+	      || is_ctf
 	      || (sec != NULL && (sec->flags & SEC_ELF_COMPRESS)))
 	    {
-	      if (!is_rel)
+	      if (!is_rel && !is_ctf)
 		{
 		  const char *name = sec->name;
 		  struct bfd_elf_section_data *d;
@@ -6520,6 +6531,13 @@ _bfd_elf_assign_file_positions_for_non_l
 		  shdrp->contents = sec->contents;
 		  shdrp->bfd_section->contents = NULL;
 		}
+	      else if (is_ctf)
+		{
+		  /* Update section size and contents.	*/
+		  shdrp->sh_size = sec->size;
+		  shdrp->contents = sec->contents;
+		}
+
 	      off = _bfd_elf_assign_file_position_for_section (shdrp,
 							       off,
 							       TRUE);
@@ -9099,6 +9117,11 @@ _bfd_elf_set_section_contents (bfd *abfd
   hdr = &elf_section_data (section)->this_hdr;
   if (hdr->sh_offset == (file_ptr) -1)
     {
+      if (bfd_section_is_ctf (section))
+	/* Nothing to do with this section: the contents are generated
+	   later.  */
+	return TRUE;
+
       /* We must compress this section.  Write output to the buffer.  */
       unsigned char *contents = hdr->contents;
       if ((offset + count) > hdr->sh_size
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/bfd/elflink.c ./bfd/elflink.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/bfd/elflink.c	2019-10-03 01:49:19.000000000 +0000
+++ ./bfd/elflink.c	2019-10-04 01:49:49.000000000 +0000
@@ -9539,6 +9539,14 @@ elf_link_swap_symbols_out (struct elf_fi
 				+ elfsym->destshndx_index));
     }
 
+  /* Allow the linker to examine the strtab and symtab now they are
+     populated.  */
+
+  if (flinfo->info->callbacks->examine_strtab)
+    flinfo->info->callbacks->examine_strtab (hash_table->strtab,
+					     hash_table->strtabcount,
+					     flinfo->symstrtab);
+
   hdr = &elf_tdata (flinfo->output_bfd)->symtab_hdr;
   pos = hdr->sh_offset + hdr->sh_size;
   amt = hash_table->strtabcount * bed->s->sizeof_sym;
@@ -11810,7 +11818,7 @@ bfd_elf_final_link (bfd *abfd, struct bf
 
   /* The object attributes have been merged.  Remove the input
      sections from the link, and set the contents of the output
-     secton.  */
+     section.  */
   std_attrs_section = get_elf_backend_data (abfd)->obj_attrs_section;
   for (o = abfd->sections; o != NULL; o = o->next)
     {
@@ -12032,7 +12040,8 @@ bfd_elf_final_link (bfd *abfd, struct bf
       esdo->rel.count = 0;
       esdo->rela.count = 0;
 
-      if (esdo->this_hdr.sh_offset == (file_ptr) -1)
+      if ((esdo->this_hdr.sh_offset == (file_ptr) -1)
+	  && !bfd_section_is_ctf (o))
 	{
 	  /* Cache the section contents so that they can be compressed
 	     later.  Use bfd_malloc since it will be freed by
@@ -12048,10 +12057,10 @@ bfd_elf_final_link (bfd *abfd, struct bf
 	}
     }
 
-  /* We have now assigned file positions for all the sections except
-     .symtab, .strtab, and non-loaded reloc sections.  We start the
-     .symtab section at the current file position, and write directly
-     to it.  We build the .strtab section in memory.  */
+  /* We have now assigned file positions for all the sections except .symtab,
+     .strtab, and non-loaded reloc and compressed debugging sections.  We start
+     the .symtab section at the current file position, and write directly to it.
+     We build the .strtab section in memory.  */
   abfd->symcount = 0;
   symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
   /* sh_name is set in prep_headers.  */
@@ -12837,6 +12846,9 @@ bfd_elf_final_link (bfd *abfd, struct bf
   if (! _bfd_elf_write_section_eh_frame_hdr (abfd, info))
     goto error_return;
 
+  if (info->callbacks->emit_ctf)
+      info->callbacks->emit_ctf ();
+
   elf_final_link_free (abfd, &flinfo);
 
   if (attr_section)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/bfd/elf-strtab.c ./bfd/elf-strtab.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/bfd/elf-strtab.c	2019-10-03 01:49:19.000000000 +0000
+++ ./bfd/elf-strtab.c	2019-10-04 01:49:48.000000000 +0000
@@ -271,6 +271,12 @@ _bfd_elf_strtab_size (struct elf_strtab_
 }
 
 bfd_size_type
+_bfd_elf_strtab_len (struct elf_strtab_hash *tab)
+{
+  return tab->size;
+}
+
+bfd_size_type
 _bfd_elf_strtab_offset (struct elf_strtab_hash *tab, size_t idx)
 {
   struct elf_strtab_hash_entry *entry;
@@ -285,6 +291,19 @@ _bfd_elf_strtab_offset (struct elf_strta
   return tab->array[idx]->u.index;
 }
 
+const char *
+_bfd_elf_strtab_str (struct elf_strtab_hash *tab, size_t idx,
+		     bfd_size_type *offset)
+{
+  if (idx == 0)
+    return 0;
+  BFD_ASSERT (idx < tab->size);
+  BFD_ASSERT (tab->sec_size);
+  if (offset)
+    *offset = tab->array[idx]->u.index;
+  return tab->array[idx]->root.string;
+}
+
 bfd_boolean
 _bfd_elf_strtab_emit (register bfd *abfd, struct elf_strtab_hash *tab)
 {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/bfd/version.h ./bfd/version.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/bfd/version.h	2019-10-03 01:49:19.000000000 +0000
+++ ./bfd/version.h	2019-10-04 01:49:49.000000000 +0000
@@ -16,7 +16,7 @@
 
    In releases, the date is not included in either version strings or
    sonames.  */
-#define BFD_VERSION_DATE 20191003
+#define BFD_VERSION_DATE 20191004
 #define BFD_VERSION @bfd_version@
 #define BFD_VERSION_STRING  @bfd_version_package@ @bfd_version_string@
 #define REPORT_BUGS_TO @report_bugs_to@
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/ChangeLog ./ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/ChangeLog	2019-10-03 01:49:19.000000000 +0000
+++ ./ChangeLog	2019-10-04 01:49:48.000000000 +0000
@@ -1,3 +1,13 @@
+2019-07-30  Nick Alcock  <nick.alcock@oracle.com>
+
+	* Makefile.def (host_modules): libctf is no longer no_install.
+	* Makefile.in: Regenerated.
+
+2019-07-13  Nick Alcock  <nick.alcock@oracle.com>
+
+	* Makefile.def (dependencies): all-ld depends on all-libctf.
+	* Makefile.in: Regenerated.
+
 2019-09-09  Phil Blundell  <pb@pbcl.net>
 
 	binutils 2.33 branch created
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/djunpack.bat ./djunpack.bat
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/djunpack.bat	2019-10-03 01:53:03.000000000 +0000
+++ ./djunpack.bat	2019-10-04 01:54:01.000000000 +0000
@@ -17,8 +17,8 @@ Rem
 Rem The following 2 lines need to be changed with each new GDB release, to
 Rem be identical to the name of the top-level directory where the GDB
 Rem distribution unpacks itself.
-set GDBVER=$package-8.3.50.20191003
-if "%GDBVER%"=="$package-8.3.50.20191003" GoTo EnvOk
+set GDBVER=$package-8.3.50.20191004
+if "%GDBVER%"=="$package-8.3.50.20191004" GoTo EnvOk
 Rem If their environment space is too small, re-exec with a larger one
 command.com /e:4096 /c %0 %1
 GoTo End
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/btrace.c ./gdb/btrace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/btrace.c	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/btrace.c	2019-10-04 01:49:51.000000000 +0000
@@ -1579,7 +1579,7 @@ btrace_add_pc (struct thread_info *tp)
   pc = regcache_read_pc (regcache);
 
   btrace.format = BTRACE_FORMAT_BTS;
-  btrace.variant.bts.blocks = new std::vector <btrace_block>;
+  btrace.variant.bts.blocks = new std::vector<btrace_block>;
 
   btrace.variant.bts.blocks->emplace_back (pc, pc);
 
@@ -2036,7 +2036,7 @@ parse_xml_btrace_block (struct gdb_xml_p
 
     case BTRACE_FORMAT_NONE:
       btrace->format = BTRACE_FORMAT_BTS;
-      btrace->variant.bts.blocks = new std::vector <btrace_block>;
+      btrace->variant.bts.blocks = new std::vector<btrace_block>;
       break;
 
     default:
@@ -2963,7 +2963,7 @@ btrace_maint_decode_pt (struct btrace_ma
   int errcode;
 
   if (maint->variant.pt.packets == NULL)
-    maint->variant.pt.packets = new std::vector <btrace_pt_packet>;
+    maint->variant.pt.packets = new std::vector<btrace_pt_packet>;
 
   for (;;)
     {
@@ -3095,7 +3095,7 @@ btrace_maint_update_packets (struct btra
 #if defined (HAVE_LIBIPT)
     case BTRACE_FORMAT_PT:
       if (btinfo->maint.variant.pt.packets == nullptr)
-	btinfo->maint.variant.pt.packets = new std::vector <btrace_pt_packet>;
+	btinfo->maint.variant.pt.packets = new std::vector<btrace_pt_packet>;
 
       if (btinfo->maint.variant.pt.packets->empty ())
 	btrace_maint_update_pt_packets (btinfo);
@@ -3123,7 +3123,7 @@ btrace_maint_print_packets (struct btrac
 
     case BTRACE_FORMAT_BTS:
       {
-	const std::vector <btrace_block> &blocks
+	const std::vector<btrace_block> &blocks
 	  = *btinfo->data.variant.bts.blocks;
 	unsigned int blk;
 
@@ -3144,7 +3144,7 @@ btrace_maint_print_packets (struct btrac
 #if defined (HAVE_LIBIPT)
     case BTRACE_FORMAT_PT:
       {
-	const std::vector <btrace_pt_packet> &packets
+	const std::vector<btrace_pt_packet> &packets
 	  = *btinfo->maint.variant.pt.packets;
 	unsigned int pkt;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/btrace.h ./gdb/btrace.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/btrace.h	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/btrace.h	2019-10-04 01:49:51.000000000 +0000
@@ -297,7 +297,7 @@ struct btrace_maint_info
     struct
     {
       /* A vector of decoded packets.  */
-      std::vector <btrace_pt_packet> *packets;
+      std::vector<btrace_pt_packet> *packets;
 
       /* The packet history iterator.
 	 We are iterating over the above PACKETS vector.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/ChangeLog ./gdb/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/ChangeLog	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/ChangeLog	2019-10-04 01:49:50.000000000 +0000
@@ -1,3 +1,54 @@
+2019-10-03  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* f-lang.c (f_language_defn): Use cp_get_symbol_name_matcher and
+	cp_search_name_hash.
+	* NEWS: Add entry about nested function support.
+
+2019-10-03  Bernhard Heckel  <bernhard.heckel@intel.com>
+	    Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* cp-namespace.c (cp_search_static_and_baseclasses): Only search
+	for nested static variables when searchin VAR_DOMAIN.
+	* dwarf2read.c (add_partial_symbol): Add nested subroutines to the
+	global scope, update comment.
+	(add_partial_subprogram): Call add_partial_subprogram recursively
+	for nested subroutines when processinng Fortran.
+	(load_partial_dies): Process the child entities of a subprogram
+	when processing Fortran.
+	(partial_die_parent_scope): Handle building scope
+	for Fortran nested functions.
+	(process_die): Record that nested functions have a scope.
+	(new_symbol): Always record Fortran subprograms on the global
+	symbol list.
+	(determine_prefix): How to build the prefix for Fortran
+	subprograms.
+
+2019-10-03  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* linux-nat.c (linux_nat_filter_event): Don't ignore SIGSTOP if we
+	have just sent the thread a SIGSTOP and are waiting for it to
+	arrive.
+
+2019-10-03  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* btrace.c (btrace_add_pc): Remove whitespace before the template
+	parameter in 'std::vector <...>'.
+	(parse_xml_btrace_block): Likewise.
+	(btrace_maint_decode_pt): Likewise.
+	(btrace_maint_update_packets): Likewise.
+	(btrace_maint_print_packets): Likewise.
+	* btrace.h (struct btrace_maint_info): Likewise.
+	* dwarf2read.c (struct type_unit_group): Likewise.
+	(build_type_psymtabs_reader): Likewise.
+	* gdbsupport/btrace-common.c (btrace_data_append): Likewise.
+	* gdbsupport/btrace-common.h (struct btrace_data_bts): Likewise.
+	* nat/linux-btrace.c (perf_event_read_bts): Likewise.
+
+2019-10-03  Tom de Vries  <tdevries@suse.de>
+
+	* cli/cli-style.c (_initialize_cli_style): Adding a '.' at the end of
+	the first line of the help text for set/show style metadata.
+
 2019-10-02  Tom Tromey  <tromey@adacore.com>
 
 	* Makefile.in (COMMON_SFILES): Add common-inferior.c.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/cli/cli-style.c ./gdb/cli/cli-style.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/cli/cli-style.c	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/cli/cli-style.c	2019-10-04 01:49:51.000000000 +0000
@@ -379,7 +379,7 @@ of their output."));
 
   STYLE_ADD_SETSHOW_COMMANDS (metadata_style,
 			      _("\
-Metadata display styling\n\
+Metadata display styling.\n\
 Configure metadata colors and display intensity\n\
 The \"metadata\" style is used when GDB displays information about\n\
 your data, for example \"<unavailable>\""));
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/cp-namespace.c ./gdb/cp-namespace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/cp-namespace.c	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/cp-namespace.c	2019-10-04 01:49:51.000000000 +0000
@@ -278,8 +278,9 @@ cp_search_static_and_baseclasses (const 
 
   /* If the scope is a function/method, then look up NESTED as a local
      static variable.  E.g., "print 'function()::static_var'".  */
-  if (TYPE_CODE (scope_type) == TYPE_CODE_FUNC
-      || TYPE_CODE (scope_type) == TYPE_CODE_METHOD)
+  if ((TYPE_CODE (scope_type) == TYPE_CODE_FUNC
+       || TYPE_CODE (scope_type) == TYPE_CODE_METHOD)
+      && domain == VAR_DOMAIN)
     return lookup_symbol (nested, SYMBOL_BLOCK_VALUE (scope_sym.symbol),
 			  VAR_DOMAIN, NULL);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/doc/ChangeLog ./gdb/doc/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/doc/ChangeLog	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/doc/ChangeLog	2019-10-04 01:49:51.000000000 +0000
@@ -1,3 +1,7 @@
+2019-10-03  Bernhard Heckel  <bernhard.heckel@intel.com>
+
+	* doc/gdb.texinfo (Fortran Operators): Describe scope operator.
+
 2019-10-02  Tom Tromey  <tromey@adacore.com>
 
 	* gdb.texinfo (Set Catchpoints, Convenience Vars): Document
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/doc/gcore.1 ./gdb/doc/gcore.1
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/doc/gcore.1	2019-10-03 01:52:56.000000000 +0000
+++ ./gdb/doc/gcore.1	2019-10-04 01:53:54.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GCORE 1"
-.TH GCORE 1 "2019-10-03" "gdb-8.3.50.20191003-git" "GNU Development Tools"
+.TH GCORE 1 "2019-10-04" "gdb-8.3.50.20191004-git" "GNU Development Tools"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/doc/gdb.1 ./gdb/doc/gdb.1
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/doc/gdb.1	2019-10-03 01:52:56.000000000 +0000
+++ ./gdb/doc/gdb.1	2019-10-04 01:53:53.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDB 1"
-.TH GDB 1 "2019-10-03" "gdb-8.3.50.20191003-git" "GNU Development Tools"
+.TH GDB 1 "2019-10-04" "gdb-8.3.50.20191004-git" "GNU Development Tools"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/doc/gdb-add-index.1 ./gdb/doc/gdb-add-index.1
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/doc/gdb-add-index.1	2019-10-03 01:52:57.000000000 +0000
+++ ./gdb/doc/gdb-add-index.1	2019-10-04 01:53:54.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDB-ADD-INDEX 1"
-.TH GDB-ADD-INDEX 1 "2019-10-03" "gdb-8.3.50.20191003-git" "GNU Development Tools"
+.TH GDB-ADD-INDEX 1 "2019-10-04" "gdb-8.3.50.20191004-git" "GNU Development Tools"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/doc/gdb.info ./gdb/doc/gdb.info
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/doc/gdb.info	2019-10-03 01:52:53.000000000 +0000
+++ ./gdb/doc/gdb.info	2019-10-04 01:53:50.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of 'Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 8.3.50.20191003-git.
+Source-Level Debugger' for GDB (GDB) Version 8.3.50.20191004-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
@@ -40,12 +40,12 @@ developing GNU and promoting software fr
 Indirect:
 gdb.info-1: 1716
 gdb.info-2: 305870
-gdb.info-3: 604653
-gdb.info-4: 903217
-gdb.info-5: 1202439
-gdb.info-6: 1512231
-gdb.info-7: 1807974
-gdb.info-8: 2196629
+gdb.info-3: 601844
+gdb.info-4: 903406
+gdb.info-5: 1202628
+gdb.info-6: 1512420
+gdb.info-7: 1808163
+gdb.info-8: 2196818
 
 Tag Table:
 (Indirect)
@@ -280,541 +280,541 @@ Node: OpenCL C Expressions592311
 Node: OpenCL C Operators592668
 Node: Fortran592900
 Node: Fortran Operators593621
-Node: Fortran Defaults594477
-Node: Special Fortran Commands594862
-Node: Pascal595368
-Node: Rust595879
-Node: Modula-2598966
-Node: M2 Operators599939
-Node: Built-In Func/Proc604653
-Node: M2 Constants607567
-Node: M2 Types609168
-Node: M2 Defaults612386
-Node: Deviations612987
-Node: M2 Checks614088
-Node: M2 Scope614905
-Node: GDB/M2615929
-Node: Ada616842
-Node: Ada Mode Intro618148
-Node: Omissions from Ada619650
-Node: Additions to Ada624005
-Node: Overloading support for Ada627933
-Node: Stopping Before Main Program629573
-Node: Ada Exceptions630120
-Node: Ada Tasks631319
-Node: Ada Tasks and Core Files637811
-Node: Ravenscar Profile638658
-Node: Ada Settings639729
-Node: Ada Glitches641151
-Node: Unsupported Languages645159
-Node: Symbols645849
-Ref: quoting names646452
-Node: Altering676204
-Node: Assignment677242
-Node: Jumping680348
-Node: Signaling682422
-Node: Returning685351
-Node: Calling688702
-Node: Patching694187
-Node: Compiling and Injecting Code695301
-Ref: set debug compile698928
-Ref: set debug compile-cplus-types699178
-Node: GDB Files709199
-Node: Files709988
-Ref: Shared Libraries723705
-Ref: Files-Footnote-1735903
-Node: File Caching736032
-Node: Separate Debug Files737166
-Ref: debug-file-directory740519
-Node: MiniDebugInfo749134
-Node: Index Files751585
-Node: Symbol Errors755756
-Node: Data Files759372
-Node: Targets760328
-Node: Active Targets761808
-Node: Target Commands762882
-Ref: load767271
-Ref: flash-erase768464
-Node: Byte Order768524
-Node: Remote Debugging769963
-Node: Connecting771225
-Ref: --multi Option in Types of Remote Connnections773451
-Ref: Attaching in Types of Remote Connections774866
-Ref: Host and target files775367
-Node: File Transfer783989
-Node: Server784928
-Ref: Running gdbserver786504
-Ref: Attaching to a program788722
-Ref: Other Command-Line Arguments for gdbserver791247
-Ref: Monitor Commands for gdbserver794566
-Ref: Server-Footnote-1799942
-Node: Remote Configuration800062
-Ref: set remotebreak801322
-Ref: set remote hardware-watchpoint-limit802784
-Ref: set remote hardware-breakpoint-limit802784
-Ref: set remote hardware-watchpoint-length-limit803286
-Ref: set remote exec-file803741
-Node: Remote Stub815546
-Node: Stub Contents818441
-Node: Bootstrapping820548
-Node: Debug Session824363
-Node: Configurations826404
-Node: Native827173
-Node: BSD libkvm Interface827742
-Node: Process Information828794
-Node: DJGPP Native834342
-Node: Cygwin Native840896
-Node: Non-debug DLL Symbols845817
-Node: Hurd Native850056
-Node: Darwin855312
-Node: FreeBSD856589
-Node: Embedded OS857309
-Node: Embedded Processors857720
-Node: ARC858710
-Node: ARM859257
-Node: M68K861804
-Node: MicroBlaze861977
-Node: MIPS Embedded863426
-Node: OpenRISC 1000864723
-Node: PowerPC Embedded865629
-Node: AVR868858
-Node: CRIS869230
-Node: Super-H870206
-Node: Architectures871265
-Node: AArch64871661
-Node: i386873234
-Ref: i386-Footnote-1877444
-Node: Alpha877530
-Node: MIPS877663
-Node: HPPA881557
-Node: PowerPC882079
-Node: Nios II882815
-Node: Sparc64883220
-Node: S12Z885588
-Node: Controlling GDB885881
-Node: Prompt886824
-Node: Editing888542
-Node: Command History889584
-Node: Screen Size893890
-Node: Output Styling895906
-Node: Numbers899519
-Node: ABI903217
-Node: Auto-loading906390
-Ref: set auto-load off907765
-Ref: show auto-load908401
-Ref: info auto-load909180
-Node: Init File in the Current Directory912147
-Ref: set auto-load local-gdbinit912722
-Ref: show auto-load local-gdbinit912904
-Ref: info auto-load local-gdbinit913068
-Node: libthread_db.so.1 file913216
-Ref: set auto-load libthread-db914155
-Ref: show auto-load libthread-db914286
-Ref: info auto-load libthread-db914423
-Node: Auto-loading safe path914607
-Ref: set auto-load safe-path915913
-Ref: show auto-load safe-path916652
-Ref: add-auto-load-safe-path916775
-Node: Auto-loading verbose mode919677
-Ref: set debug auto-load920840
-Ref: show debug auto-load920941
-Node: Messages/Warnings921063
-Ref: confirmation requests922497
-Node: Debugging Output923701
-Node: Other Misc Settings933521
-Node: Extending GDB934545
-Node: Sequences936398
-Node: Define937059
-Node: Hooks941139
-Node: Command Files943505
-Node: Output948578
-Ref: eval953380
-Node: Auto-loading sequences953542
-Ref: set auto-load gdb-scripts954037
-Ref: show auto-load gdb-scripts954161
-Ref: info auto-load gdb-scripts954291
-Node: Python954522
-Node: Python Commands955808
-Node: Python API957922
-Node: Basic Python960527
-Ref: prompt_hook971564
-Node: Exception Handling972162
-Node: Values From Inferior975064
-Node: Types In Python992399
-Node: Pretty Printing API1002391
-Node: Selecting Pretty-Printers1006834
-Node: Writing a Pretty-Printer1009561
-Node: Type Printing API1014883
-Node: Frame Filter API1017499
-Node: Frame Decorator API1024811
-Ref: frame_args1028552
-Node: Writing a Frame Filter1031882
-Node: Unwinding Frames in Python1043356
-Node: Xmethods In Python1050994
-Node: Xmethod API1053890
-Node: Writing an Xmethod1057702
-Node: Inferiors In Python1063537
-Node: Events In Python1067296
-Node: Threads In Python1076504
-Node: Recordings In Python1079734
-Node: Commands In Python1087068
-Node: Parameters In Python1096481
-Node: Functions In Python1103419
-Node: Progspaces In Python1105636
-Node: Objfiles In Python1110541
-Node: Frames In Python1117203
-Node: Blocks In Python1124209
-Node: Symbols In Python1128876
-Node: Symbol Tables In Python1136903
-Node: Line Tables In Python1140124
-Node: Breakpoints In Python1142961
-Ref: python_breakpoint_thread1149284
-Node: Finish Breakpoints in Python1152317
-Node: Lazy Strings In Python1154423
-Node: Architectures In Python1156651
-Node: Python Auto-loading1158840
-Ref: set auto-load python-scripts1159469
-Ref: show auto-load python-scripts1159569
-Ref: info auto-load python-scripts1159675
-Node: Python modules1160809
-Node: gdb.printing1161195
-Node: gdb.types1162622
-Node: gdb.prompt1165634
-Node: Guile1167283
-Node: Guile Introduction1167942
-Node: Guile Commands1168813
-Node: Guile API1170667
-Node: Basic Guile1172664
-Node: Guile Configuration1178346
-Node: GDB Scheme Data Types1179322
-Node: Guile Exception Handling1181154
-Node: Values From Inferior In Guile1185188
-Node: Arithmetic In Guile1202439
-Node: Types In Guile1204070
-Ref: Fields of a type in Guile1212011
-Node: Guile Pretty Printing API1213399
-Node: Selecting Guile Pretty-Printers1219128
-Node: Writing a Guile Pretty-Printer1221504
-Node: Commands In Guile1226689
-Node: Parameters In Guile1237469
-Ref: Parameters In Guile-Footnote-11244350
-Node: Progspaces In Guile1244466
-Node: Objfiles In Guile1247054
-Node: Frames In Guile1249335
-Node: Blocks In Guile1255913
-Node: Symbols In Guile1260721
-Node: Symbol Tables In Guile1268056
-Node: Breakpoints In Guile1271019
-Node: Lazy Strings In Guile1281280
-Node: Architectures In Guile1283571
-Node: Disassembly In Guile1287878
-Node: I/O Ports in Guile1291080
-Node: Memory Ports in Guile1291636
-Node: Iterators In Guile1294902
-Node: Guile Auto-loading1299191
-Ref: set auto-load guile-scripts1299814
-Ref: show auto-load guile-scripts1299912
-Ref: info auto-load guile-scripts1300016
-Node: Guile Modules1300975
-Node: Guile Printing Module1301297
-Node: Guile Types Module1302116
-Node: Auto-loading extensions1303409
-Node: objfile-gdbdotext file1304607
-Ref: set auto-load scripts-directory1306043
-Ref: with-auto-load-dir1306419
-Ref: show auto-load scripts-directory1307237
-Ref: add-auto-load-scripts-directory1307317
-Node: dotdebug_gdb_scripts section1307793
-Node: Which flavor to choose?1311543
-Node: Multiple Extension Languages1313364
-Node: Aliases1314428
-Node: Interpreters1317293
-Node: TUI1320444
-Node: TUI Overview1321442
-Node: TUI Keys1323875
-Node: TUI Single Key Mode1326179
-Node: TUI Commands1327362
-Node: TUI Configuration1331129
-Node: Emacs1332618
-Node: GDB/MI1338055
-Node: GDB/MI General Design1340029
-Node: Context management1342549
-Node: Asynchronous and non-stop modes1346336
-Node: Thread groups1349310
-Node: GDB/MI Command Syntax1351588
-Node: GDB/MI Input Syntax1351831
-Node: GDB/MI Output Syntax1353381
-Node: GDB/MI Compatibility with CLI1356966
-Node: GDB/MI Development and Front Ends1357703
-Node: GDB/MI Output Records1361222
-Node: GDB/MI Result Records1361628
-Node: GDB/MI Stream Records1362978
-Node: GDB/MI Async Records1364243
-Node: GDB/MI Breakpoint Information1374680
-Node: GDB/MI Frame Information1380315
-Node: GDB/MI Thread Information1381597
-Node: GDB/MI Ada Exception Information1383067
-Node: GDB/MI Simple Examples1383617
-Node: GDB/MI Command Description Format1385853
-Node: GDB/MI Breakpoint Commands1386733
-Ref: -break-insert1393841
-Node: GDB/MI Catchpoint Commands1407415
-Node: Shared Library GDB/MI Catchpoint Commands1407828
-Node: Ada Exception GDB/MI Catchpoint Commands1409486
-Node: C++ Exception GDB/MI Catchpoint Commands1413036
-Node: GDB/MI Program Context1417052
-Node: GDB/MI Thread Commands1421320
-Node: GDB/MI Ada Tasking Commands1424621
-Node: GDB/MI Program Execution1426893
-Node: GDB/MI Stack Manipulation1439160
-Ref: -stack-list-arguments1441084
-Ref: -stack-list-frames1444914
-Ref: -stack-list-locals1449243
-Ref: -stack-list-variables1450733
-Node: GDB/MI Variable Objects1452267
-Ref: -var-set-format1462232
-Ref: -var-list-children1463613
-Ref: -var-update1472421
-Ref: -var-set-frozen1475419
-Ref: -var-set-update-range1476216
-Ref: -var-set-visualizer1476745
-Node: GDB/MI Data Manipulation1478235
-Node: GDB/MI Tracepoint Commands1498724
-Node: GDB/MI Symbol Query1512231
-Node: GDB/MI File Commands1512920
-Node: GDB/MI Target Manipulation1517354
-Node: GDB/MI File Transfer Commands1524012
-Node: GDB/MI Ada Exceptions Commands1525335
-Node: GDB/MI Support Commands1526688
-Node: GDB/MI Miscellaneous Commands1531407
-Ref: -interpreter-exec1541760
-Node: Annotations1545732
-Node: Annotations Overview1546651
-Node: Server Prefix1549114
-Node: Prompting1549848
-Node: Errors1551365
-Node: Invalidation1552261
-Node: Annotations for Running1552740
-Node: Source Annotations1554274
-Node: JIT Interface1555203
-Node: Declarations1557002
-Node: Registering Code1558389
-Node: Unregistering Code1559361
-Node: Custom Debug Info1559988
-Node: Using JIT Debug Info Readers1561284
-Node: Writing JIT Debug Info Readers1562296
-Node: In-Process Agent1564491
-Ref: Control Agent1566434
-Node: In-Process Agent Protocol1567301
-Node: IPA Protocol Objects1568092
-Ref: agent expression object1569090
-Ref: tracepoint action object1569295
-Ref: tracepoint object1569375
-Node: IPA Protocol Commands1571905
-Node: GDB Bugs1573375
-Node: Bug Criteria1574107
-Node: Bug Reporting1574984
-Node: Command Line Editing1582813
-Node: Introduction and Notation1583465
-Node: Readline Interaction1585086
-Node: Readline Bare Essentials1586275
-Node: Readline Movement Commands1588056
-Node: Readline Killing Commands1589014
-Node: Readline Arguments1590930
-Node: Searching1591972
-Node: Readline Init File1594122
-Node: Readline Init File Syntax1595273
-Node: Conditional Init Constructs1615429
-Node: Sample Init File1619623
-Node: Bindable Readline Commands1622738
-Node: Commands For Moving1623790
-Node: Commands For History1625354
-Node: Commands For Text1629616
-Node: Commands For Killing1633055
-Node: Numeric Arguments1635219
-Node: Commands For Completion1636356
-Node: Keyboard Macros1638322
-Node: Miscellaneous Commands1639007
-Node: Readline vi Mode1642926
-Node: Using History Interactively1643836
-Node: History Interaction1644351
-Node: Event Designators1646247
-Node: Word Designators1647384
-Node: Modifiers1649019
-Node: In Memoriam1650240
-Node: Formatting Documentation1651123
-Ref: Formatting Documentation-Footnote-11654499
-Node: Installing GDB1654595
-Node: Requirements1655167
-Ref: Expat1655868
-Ref: MPFR1659161
-Node: Running Configure1660782
-Node: Separate Objdir1663653
-Node: Config Names1666627
-Node: Configure Options1668104
-Node: System-wide configuration1677070
-Node: System-wide Configuration Scripts1679030
-Node: Maintenance Commands1680214
-Ref: maint info breakpoints1681869
-Ref: maint check libthread-db1690334
-Node: Remote Protocol1705821
-Node: Overview1706513
-Ref: Binary Data1709058
-Node: Packets1711583
-Ref: thread-id syntax1712483
-Ref: extended mode1713928
-Ref: ? packet1714186
-Ref: bc1715652
-Ref: bs1715862
-Ref: read registers packet1717479
-Ref: cycle step packet1719334
-Ref: write register packet1722045
-Ref: step with signal packet1723024
-Ref: vCont packet1724500
-Ref: vCtrlC packet1727733
-Ref: vKill packet1730151
-Ref: X packet1731684
-Ref: insert breakpoint or watchpoint packet1732053
-Node: Stop Reply Packets1736379
-Ref: swbreak stop reason1739630
-Ref: thread create event1743227
-Ref: thread exit event1744430
-Node: General Query Packets1746639
-Ref: qCRC packet1749469
-Ref: QEnvironmentHexEncoded1752622
-Ref: QEnvironmentUnset1753852
-Ref: QEnvironmentReset1754796
-Ref: QSetWorkingDir packet1755740
-Ref: QNonStop1762191
-Ref: QCatchSyscalls1762867
-Ref: QPassSignals1764404
-Ref: QProgramSignals1765611
-Ref: QThreadEvents1767178
-Ref: qSearch memory1769196
-Ref: QStartNoAckMode1769704
-Ref: qSupported1770235
-Ref: multiprocess extensions1785755
-Ref: install tracepoint in tracing1787785
-Ref: qXfer read1792308
-Ref: qXfer auxiliary vector read1793915
-Ref: qXfer btrace read1794263
-Ref: qXfer btrace-conf read1795328
-Ref: qXfer executable filename read1795679
-Ref: qXfer target description read1796294
-Ref: qXfer library list read1796728
-Ref: qXfer svr4 library list read1797384
-Ref: qXfer memory map read1799237
-Ref: qXfer sdata read1799624
-Ref: qXfer siginfo read1800090
-Ref: qXfer threads read1800486
-Ref: qXfer traceframe info read1800889
-Ref: qXfer unwind info block1801307
-Ref: qXfer fdpic loadmap read1801541
-Ref: qXfer osdata read1801957
-Ref: qXfer write1802111
-Ref: qXfer siginfo write1803203
-Ref: General Query Packets-Footnote-11805931
-Node: Architecture-Specific Protocol Details1807974
-Node: ARM-Specific Protocol Details1808483
-Node: ARM Breakpoint Kinds1808731
-Node: MIPS-Specific Protocol Details1809062
-Node: MIPS Register packet Format1809345
-Node: MIPS Breakpoint Kinds1810272
-Node: Tracepoint Packets1810690
-Ref: QTEnable1820004
-Ref: QTDisable1820200
-Ref: qTfSTM1825737
-Ref: qTsSTM1825737
-Ref: qTSTMat1826814
-Ref: QTBuffer-size1827965
-Node: Host I/O Packets1829938
-Node: Interrupts1835518
-Ref: interrupting remote targets1835662
-Node: Notification Packets1837830
-Node: Remote Non-Stop1843255
-Node: Packet Acknowledgment1846371
-Node: Examples1848486
-Node: File-I/O Remote Protocol Extension1849080
-Node: File-I/O Overview1849542
-Node: Protocol Basics1851741
-Node: The F Request Packet1853970
-Node: The F Reply Packet1854871
-Node: The Ctrl-C Message1855789
-Node: Console I/O1857415
-Node: List of Supported Calls1858631
-Node: open1858993
-Node: close1861501
-Node: read1861884
-Node: write1862493
-Node: lseek1863264
-Node: rename1864148
-Node: unlink1865555
-Node: stat/fstat1866502
-Node: gettimeofday1867395
-Node: isatty1867831
-Node: system1868427
-Node: Protocol-specific Representation of Datatypes1869969
-Node: Integral Datatypes1870346
-Node: Pointer Values1871153
-Node: Memory Transfer1871857
-Node: struct stat1872477
-Node: struct timeval1874679
-Node: Constants1875196
-Node: Open Flags1875645
-Node: mode_t Values1875986
-Node: Errno Values1876478
-Node: Lseek Flags1877288
-Node: Limits1877473
-Node: File-I/O Examples1877833
-Node: Library List Format1878921
-Node: Library List Format for SVR4 Targets1881703
-Node: Memory Map Format1884170
-Node: Thread List Format1886694
-Node: Traceframe Info Format1887698
-Node: Branch Trace Format1889384
-Node: Branch Trace Configuration Format1891084
-Node: Agent Expressions1892258
-Node: General Bytecode Design1895079
-Node: Bytecode Descriptions1899873
-Node: Using Agent Expressions1913340
-Node: Varying Target Capabilities1915317
-Node: Rationale1916478
-Node: Target Descriptions1923867
-Node: Retrieving Descriptions1925810
-Node: Target Description Format1926895
-Node: Predefined Target Types1936770
-Node: Enum Target Types1938215
-Node: Standard Target Features1939210
-Node: AArch64 Features1941210
-Node: ARC Features1941916
-Node: ARM Features1943977
-Node: i386 Features1945491
-Node: MicroBlaze Features1947706
-Node: MIPS Features1948283
-Node: M68K Features1949474
-Node: NDS32 Features1950135
-Node: Nios II Features1951159
-Node: OpenRISC 1000 Features1951564
-Node: PowerPC Features1951930
-Node: RISC-V Features1955900
-Node: RX Features1957590
-Node: S/390 and System z Features1957952
-Node: Sparc Features1960092
-Node: TIC6x Features1960997
-Node: Operating System Information1961546
-Node: Process list1962381
-Node: Trace File Format1963444
-Node: Index Section Format1966658
-Node: Man Pages1974584
-Node: gdb man1975054
-Node: gdbserver man1981028
-Node: gcore man1988425
-Node: gdbinit man1989547
-Node: gdb-add-index man1990456
-Ref: gdb-add-index1990565
-Node: Copying1991439
-Node: GNU Free Documentation License2029000
-Node: Concept Index2054147
-Node: Command and Variable Index2196629
+Node: Fortran Defaults594666
+Node: Special Fortran Commands595051
+Node: Pascal595557
+Node: Rust596068
+Node: Modula-2599155
+Node: M2 Operators601844
+Node: Built-In Func/Proc604842
+Node: M2 Constants607756
+Node: M2 Types609357
+Node: M2 Defaults612575
+Node: Deviations613176
+Node: M2 Checks614277
+Node: M2 Scope615094
+Node: GDB/M2616118
+Node: Ada617031
+Node: Ada Mode Intro618337
+Node: Omissions from Ada619839
+Node: Additions to Ada624194
+Node: Overloading support for Ada628122
+Node: Stopping Before Main Program629762
+Node: Ada Exceptions630309
+Node: Ada Tasks631508
+Node: Ada Tasks and Core Files638000
+Node: Ravenscar Profile638847
+Node: Ada Settings639918
+Node: Ada Glitches641340
+Node: Unsupported Languages645348
+Node: Symbols646038
+Ref: quoting names646641
+Node: Altering676393
+Node: Assignment677431
+Node: Jumping680537
+Node: Signaling682611
+Node: Returning685540
+Node: Calling688891
+Node: Patching694376
+Node: Compiling and Injecting Code695490
+Ref: set debug compile699117
+Ref: set debug compile-cplus-types699367
+Node: GDB Files709388
+Node: Files710177
+Ref: Shared Libraries723894
+Ref: Files-Footnote-1736092
+Node: File Caching736221
+Node: Separate Debug Files737355
+Ref: debug-file-directory740708
+Node: MiniDebugInfo749323
+Node: Index Files751774
+Node: Symbol Errors755945
+Node: Data Files759561
+Node: Targets760517
+Node: Active Targets761997
+Node: Target Commands763071
+Ref: load767460
+Ref: flash-erase768653
+Node: Byte Order768713
+Node: Remote Debugging770152
+Node: Connecting771414
+Ref: --multi Option in Types of Remote Connnections773640
+Ref: Attaching in Types of Remote Connections775055
+Ref: Host and target files775556
+Node: File Transfer784178
+Node: Server785117
+Ref: Running gdbserver786693
+Ref: Attaching to a program788911
+Ref: Other Command-Line Arguments for gdbserver791436
+Ref: Monitor Commands for gdbserver794755
+Ref: Server-Footnote-1800131
+Node: Remote Configuration800251
+Ref: set remotebreak801511
+Ref: set remote hardware-watchpoint-limit802973
+Ref: set remote hardware-breakpoint-limit802973
+Ref: set remote hardware-watchpoint-length-limit803475
+Ref: set remote exec-file803930
+Node: Remote Stub815735
+Node: Stub Contents818630
+Node: Bootstrapping820737
+Node: Debug Session824552
+Node: Configurations826593
+Node: Native827362
+Node: BSD libkvm Interface827931
+Node: Process Information828983
+Node: DJGPP Native834531
+Node: Cygwin Native841085
+Node: Non-debug DLL Symbols846006
+Node: Hurd Native850245
+Node: Darwin855501
+Node: FreeBSD856778
+Node: Embedded OS857498
+Node: Embedded Processors857909
+Node: ARC858899
+Node: ARM859446
+Node: M68K861993
+Node: MicroBlaze862166
+Node: MIPS Embedded863615
+Node: OpenRISC 1000864912
+Node: PowerPC Embedded865818
+Node: AVR869047
+Node: CRIS869419
+Node: Super-H870395
+Node: Architectures871454
+Node: AArch64871850
+Node: i386873423
+Ref: i386-Footnote-1877633
+Node: Alpha877719
+Node: MIPS877852
+Node: HPPA881746
+Node: PowerPC882268
+Node: Nios II883004
+Node: Sparc64883409
+Node: S12Z885777
+Node: Controlling GDB886070
+Node: Prompt887013
+Node: Editing888731
+Node: Command History889773
+Node: Screen Size894079
+Node: Output Styling896095
+Node: Numbers899708
+Node: ABI903406
+Node: Auto-loading906579
+Ref: set auto-load off907954
+Ref: show auto-load908590
+Ref: info auto-load909369
+Node: Init File in the Current Directory912336
+Ref: set auto-load local-gdbinit912911
+Ref: show auto-load local-gdbinit913093
+Ref: info auto-load local-gdbinit913257
+Node: libthread_db.so.1 file913405
+Ref: set auto-load libthread-db914344
+Ref: show auto-load libthread-db914475
+Ref: info auto-load libthread-db914612
+Node: Auto-loading safe path914796
+Ref: set auto-load safe-path916102
+Ref: show auto-load safe-path916841
+Ref: add-auto-load-safe-path916964
+Node: Auto-loading verbose mode919866
+Ref: set debug auto-load921029
+Ref: show debug auto-load921130
+Node: Messages/Warnings921252
+Ref: confirmation requests922686
+Node: Debugging Output923890
+Node: Other Misc Settings933710
+Node: Extending GDB934734
+Node: Sequences936587
+Node: Define937248
+Node: Hooks941328
+Node: Command Files943694
+Node: Output948767
+Ref: eval953569
+Node: Auto-loading sequences953731
+Ref: set auto-load gdb-scripts954226
+Ref: show auto-load gdb-scripts954350
+Ref: info auto-load gdb-scripts954480
+Node: Python954711
+Node: Python Commands955997
+Node: Python API958111
+Node: Basic Python960716
+Ref: prompt_hook971753
+Node: Exception Handling972351
+Node: Values From Inferior975253
+Node: Types In Python992588
+Node: Pretty Printing API1002580
+Node: Selecting Pretty-Printers1007023
+Node: Writing a Pretty-Printer1009750
+Node: Type Printing API1015072
+Node: Frame Filter API1017688
+Node: Frame Decorator API1025000
+Ref: frame_args1028741
+Node: Writing a Frame Filter1032071
+Node: Unwinding Frames in Python1043545
+Node: Xmethods In Python1051183
+Node: Xmethod API1054079
+Node: Writing an Xmethod1057891
+Node: Inferiors In Python1063726
+Node: Events In Python1067485
+Node: Threads In Python1076693
+Node: Recordings In Python1079923
+Node: Commands In Python1087257
+Node: Parameters In Python1096670
+Node: Functions In Python1103608
+Node: Progspaces In Python1105825
+Node: Objfiles In Python1110730
+Node: Frames In Python1117392
+Node: Blocks In Python1124398
+Node: Symbols In Python1129065
+Node: Symbol Tables In Python1137092
+Node: Line Tables In Python1140313
+Node: Breakpoints In Python1143150
+Ref: python_breakpoint_thread1149473
+Node: Finish Breakpoints in Python1152506
+Node: Lazy Strings In Python1154612
+Node: Architectures In Python1156840
+Node: Python Auto-loading1159029
+Ref: set auto-load python-scripts1159658
+Ref: show auto-load python-scripts1159758
+Ref: info auto-load python-scripts1159864
+Node: Python modules1160998
+Node: gdb.printing1161384
+Node: gdb.types1162811
+Node: gdb.prompt1165823
+Node: Guile1167472
+Node: Guile Introduction1168131
+Node: Guile Commands1169002
+Node: Guile API1170856
+Node: Basic Guile1172853
+Node: Guile Configuration1178535
+Node: GDB Scheme Data Types1179511
+Node: Guile Exception Handling1181343
+Node: Values From Inferior In Guile1185377
+Node: Arithmetic In Guile1202628
+Node: Types In Guile1204259
+Ref: Fields of a type in Guile1212200
+Node: Guile Pretty Printing API1213588
+Node: Selecting Guile Pretty-Printers1219317
+Node: Writing a Guile Pretty-Printer1221693
+Node: Commands In Guile1226878
+Node: Parameters In Guile1237658
+Ref: Parameters In Guile-Footnote-11244539
+Node: Progspaces In Guile1244655
+Node: Objfiles In Guile1247243
+Node: Frames In Guile1249524
+Node: Blocks In Guile1256102
+Node: Symbols In Guile1260910
+Node: Symbol Tables In Guile1268245
+Node: Breakpoints In Guile1271208
+Node: Lazy Strings In Guile1281469
+Node: Architectures In Guile1283760
+Node: Disassembly In Guile1288067
+Node: I/O Ports in Guile1291269
+Node: Memory Ports in Guile1291825
+Node: Iterators In Guile1295091
+Node: Guile Auto-loading1299380
+Ref: set auto-load guile-scripts1300003
+Ref: show auto-load guile-scripts1300101
+Ref: info auto-load guile-scripts1300205
+Node: Guile Modules1301164
+Node: Guile Printing Module1301486
+Node: Guile Types Module1302305
+Node: Auto-loading extensions1303598
+Node: objfile-gdbdotext file1304796
+Ref: set auto-load scripts-directory1306232
+Ref: with-auto-load-dir1306608
+Ref: show auto-load scripts-directory1307426
+Ref: add-auto-load-scripts-directory1307506
+Node: dotdebug_gdb_scripts section1307982
+Node: Which flavor to choose?1311732
+Node: Multiple Extension Languages1313553
+Node: Aliases1314617
+Node: Interpreters1317482
+Node: TUI1320633
+Node: TUI Overview1321631
+Node: TUI Keys1324064
+Node: TUI Single Key Mode1326368
+Node: TUI Commands1327551
+Node: TUI Configuration1331318
+Node: Emacs1332807
+Node: GDB/MI1338244
+Node: GDB/MI General Design1340218
+Node: Context management1342738
+Node: Asynchronous and non-stop modes1346525
+Node: Thread groups1349499
+Node: GDB/MI Command Syntax1351777
+Node: GDB/MI Input Syntax1352020
+Node: GDB/MI Output Syntax1353570
+Node: GDB/MI Compatibility with CLI1357155
+Node: GDB/MI Development and Front Ends1357892
+Node: GDB/MI Output Records1361411
+Node: GDB/MI Result Records1361817
+Node: GDB/MI Stream Records1363167
+Node: GDB/MI Async Records1364432
+Node: GDB/MI Breakpoint Information1374869
+Node: GDB/MI Frame Information1380504
+Node: GDB/MI Thread Information1381786
+Node: GDB/MI Ada Exception Information1383256
+Node: GDB/MI Simple Examples1383806
+Node: GDB/MI Command Description Format1386042
+Node: GDB/MI Breakpoint Commands1386922
+Ref: -break-insert1394030
+Node: GDB/MI Catchpoint Commands1407604
+Node: Shared Library GDB/MI Catchpoint Commands1408017
+Node: Ada Exception GDB/MI Catchpoint Commands1409675
+Node: C++ Exception GDB/MI Catchpoint Commands1413225
+Node: GDB/MI Program Context1417241
+Node: GDB/MI Thread Commands1421509
+Node: GDB/MI Ada Tasking Commands1424810
+Node: GDB/MI Program Execution1427082
+Node: GDB/MI Stack Manipulation1439349
+Ref: -stack-list-arguments1441273
+Ref: -stack-list-frames1445103
+Ref: -stack-list-locals1449432
+Ref: -stack-list-variables1450922
+Node: GDB/MI Variable Objects1452456
+Ref: -var-set-format1462421
+Ref: -var-list-children1463802
+Ref: -var-update1472610
+Ref: -var-set-frozen1475608
+Ref: -var-set-update-range1476405
+Ref: -var-set-visualizer1476934
+Node: GDB/MI Data Manipulation1478424
+Node: GDB/MI Tracepoint Commands1498913
+Node: GDB/MI Symbol Query1512420
+Node: GDB/MI File Commands1513109
+Node: GDB/MI Target Manipulation1517543
+Node: GDB/MI File Transfer Commands1524201
+Node: GDB/MI Ada Exceptions Commands1525524
+Node: GDB/MI Support Commands1526877
+Node: GDB/MI Miscellaneous Commands1531596
+Ref: -interpreter-exec1541949
+Node: Annotations1545921
+Node: Annotations Overview1546840
+Node: Server Prefix1549303
+Node: Prompting1550037
+Node: Errors1551554
+Node: Invalidation1552450
+Node: Annotations for Running1552929
+Node: Source Annotations1554463
+Node: JIT Interface1555392
+Node: Declarations1557191
+Node: Registering Code1558578
+Node: Unregistering Code1559550
+Node: Custom Debug Info1560177
+Node: Using JIT Debug Info Readers1561473
+Node: Writing JIT Debug Info Readers1562485
+Node: In-Process Agent1564680
+Ref: Control Agent1566623
+Node: In-Process Agent Protocol1567490
+Node: IPA Protocol Objects1568281
+Ref: agent expression object1569279
+Ref: tracepoint action object1569484
+Ref: tracepoint object1569564
+Node: IPA Protocol Commands1572094
+Node: GDB Bugs1573564
+Node: Bug Criteria1574296
+Node: Bug Reporting1575173
+Node: Command Line Editing1583002
+Node: Introduction and Notation1583654
+Node: Readline Interaction1585275
+Node: Readline Bare Essentials1586464
+Node: Readline Movement Commands1588245
+Node: Readline Killing Commands1589203
+Node: Readline Arguments1591119
+Node: Searching1592161
+Node: Readline Init File1594311
+Node: Readline Init File Syntax1595462
+Node: Conditional Init Constructs1615618
+Node: Sample Init File1619812
+Node: Bindable Readline Commands1622927
+Node: Commands For Moving1623979
+Node: Commands For History1625543
+Node: Commands For Text1629805
+Node: Commands For Killing1633244
+Node: Numeric Arguments1635408
+Node: Commands For Completion1636545
+Node: Keyboard Macros1638511
+Node: Miscellaneous Commands1639196
+Node: Readline vi Mode1643115
+Node: Using History Interactively1644025
+Node: History Interaction1644540
+Node: Event Designators1646436
+Node: Word Designators1647573
+Node: Modifiers1649208
+Node: In Memoriam1650429
+Node: Formatting Documentation1651312
+Ref: Formatting Documentation-Footnote-11654688
+Node: Installing GDB1654784
+Node: Requirements1655356
+Ref: Expat1656057
+Ref: MPFR1659350
+Node: Running Configure1660971
+Node: Separate Objdir1663842
+Node: Config Names1666816
+Node: Configure Options1668293
+Node: System-wide configuration1677259
+Node: System-wide Configuration Scripts1679219
+Node: Maintenance Commands1680403
+Ref: maint info breakpoints1682058
+Ref: maint check libthread-db1690523
+Node: Remote Protocol1706010
+Node: Overview1706702
+Ref: Binary Data1709247
+Node: Packets1711772
+Ref: thread-id syntax1712672
+Ref: extended mode1714117
+Ref: ? packet1714375
+Ref: bc1715841
+Ref: bs1716051
+Ref: read registers packet1717668
+Ref: cycle step packet1719523
+Ref: write register packet1722234
+Ref: step with signal packet1723213
+Ref: vCont packet1724689
+Ref: vCtrlC packet1727922
+Ref: vKill packet1730340
+Ref: X packet1731873
+Ref: insert breakpoint or watchpoint packet1732242
+Node: Stop Reply Packets1736568
+Ref: swbreak stop reason1739819
+Ref: thread create event1743416
+Ref: thread exit event1744619
+Node: General Query Packets1746828
+Ref: qCRC packet1749658
+Ref: QEnvironmentHexEncoded1752811
+Ref: QEnvironmentUnset1754041
+Ref: QEnvironmentReset1754985
+Ref: QSetWorkingDir packet1755929
+Ref: QNonStop1762380
+Ref: QCatchSyscalls1763056
+Ref: QPassSignals1764593
+Ref: QProgramSignals1765800
+Ref: QThreadEvents1767367
+Ref: qSearch memory1769385
+Ref: QStartNoAckMode1769893
+Ref: qSupported1770424
+Ref: multiprocess extensions1785944
+Ref: install tracepoint in tracing1787974
+Ref: qXfer read1792497
+Ref: qXfer auxiliary vector read1794104
+Ref: qXfer btrace read1794452
+Ref: qXfer btrace-conf read1795517
+Ref: qXfer executable filename read1795868
+Ref: qXfer target description read1796483
+Ref: qXfer library list read1796917
+Ref: qXfer svr4 library list read1797573
+Ref: qXfer memory map read1799426
+Ref: qXfer sdata read1799813
+Ref: qXfer siginfo read1800279
+Ref: qXfer threads read1800675
+Ref: qXfer traceframe info read1801078
+Ref: qXfer unwind info block1801496
+Ref: qXfer fdpic loadmap read1801730
+Ref: qXfer osdata read1802146
+Ref: qXfer write1802300
+Ref: qXfer siginfo write1803392
+Ref: General Query Packets-Footnote-11806120
+Node: Architecture-Specific Protocol Details1808163
+Node: ARM-Specific Protocol Details1808672
+Node: ARM Breakpoint Kinds1808920
+Node: MIPS-Specific Protocol Details1809251
+Node: MIPS Register packet Format1809534
+Node: MIPS Breakpoint Kinds1810461
+Node: Tracepoint Packets1810879
+Ref: QTEnable1820193
+Ref: QTDisable1820389
+Ref: qTfSTM1825926
+Ref: qTsSTM1825926
+Ref: qTSTMat1827003
+Ref: QTBuffer-size1828154
+Node: Host I/O Packets1830127
+Node: Interrupts1835707
+Ref: interrupting remote targets1835851
+Node: Notification Packets1838019
+Node: Remote Non-Stop1843444
+Node: Packet Acknowledgment1846560
+Node: Examples1848675
+Node: File-I/O Remote Protocol Extension1849269
+Node: File-I/O Overview1849731
+Node: Protocol Basics1851930
+Node: The F Request Packet1854159
+Node: The F Reply Packet1855060
+Node: The Ctrl-C Message1855978
+Node: Console I/O1857604
+Node: List of Supported Calls1858820
+Node: open1859182
+Node: close1861690
+Node: read1862073
+Node: write1862682
+Node: lseek1863453
+Node: rename1864337
+Node: unlink1865744
+Node: stat/fstat1866691
+Node: gettimeofday1867584
+Node: isatty1868020
+Node: system1868616
+Node: Protocol-specific Representation of Datatypes1870158
+Node: Integral Datatypes1870535
+Node: Pointer Values1871342
+Node: Memory Transfer1872046
+Node: struct stat1872666
+Node: struct timeval1874868
+Node: Constants1875385
+Node: Open Flags1875834
+Node: mode_t Values1876175
+Node: Errno Values1876667
+Node: Lseek Flags1877477
+Node: Limits1877662
+Node: File-I/O Examples1878022
+Node: Library List Format1879110
+Node: Library List Format for SVR4 Targets1881892
+Node: Memory Map Format1884359
+Node: Thread List Format1886883
+Node: Traceframe Info Format1887887
+Node: Branch Trace Format1889573
+Node: Branch Trace Configuration Format1891273
+Node: Agent Expressions1892447
+Node: General Bytecode Design1895268
+Node: Bytecode Descriptions1900062
+Node: Using Agent Expressions1913529
+Node: Varying Target Capabilities1915506
+Node: Rationale1916667
+Node: Target Descriptions1924056
+Node: Retrieving Descriptions1925999
+Node: Target Description Format1927084
+Node: Predefined Target Types1936959
+Node: Enum Target Types1938404
+Node: Standard Target Features1939399
+Node: AArch64 Features1941399
+Node: ARC Features1942105
+Node: ARM Features1944166
+Node: i386 Features1945680
+Node: MicroBlaze Features1947895
+Node: MIPS Features1948472
+Node: M68K Features1949663
+Node: NDS32 Features1950324
+Node: Nios II Features1951348
+Node: OpenRISC 1000 Features1951753
+Node: PowerPC Features1952119
+Node: RISC-V Features1956089
+Node: RX Features1957779
+Node: S/390 and System z Features1958141
+Node: Sparc Features1960281
+Node: TIC6x Features1961186
+Node: Operating System Information1961735
+Node: Process list1962570
+Node: Trace File Format1963633
+Node: Index Section Format1966847
+Node: Man Pages1974773
+Node: gdb man1975243
+Node: gdbserver man1981217
+Node: gcore man1988614
+Node: gdbinit man1989736
+Node: gdb-add-index man1990645
+Ref: gdb-add-index1990754
+Node: Copying1991628
+Node: GNU Free Documentation License2029189
+Node: Concept Index2054336
+Node: Command and Variable Index2196818
 
 End Tag Table
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/doc/gdb.info-1 ./gdb/doc/gdb.info-1
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/doc/gdb.info-1	2019-10-03 01:52:40.000000000 +0000
+++ ./gdb/doc/gdb.info-1	2019-10-04 01:53:38.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of 'Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 8.3.50.20191003-git.
+Source-Level Debugger' for GDB (GDB) Version 8.3.50.20191004-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
@@ -44,7 +44,7 @@ Debugging with GDB
 
 This file describes GDB, the GNU symbolic debugger.
 
-   This is the Tenth Edition, for GDB (GDB) Version 8.3.50.20191003-git.
+   This is the Tenth Edition, for GDB (GDB) Version 8.3.50.20191004-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
@@ -507,7 +507,7 @@ Let us use GDB to try to see what is goi
      There is absolutely no warranty for GDB; type "show warranty"
       for details.
 
-     GDB 8.3.50.20191003-git, Copyright 1999 Free Software Foundation, Inc...
+     GDB 8.3.50.20191004-git, Copyright 1999 Free Software Foundation, Inc...
      (gdb)
 
 GDB reads only enough symbol data to know where to find the rest when
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/doc/gdb.info-2 ./gdb/doc/gdb.info-2
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/doc/gdb.info-2	2019-10-03 01:52:42.000000000 +0000
+++ ./gdb/doc/gdb.info-2	2019-10-04 01:53:39.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of 'Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 8.3.50.20191003-git.
+Source-Level Debugger' for GDB (GDB) Version 8.3.50.20191004-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
@@ -7139,6 +7139,10 @@ arithmetic types.  Operators are often d
      derived types.  Also suitable for unions.  As unions aren't part of
      regular Fortran, this can only happen when accessing a register
      that uses a gdbarch-defined union type.
+'::'
+     The scope operator.  Normally used to access variables in modules
+     or to set breakpoints on subroutines nested in modules or in other
+     subroutines (internal subroutines).
 
 
 File: gdb.info,  Node: Fortran Defaults,  Next: Special Fortran Commands,  Prev: Fortran Operators,  Up: Fortran
@@ -7277,112 +7281,3 @@ reads in the executable's symbol table.
 * M2 Scope::                    The scope operators '::' and '.'
 * GDB/M2::                      GDB and Modula-2
 
-
-File: gdb.info,  Node: M2 Operators,  Next: Built-In Func/Proc,  Up: Modula-2
-
-15.4.9.1 Operators
-..................
-
-Operators must be defined on values of specific types.  For instance,
-'+' is defined on numbers, but not on structures.  Operators are often
-defined on groups of types.  For the purposes of Modula-2, the following
-definitions hold:
-
-   * _Integral types_ consist of 'INTEGER', 'CARDINAL', and their
-     subranges.
-
-   * _Character types_ consist of 'CHAR' and its subranges.
-
-   * _Floating-point types_ consist of 'REAL'.
-
-   * _Pointer types_ consist of anything declared as 'POINTER TO TYPE'.
-
-   * _Scalar types_ consist of all of the above.
-
-   * _Set types_ consist of 'SET' and 'BITSET' types.
-
-   * _Boolean types_ consist of 'BOOLEAN'.
-
-The following operators are supported, and appear in order of increasing
-precedence:
-
-','
-     Function argument or array index separator.
-
-':='
-     Assignment.  The value of VAR ':=' VALUE is VALUE.
-
-'<, >'
-     Less than, greater than on integral, floating-point, or enumerated
-     types.
-
-'<=, >='
-     Less than or equal to, greater than or equal to on integral,
-     floating-point and enumerated types, or set inclusion on set types.
-     Same precedence as '<'.
-
-'=, <>, #'
-     Equality and two ways of expressing inequality, valid on scalar
-     types.  Same precedence as '<'.  In GDB scripts, only '<>' is
-     available for inequality, since '#' conflicts with the script
-     comment character.
-
-'IN'
-     Set membership.  Defined on set types and the types of their
-     members.  Same precedence as '<'.
-
-'OR'
-     Boolean disjunction.  Defined on boolean types.
-
-'AND, &'
-     Boolean conjunction.  Defined on boolean types.
-
-'@'
-     The GDB "artificial array" operator (*note Expressions:
-     Expressions.).
-
-'+, -'
-     Addition and subtraction on integral and floating-point types, or
-     union and difference on set types.
-
-'*'
-     Multiplication on integral and floating-point types, or set
-     intersection on set types.
-
-'/'
-     Division on floating-point types, or symmetric set difference on
-     set types.  Same precedence as '*'.
-
-'DIV, MOD'
-     Integer division and remainder.  Defined on integral types.  Same
-     precedence as '*'.
-
-'-'
-     Negative.  Defined on 'INTEGER' and 'REAL' data.
-
-'^'
-     Pointer dereferencing.  Defined on pointer types.
-
-'NOT'
-     Boolean negation.  Defined on boolean types.  Same precedence as
-     '^'.
-
-'.'
-     'RECORD' field selector.  Defined on 'RECORD' data.  Same
-     precedence as '^'.
-
-'[]'
-     Array indexing.  Defined on 'ARRAY' data.  Same precedence as '^'.
-
-'()'
-     Procedure argument list.  Defined on 'PROCEDURE' objects.  Same
-     precedence as '^'.
-
-'::, .'
-     GDB and Modula-2 scope operators.
-
-     _Warning:_ Set expressions and their operations are not yet
-     supported, so GDB treats the use of the operator 'IN', or the use
-     of operators '+', '-', '*', '/', '=', , '<>', '#', '<=', and '>='
-     on sets as an error.
-
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/doc/gdb.info-3 ./gdb/doc/gdb.info-3
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/doc/gdb.info-3	2019-10-03 01:52:44.000000000 +0000
+++ ./gdb/doc/gdb.info-3	2019-10-04 01:53:41.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of 'Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 8.3.50.20191003-git.
+Source-Level Debugger' for GDB (GDB) Version 8.3.50.20191004-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
@@ -37,6 +37,115 @@ this GNU Manual.  Buying copies from GNU
 developing GNU and promoting software freedom."
 
 
+File: gdb.info,  Node: M2 Operators,  Next: Built-In Func/Proc,  Up: Modula-2
+
+15.4.9.1 Operators
+..................
+
+Operators must be defined on values of specific types.  For instance,
+'+' is defined on numbers, but not on structures.  Operators are often
+defined on groups of types.  For the purposes of Modula-2, the following
+definitions hold:
+
+   * _Integral types_ consist of 'INTEGER', 'CARDINAL', and their
+     subranges.
+
+   * _Character types_ consist of 'CHAR' and its subranges.
+
+   * _Floating-point types_ consist of 'REAL'.
+
+   * _Pointer types_ consist of anything declared as 'POINTER TO TYPE'.
+
+   * _Scalar types_ consist of all of the above.
+
+   * _Set types_ consist of 'SET' and 'BITSET' types.
+
+   * _Boolean types_ consist of 'BOOLEAN'.
+
+The following operators are supported, and appear in order of increasing
+precedence:
+
+','
+     Function argument or array index separator.
+
+':='
+     Assignment.  The value of VAR ':=' VALUE is VALUE.
+
+'<, >'
+     Less than, greater than on integral, floating-point, or enumerated
+     types.
+
+'<=, >='
+     Less than or equal to, greater than or equal to on integral,
+     floating-point and enumerated types, or set inclusion on set types.
+     Same precedence as '<'.
+
+'=, <>, #'
+     Equality and two ways of expressing inequality, valid on scalar
+     types.  Same precedence as '<'.  In GDB scripts, only '<>' is
+     available for inequality, since '#' conflicts with the script
+     comment character.
+
+'IN'
+     Set membership.  Defined on set types and the types of their
+     members.  Same precedence as '<'.
+
+'OR'
+     Boolean disjunction.  Defined on boolean types.
+
+'AND, &'
+     Boolean conjunction.  Defined on boolean types.
+
+'@'
+     The GDB "artificial array" operator (*note Expressions:
+     Expressions.).
+
+'+, -'
+     Addition and subtraction on integral and floating-point types, or
+     union and difference on set types.
+
+'*'
+     Multiplication on integral and floating-point types, or set
+     intersection on set types.
+
+'/'
+     Division on floating-point types, or symmetric set difference on
+     set types.  Same precedence as '*'.
+
+'DIV, MOD'
+     Integer division and remainder.  Defined on integral types.  Same
+     precedence as '*'.
+
+'-'
+     Negative.  Defined on 'INTEGER' and 'REAL' data.
+
+'^'
+     Pointer dereferencing.  Defined on pointer types.
+
+'NOT'
+     Boolean negation.  Defined on boolean types.  Same precedence as
+     '^'.
+
+'.'
+     'RECORD' field selector.  Defined on 'RECORD' data.  Same
+     precedence as '^'.
+
+'[]'
+     Array indexing.  Defined on 'ARRAY' data.  Same precedence as '^'.
+
+'()'
+     Procedure argument list.  Defined on 'PROCEDURE' objects.  Same
+     precedence as '^'.
+
+'::, .'
+     GDB and Modula-2 scope operators.
+
+     _Warning:_ Set expressions and their operations are not yet
+     supported, so GDB treats the use of the operator 'IN', or the use
+     of operators '+', '-', '*', '/', '=', , '<>', '#', '<=', and '>='
+     on sets as an error.
+
+
 File: gdb.info,  Node: Built-In Func/Proc,  Next: M2 Constants,  Prev: M2 Operators,  Up: Modula-2
 
 15.4.9.2 Built-in Functions and Procedures
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/doc/gdb.info-4 ./gdb/doc/gdb.info-4
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/doc/gdb.info-4	2019-10-03 01:52:46.000000000 +0000
+++ ./gdb/doc/gdb.info-4	2019-10-04 01:53:44.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of 'Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 8.3.50.20191003-git.
+Source-Level Debugger' for GDB (GDB) Version 8.3.50.20191004-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/doc/gdb.info-5 ./gdb/doc/gdb.info-5
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/doc/gdb.info-5	2019-10-03 01:52:49.000000000 +0000
+++ ./gdb/doc/gdb.info-5	2019-10-04 01:53:46.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of 'Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 8.3.50.20191003-git.
+Source-Level Debugger' for GDB (GDB) Version 8.3.50.20191004-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/doc/gdb.info-6 ./gdb/doc/gdb.info-6
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/doc/gdb.info-6	2019-10-03 01:52:51.000000000 +0000
+++ ./gdb/doc/gdb.info-6	2019-10-04 01:53:48.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of 'Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 8.3.50.20191003-git.
+Source-Level Debugger' for GDB (GDB) Version 8.3.50.20191004-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
@@ -3888,7 +3888,7 @@ and TeX (or 'texi2roff') to typeset the 
 
    GDB includes an already formatted copy of the on-line Info version of
 this manual in the 'gdb' subdirectory.  The main Info file is
-'gdb-8.3.50.20191003-git/gdb/gdb.info', and it refers to subordinate
+'gdb-8.3.50.20191004-git/gdb/gdb.info', and it refers to subordinate
 files matching 'gdb.info*' in the same directory.  If necessary, you can
 print out these files, or read them with any editor; but they are easier
 to read using the 'info' subsystem in GNU Emacs or the standalone 'info'
@@ -3898,8 +3898,8 @@ program, available as part of the GNU Te
 Info formatting programs, such as 'texinfo-format-buffer' or 'makeinfo'.
 
    If you have 'makeinfo' installed, and are in the top level GDB source
-directory ('gdb-8.3.50.20191003-git', in the case of version
-8.3.50.20191003-git), you can make the Info file by typing:
+directory ('gdb-8.3.50.20191004-git', in the case of version
+8.3.50.20191004-git), you can make the Info file by typing:
 
      cd gdb
      make gdb.info
@@ -3924,7 +3924,7 @@ On its own, TeX cannot either read or ty
 
    If you have TeX and a DVI printer program installed, you can typeset
 and print this manual.  First switch to the 'gdb' subdirectory of the
-main source directory (for example, to 'gdb-8.3.50.20191003-git/gdb')
+main source directory (for example, to 'gdb-8.3.50.20191004-git/gdb')
 and type:
 
      make gdb.dvi
@@ -3933,8 +3933,8 @@ and type:
 
    ---------- Footnotes ----------
 
-   (1) In 'gdb-8.3.50.20191003-git/gdb/refcard.ps' of the version
-8.3.50.20191003-git release.
+   (1) In 'gdb-8.3.50.20191004-git/gdb/refcard.ps' of the version
+8.3.50.20191004-git release.
 
 
 File: gdb.info,  Node: Installing GDB,  Next: Maintenance Commands,  Prev: Formatting Documentation,  Up: Top
@@ -4085,35 +4085,35 @@ preparing GDB for installation; you can 
 a single directory, whose name is usually composed by appending the
 version number to 'gdb'.
 
-   For example, the GDB version 8.3.50.20191003-git distribution is in
-the 'gdb-8.3.50.20191003-git' directory.  That directory contains:
+   For example, the GDB version 8.3.50.20191004-git distribution is in
+the 'gdb-8.3.50.20191004-git' directory.  That directory contains:
 
-'gdb-8.3.50.20191003-git/configure (and supporting files)'
+'gdb-8.3.50.20191004-git/configure (and supporting files)'
      script for configuring GDB and all its supporting libraries
 
-'gdb-8.3.50.20191003-git/gdb'
+'gdb-8.3.50.20191004-git/gdb'
      the source specific to GDB itself
 
-'gdb-8.3.50.20191003-git/bfd'
+'gdb-8.3.50.20191004-git/bfd'
      source for the Binary File Descriptor library
 
-'gdb-8.3.50.20191003-git/include'
+'gdb-8.3.50.20191004-git/include'
      GNU include files
 
-'gdb-8.3.50.20191003-git/libiberty'
+'gdb-8.3.50.20191004-git/libiberty'
      source for the '-liberty' free software library
 
-'gdb-8.3.50.20191003-git/opcodes'
+'gdb-8.3.50.20191004-git/opcodes'
      source for the library of opcode tables and disassemblers
 
-'gdb-8.3.50.20191003-git/readline'
+'gdb-8.3.50.20191004-git/readline'
      source for the GNU command-line interface
 
    There may be other subdirectories as well.
 
    The simplest way to configure and build GDB is to run 'configure'
 from the 'gdb-VERSION-NUMBER' source directory, which in this example is
-the 'gdb-8.3.50.20191003-git' directory.
+the 'gdb-8.3.50.20191004-git' directory.
 
    First switch to the 'gdb-VERSION-NUMBER' source directory if you are
 not already in it; then run 'configure'.  Pass the identifier for the
@@ -4121,7 +4121,7 @@ platform on which GDB will run as an arg
 
    For example:
 
-     cd gdb-8.3.50.20191003-git
+     cd gdb-8.3.50.20191004-git
      ./configure
      make
 
@@ -4169,13 +4169,13 @@ to specify a path to find 'configure' it
 directory.  If the path to 'configure' would be the same as the argument
 to '--srcdir', you can leave out the '--srcdir' option; it is assumed.)
 
-   For example, with version 8.3.50.20191003-git, you can build GDB in a
+   For example, with version 8.3.50.20191004-git, you can build GDB in a
 separate directory for a Sun 4 like this:
 
-     cd gdb-8.3.50.20191003-git
+     cd gdb-8.3.50.20191004-git
      mkdir ../gdb-sun4
      cd ../gdb-sun4
-     ../gdb-8.3.50.20191003-git/configure
+     ../gdb-8.3.50.20191004-git/configure
      make
 
    When 'configure' builds a configuration using a remote source
@@ -4186,7 +4186,7 @@ the example, you'd find the Sun 4 librar
 
    Make sure that your path to the 'configure' script has just one
 instance of 'gdb' in it.  If your path to 'configure' looks like
-'../gdb-8.3.50.20191003-git/gdb/configure', you are configuring only one
+'../gdb-8.3.50.20191004-git/gdb/configure', you are configuring only one
 subdirectory of GDB, not the whole package.  This leads to build errors
 about missing include files such as 'bfd/bfd.h'.
 
@@ -4202,8 +4202,8 @@ a configured directory--whatever directo
 
    The 'Makefile' that 'configure' generates in each source directory
 also runs recursively.  If you type 'make' in a source directory such as
-'gdb-8.3.50.20191003-git' (or in a separate configured directory
-configured with '--srcdir=DIRNAME/gdb-8.3.50.20191003-git'), you will
+'gdb-8.3.50.20191004-git' (or in a separate configured directory
+configured with '--srcdir=DIRNAME/gdb-8.3.50.20191004-git'), you will
 build all the required libraries, and then build GDB.
 
    When you have multiple hosts or targets configured in separate
@@ -4248,7 +4248,7 @@ you can use it to test your guesses on a
      Invalid configuration `i986v': machine `i986v' not recognized
 
 'config.sub' is also distributed in the GDB source directory
-('gdb-8.3.50.20191003-git', for version 8.3.50.20191003-git).
+('gdb-8.3.50.20191004-git', for version 8.3.50.20191004-git).
 
 
 File: gdb.info,  Node: Configure Options,  Next: System-wide configuration,  Prev: Config Names,  Up: Installing GDB
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/doc/gdb.info-7 ./gdb/doc/gdb.info-7
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/doc/gdb.info-7	2019-10-03 01:52:53.000000000 +0000
+++ ./gdb/doc/gdb.info-7	2019-10-04 01:53:50.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of 'Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 8.3.50.20191003-git.
+Source-Level Debugger' for GDB (GDB) Version 8.3.50.20191004-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/doc/gdb.info-8 ./gdb/doc/gdb.info-8
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/doc/gdb.info-8	2019-10-03 01:52:53.000000000 +0000
+++ ./gdb/doc/gdb.info-8	2019-10-04 01:53:50.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of 'Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 8.3.50.20191003-git.
+Source-Level Debugger' for GDB (GDB) Version 8.3.50.20191004-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/doc/gdbinit.5 ./gdb/doc/gdbinit.5
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/doc/gdbinit.5	2019-10-03 01:52:57.000000000 +0000
+++ ./gdb/doc/gdbinit.5	2019-10-04 01:53:54.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDBINIT 5"
-.TH GDBINIT 5 "2019-10-03" "gdb-8.3.50.20191003-git" "GNU Development Tools"
+.TH GDBINIT 5 "2019-10-04" "gdb-8.3.50.20191004-git" "GNU Development Tools"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/doc/gdbserver.1 ./gdb/doc/gdbserver.1
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/doc/gdbserver.1	2019-10-03 01:52:56.000000000 +0000
+++ ./gdb/doc/gdbserver.1	2019-10-04 01:53:54.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDBSERVER 1"
-.TH GDBSERVER 1 "2019-10-03" "gdb-8.3.50.20191003-git" "GNU Development Tools"
+.TH GDBSERVER 1 "2019-10-04" "gdb-8.3.50.20191004-git" "GNU Development Tools"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/doc/gdb.texinfo ./gdb/doc/gdb.texinfo
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/doc/gdb.texinfo	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/doc/gdb.texinfo	2019-10-04 01:49:51.000000000 +0000
@@ -16570,6 +16570,10 @@ The access component operator.  Normally
 types.  Also suitable for unions.  As unions aren't part of regular Fortran,
 this can only happen when accessing a register that uses a gdbarch-defined
 union type.
+@item ::
+The scope operator.  Normally used to access variables in modules or
+to set breakpoints on subroutines nested in modules or in other
+subroutines (internal subroutines).
 @end table
 
 @node Fortran Defaults
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/dwarf2read.c ./gdb/dwarf2read.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/dwarf2read.c	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/dwarf2read.c	2019-10-04 01:49:51.000000000 +0000
@@ -620,7 +620,7 @@ struct type_unit_group
   /* The TUs that share this DW_AT_stmt_list entry.
      This is added to while parsing type units to build partial symtabs,
      and is deleted afterwards and not used again.  */
-  std::vector <signatured_type *> *tus;
+  std::vector<signatured_type *> *tus;
 
   /* The compunit symtab.
      Type units in a group needn't all be defined in the same source file,
@@ -8191,7 +8191,7 @@ build_type_psymtabs_reader (const struct
   tu_group = get_type_unit_group (cu, attr);
 
   if (tu_group->tus == nullptr)
-    tu_group->tus = new std::vector <signatured_type *>;
+    tu_group->tus = new std::vector<signatured_type *>;
   tu_group->tus->push_back (sig_type);
 
   prepare_one_comp_unit (cu, type_unit_die, language_minimal);
@@ -8823,6 +8823,7 @@ partial_die_parent_scope (struct partial
       return NULL;
     }
 
+  /* Nested subroutines in Fortran get a prefix.  */
   if (pdi->tag == DW_TAG_enumerator)
     /* Enumerators should not get the name of the enumeration as a prefix.  */
     parent->scope = grandparent_scope;
@@ -8832,7 +8833,10 @@ partial_die_parent_scope (struct partial
       || parent->tag == DW_TAG_class_type
       || parent->tag == DW_TAG_interface_type
       || parent->tag == DW_TAG_union_type
-      || parent->tag == DW_TAG_enumeration_type)
+      || parent->tag == DW_TAG_enumeration_type
+      || (cu->language == language_fortran
+	  && parent->tag == DW_TAG_subprogram
+	  && pdi->tag == DW_TAG_subprogram))
     {
       if (grandparent_scope == NULL)
 	parent->scope = parent->name;
@@ -8923,12 +8927,16 @@ add_partial_symbol (struct partial_die_i
     case DW_TAG_subprogram:
       addr = (gdbarch_adjust_dwarf2_addr (gdbarch, pdi->lowpc + baseaddr)
 	      - baseaddr);
-      if (pdi->is_external || cu->language == language_ada)
-	{
-          /* brobecker/2007-12-26: Normally, only "external" DIEs are part
-             of the global scope.  But in Ada, we want to be able to access
-             nested procedures globally.  So all Ada subprograms are stored
-             in the global scope.  */
+      if (pdi->is_external
+	  || cu->language == language_ada
+	  || (cu->language == language_fortran
+	      && pdi->die_parent != NULL
+	      && pdi->die_parent->tag == DW_TAG_subprogram))
+	{
+          /* Normally, only "external" DIEs are part of the global scope.
+             But in Ada and Fortran, we want to be able to access nested
+             procedures globally.  So all Ada and Fortran subprograms are
+             stored in the global scope.  */
 	  add_psymbol_to_list (actual_name, strlen (actual_name),
 			       built_actual_name != NULL,
 			       VAR_DOMAIN, LOC_BLOCK,
@@ -9184,7 +9192,7 @@ add_partial_subprogram (struct partial_d
   if (! pdi->has_children)
     return;
 
-  if (cu->language == language_ada)
+  if (cu->language == language_ada || cu->language == language_fortran)
     {
       pdi = pdi->die_child;
       while (pdi != NULL)
@@ -10626,6 +10634,12 @@ process_die (struct die_info *die, struc
       read_type_unit_scope (die, cu);
       break;
     case DW_TAG_subprogram:
+      /* Nested subprograms in Fortran get a prefix.  */
+      if (cu->language == language_fortran
+	  && die->parent != NULL
+	  && die->parent->tag == DW_TAG_subprogram)
+	cu->processing_has_namespace_info = true;
+      /* Fall through.  */
     case DW_TAG_inlined_subroutine:
       read_func_scope (die, cu);
       break;
@@ -18653,10 +18667,10 @@ load_partial_dies (const struct die_read
 	 inside functions to find template arguments (if the name of the
 	 function does not already contain the template arguments).
 
-	 For Ada, we need to scan the children of subprograms and lexical
-	 blocks as well because Ada allows the definition of nested
-	 entities that could be interesting for the debugger, such as
-	 nested subprograms for instance.  */
+	 For Ada and Fortran, we need to scan the children of subprograms
+	 and lexical blocks as well because these languages allow the
+	 definition of nested entities that could be interesting for the
+	 debugger, such as nested subprograms for instance.  */
       if (last_die->has_children
 	  && (load_all
 	      || last_die->tag == DW_TAG_namespace
@@ -18671,7 +18685,8 @@ load_partial_dies (const struct die_read
 		      || last_die->tag == DW_TAG_interface_type
 		      || last_die->tag == DW_TAG_structure_type
 		      || last_die->tag == DW_TAG_union_type))
-	      || (cu->language == language_ada
+	      || ((cu->language == language_ada
+		   || cu->language == language_fortran)
 		  && (last_die->tag == DW_TAG_subprogram
 		      || last_die->tag == DW_TAG_lexical_block))))
 	{
@@ -21641,14 +21656,15 @@ new_symbol (struct die_info *die, struct
 	  SYMBOL_ACLASS_INDEX (sym) = LOC_BLOCK;
 	  attr2 = dwarf2_attr (die, DW_AT_external, cu);
 	  if ((attr2 && (DW_UNSND (attr2) != 0))
-              || cu->language == language_ada)
+	      || cu->language == language_ada
+	      || cu->language == language_fortran)
 	    {
               /* Subprograms marked external are stored as a global symbol.
-                 Ada subprograms, whether marked external or not, are always
-                 stored as a global symbol, because we want to be able to
-                 access them globally.  For instance, we want to be able
-                 to break on a nested subprogram without having to
-                 specify the context.  */
+                 Ada and Fortran subprograms, whether marked external or
+                 not, are always stored as a global symbol, because we want
+                 to be able to access them globally.  For instance, we want
+                 to be able to break on a nested subprogram without having
+                 to specify the context.  */
 	      list_to_add = cu->get_builder ()->get_global_symbols ();
 	    }
 	  else
@@ -22645,6 +22661,16 @@ determine_prefix (struct die_info *die, 
 	      return name;
 	  }
 	return "";
+      case DW_TAG_subprogram:
+	/* Nested subroutines in Fortran get a prefix with the name
+	   of the parent's subroutine.  */
+	if (cu->language == language_fortran)
+	  {
+	    if ((die->tag ==  DW_TAG_subprogram)
+		&& (dwarf2_name (parent, cu) != NULL))
+	      return dwarf2_name (parent, cu);
+	  }
+	return determine_prefix (parent, cu);
       case DW_TAG_enumeration_type:
 	parent_type = read_type_die (parent, cu);
 	if (TYPE_DECLARED_CLASS (parent_type))
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/f-lang.c ./gdb/f-lang.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/f-lang.c	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/f-lang.c	2019-10-04 01:49:51.000000000 +0000
@@ -673,9 +673,9 @@ extern const struct language_defn f_lang
   default_pass_by_reference,
   default_get_string,
   c_watch_location_expression,
-  NULL,				/* la_get_symbol_name_matcher */
+  cp_get_symbol_name_matcher,	/* la_get_symbol_name_matcher */
   iterate_over_symbols,
-  default_search_name_hash,
+  cp_search_name_hash,
   &default_varobj_ops,
   NULL,
   NULL,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/gdbsupport/btrace-common.c ./gdb/gdbsupport/btrace-common.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/gdbsupport/btrace-common.c	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/gdbsupport/btrace-common.c	2019-10-04 01:49:51.000000000 +0000
@@ -133,7 +133,7 @@ btrace_data_append (struct btrace_data *
 
 	case BTRACE_FORMAT_NONE:
 	  dst->format = BTRACE_FORMAT_BTS;
-	  dst->variant.bts.blocks = new std::vector <btrace_block>;
+	  dst->variant.bts.blocks = new std::vector<btrace_block>;
 
 	  /* Fall-through.  */
 	case BTRACE_FORMAT_BTS:
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/gdbsupport/btrace-common.h ./gdb/gdbsupport/btrace-common.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/gdbsupport/btrace-common.h	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/gdbsupport/btrace-common.h	2019-10-04 01:49:51.000000000 +0000
@@ -141,7 +141,7 @@ struct btrace_data_bts
   /* Branch trace is represented as a vector of branch trace blocks starting
      with the most recent block.  This needs to be a pointer as we place
      btrace_data_bts into a union.  */
-  std::vector <btrace_block> *blocks;
+  std::vector<btrace_block> *blocks;
 };
 
 /* Configuration information to go with the trace data.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/linux-nat.c ./gdb/linux-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/linux-nat.c	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/linux-nat.c	2019-10-04 01:49:51.000000000 +0000
@@ -3146,9 +3146,12 @@ linux_nat_filter_event (int lwpid, int s
 
       /* When using hardware single-step, we need to report every signal.
 	 Otherwise, signals in pass_mask may be short-circuited
-	 except signals that might be caused by a breakpoint.  */
+	 except signals that might be caused by a breakpoint, or SIGSTOP
+	 if we sent the SIGSTOP and are waiting for it to arrive.  */
       if (!lp->step
 	  && WSTOPSIG (status) && sigismember (&pass_mask, WSTOPSIG (status))
+	  && (WSTOPSIG (status) != SIGSTOP
+	      || !find_thread_ptid (lp->ptid)->stop_requested)
 	  && !linux_wstatus_maybe_breakpoint (status))
 	{
 	  linux_resume_one_lwp (lp, lp->step, signo);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/nat/linux-btrace.c ./gdb/nat/linux-btrace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/nat/linux-btrace.c	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/nat/linux-btrace.c	2019-10-04 01:49:51.000000000 +0000
@@ -271,11 +271,11 @@ perf_event_sample_ok (const struct perf_
    In case the buffer overflows during sampling, one sample may have its lower
    part at the end and its upper part at the beginning of the buffer.  */
 
-static std::vector <btrace_block> *
+static std::vector<btrace_block> *
 perf_event_read_bts (struct btrace_target_info* tinfo, const uint8_t *begin,
 		     const uint8_t *end, const uint8_t *start, size_t size)
 {
-  std::vector <btrace_block> *btrace = new std::vector <btrace_block>;
+  std::vector<btrace_block> *btrace = new std::vector<btrace_block>;
   struct perf_event_sample sample;
   size_t read = 0;
   struct btrace_block block = { 0, 0 };
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/NEWS ./gdb/NEWS
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/NEWS	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/NEWS	2019-10-04 01:49:50.000000000 +0000
@@ -37,6 +37,15 @@
 * New convenience variable $_ada_exception holds the address of the
   Ada exception being thrown.  This is set by Ada-related catchpoints.
 
+* GDB can now place breakpoints on nested functions and subroutines in
+  Fortran code.  The '::' operator can be used between parent and
+  child scopes when placing breakpoints, for example:
+
+    (gdb) break outer_function::inner_function
+
+  The 'outer_function::' prefix is only needed if 'inner_function' is
+  not visible in the current scope.
+
 * Python API
 
   ** The gdb.Value type has a new method 'format_string' which returns a
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/po/gdb.pot ./gdb/po/gdb.pot
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/po/gdb.pot	2019-10-03 01:52:29.000000000 +0000
+++ ./gdb/po/gdb.pot	2019-10-04 01:53:27.000000000 +0000
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-10-03 01:52+0000\n"
+"POT-Creation-Date: 2019-10-04 01:53+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -6946,7 +6946,7 @@ msgstr ""
 
 #: cli/cli-style.c:381
 msgid ""
-"Metadata display styling\n"
+"Metadata display styling.\n"
 "Configure metadata colors and display intensity\n"
 "The \"metadata\" style is used when GDB displays information about\n"
 "your data, for example \"<unavailable>\""
@@ -7982,15 +7982,15 @@ msgstr ""
 msgid "invalid character"
 msgstr ""
 
-#: cp-namespace.c:980
+#: cp-namespace.c:981
 msgid "cp_lookup_nested_symbol called on a non-aggregate type."
 msgstr ""
 
-#: cp-namespace.c:1061
+#: cp-namespace.c:1062
 msgid "The `maint namespace' command was removed.\n"
 msgstr ""
 
-#: cp-namespace.c:1071
+#: cp-namespace.c:1072
 msgid "Deprecated placeholder for removed functionality."
 msgstr ""
 
@@ -10546,7 +10546,7 @@ msgid ""
 "%s]"
 msgstr ""
 
-#: dwarf2read.c:8729 dwarf2read.c:10555
+#: dwarf2read.c:8729 dwarf2read.c:10563
 #, possible-c-format
 msgid ""
 "Dwarf Error: DW_TAG_imported_unit is not supported in type units [in module %"
@@ -10556,213 +10556,213 @@ msgstr ""
 #. FIXME drow/2004-04-01: What should we be doing with
 #. function-local names?  For partial symbols, we should probably be
 #. ignoring them.
-#: dwarf2read.c:8849
+#: dwarf2read.c:8853
 #, possible-c-format
 msgid "unhandled containing DIE tag %s for DIE at %s"
 msgstr ""
 
-#: dwarf2read.c:9217 dwarf2read.c:18581
+#: dwarf2read.c:9225 dwarf2read.c:18595
 msgid "malformed enumerator DIE ignored"
 msgstr ""
 
-#: dwarf2read.c:9256
+#: dwarf2read.c:9264
 #, possible-c-format
 msgid ""
 "Dwarf Error: Could not find abbrev number %d in %s at offset %s [in module %"
 "s]"
 msgstr ""
 
-#: dwarf2read.c:9309 dwarf2read.c:18800
+#: dwarf2read.c:9317 dwarf2read.c:18815
 msgid "ignoring absolute DW_AT_sibling"
 msgstr ""
 
-#: dwarf2read.c:9316 dwarf2read.c:18808
+#: dwarf2read.c:9324 dwarf2read.c:18823
 msgid "DW_AT_sibling points backwards"
 msgstr ""
 
-#: dwarf2read.c:9413 dwarf2read.c:19411
+#: dwarf2read.c:9421 dwarf2read.c:19426
 #, possible-c-format
 msgid "Dwarf Error: Cannot handle %s in DWARF reader [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:9461
+#: dwarf2read.c:9469
 #, possible-c-format
 msgid "bug: psymtab for %s is already read in."
 msgstr ""
 
-#: dwarf2read.c:9468 mdebugread.c:280
+#: dwarf2read.c:9476 mdebugread.c:280
 #, possible-c-format
 msgid "Reading in symbols for %s..."
 msgstr ""
 
-#: dwarf2read.c:9492 mdebugread.c:293
+#: dwarf2read.c:9500 mdebugread.c:293
 msgid "done.\n"
 msgstr ""
 
-#: dwarf2read.c:9881
+#: dwarf2read.c:9889
 #, possible-c-format
 msgid "Symtab %s has objects from two different Go packages: %s and %s"
 msgstr ""
 
-#: dwarf2read.c:10009
+#: dwarf2read.c:10017
 #, possible-c-format
 msgid "Could not parse Rust enum encoding string \"%s\"[in module %s]"
 msgstr ""
 
-#: dwarf2read.c:10694
+#: dwarf2read.c:10708
 #, possible-c-format
 msgid "Tag '%s' has unexpected children"
 msgstr ""
 
-#: dwarf2read.c:10928
+#: dwarf2read.c:10942
 msgid "template parameter missing DW_AT_type"
 msgstr ""
 
-#: dwarf2read.c:10944
+#: dwarf2read.c:10958
 msgid "template parameter missing DW_AT_const_value"
 msgstr ""
 
 #. It may not mean a bug in GDB.  The compiler could also
 #. compute DW_AT_linkage_name incorrectly.  But in such case
 #. GDB would need to be bug-to-bug compatible.
-#: dwarf2read.c:11136
+#: dwarf2read.c:11150
 #, possible-c-format
 msgid ""
 "Computed physname <%s> does not match demangled <%s> (from linkage <%s>) - "
 "DIE at %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:11197
+#: dwarf2read.c:11211
 #, possible-c-format
 msgid "DIE at %s has too many recursively imported declarations"
 msgstr ""
 
-#: dwarf2read.c:11260 dwarf2read.c:11350
+#: dwarf2read.c:11274 dwarf2read.c:11364
 #, possible-c-format
 msgid "Tag '%s' has no DW_AT_import"
 msgstr ""
 
-#: dwarf2read.c:11340
+#: dwarf2read.c:11354
 #, possible-c-format
 msgid "child DW_TAG_imported_declaration expected - DIE at %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:11361
+#: dwarf2read.c:11375
 #, possible-c-format
 msgid ""
 "child DW_TAG_imported_declaration has unknown imported name - DIE at %s [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:11626
+#: dwarf2read.c:11640
 msgid "CU refers to both DW_AT_macros and DW_AT_macro_info"
 msgstr ""
 
-#: dwarf2read.c:11928
+#: dwarf2read.c:11942
 #, possible-c-format
 msgid ""
 "Dwarf Error: debug entry at offset %s is missing its dwo_id [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:12008
+#: dwarf2read.c:12022
 #, possible-c-format
 msgid ""
 "debug cu entry at offset %s is duplicate to the entry at offset %s, "
 "signature %s"
 msgstr ""
 
-#: dwarf2read.c:12191
+#: dwarf2read.c:12205
 #, possible-c-format
 msgid "Dwarf Error: unsupported DWP file version (%s) [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:12197
+#: dwarf2read.c:12211
 #, possible-c-format
 msgid ""
 "Dwarf Error: number of slots in DWP hash table (%s) is not power of 2 [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:12218
+#: dwarf2read.c:12232
 #, possible-c-format
 msgid "Empty DWP but nr_slots,nr_units,nr_columns not all zero [in modules %s]"
 msgstr ""
 
-#: dwarf2read.c:12243
+#: dwarf2read.c:12257
 #, possible-c-format
 msgid ""
 "Dwarf Error: bad DWP hash table, too few columns in section table [in module "
 "%s]"
 msgstr ""
 
-#: dwarf2read.c:12249
+#: dwarf2read.c:12263
 #, possible-c-format
 msgid ""
 "Dwarf Error: bad DWP hash table, too many columns in section table [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:12261
+#: dwarf2read.c:12275
 #, possible-c-format
 msgid ""
 "Dwarf Error: bad DWP hash table, bad section id %d in section table [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:12267
+#: dwarf2read.c:12281
 #, possible-c-format
 msgid ""
 "Dwarf Error: bad DWP hash table, duplicate section id %d in section table "
 "[in module %s]"
 msgstr ""
 
-#: dwarf2read.c:12279
+#: dwarf2read.c:12293
 #, possible-c-format
 msgid ""
 "Dwarf Error: bad DWP hash table, missing/duplicate DWO info/types section "
 "[in module %s]"
 msgstr ""
 
-#: dwarf2read.c:12286
+#: dwarf2read.c:12300
 #, possible-c-format
 msgid ""
 "Dwarf Error: bad DWP hash table, missing DWO abbrev section [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:12298
+#: dwarf2read.c:12312
 #, possible-c-format
 msgid "Dwarf Error: DWP index section is corrupt (too small) [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:12447
+#: dwarf2read.c:12461
 #, possible-c-format
 msgid ""
 "Dwarf Error: bad DWP hash table, section number too large [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:12455
+#: dwarf2read.c:12469
 #, possible-c-format
 msgid "Dwarf Error: bad DWP hash table, invalid section found [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:12465
+#: dwarf2read.c:12479
 #, possible-c-format
 msgid "Dwarf Error: bad DWP hash table, missing DWO sections [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:12471
+#: dwarf2read.c:12485
 #, possible-c-format
 msgid "Dwarf Error: bad DWP hash table, too many DWO sections [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:12576
+#: dwarf2read.c:12590
 #, possible-c-format
 msgid ""
 "Dwarf Error: Bad DWP V2 section info, doesn't fit in section %s [in module %"
 "s]"
 msgstr ""
 
-#: dwarf2read.c:12822
+#: dwarf2read.c:12836
 #, possible-c-format
 msgid "Dwarf Error: bad DWP hash table, lookup didn't terminate [in module %s]"
 msgstr ""
@@ -10770,86 +10770,86 @@ msgstr ""
 #. Technically speaking, we should try to limp along, but this is
 #. pretty bizarre.  We use pulongest here because that's the established
 #. portability solution (e.g, we cannot use %u for uint32_t).
-#: dwarf2read.c:13273
+#: dwarf2read.c:13287
 #, possible-c-format
 msgid ""
 "Dwarf Error: DWP file CU version %s doesn't match TU version %s [in DWP file "
 "%s]"
 msgstr ""
 
-#: dwarf2read.c:13449
+#: dwarf2read.c:13463
 #, possible-c-format
 msgid ""
 "Could not find DWO %s %s(%s)%s referenced by %s at offset %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:13567
+#: dwarf2read.c:13581
 #, possible-c-format
 msgid "DIE %s and its abstract origin %s have different tags"
 msgstr ""
 
-#: dwarf2read.c:13613
+#: dwarf2read.c:13627
 #, possible-c-format
 msgid "Child DIE %s and its abstract origin %s have different tags"
 msgstr ""
 
-#: dwarf2read.c:13618
+#: dwarf2read.c:13632
 #, possible-c-format
 msgid "Child DIE %s and its abstract origin %s have different parents"
 msgstr ""
 
-#: dwarf2read.c:13630
+#: dwarf2read.c:13644
 #, possible-c-format
 msgid "Multiple children of DIE %s refer to DIE %s as their abstract origin"
 msgstr ""
 
-#: dwarf2read.c:13696
+#: dwarf2read.c:13710
 #, possible-c-format
 msgid "missing name for subprogram DIE at %s"
 msgstr ""
 
-#: dwarf2read.c:13707
+#: dwarf2read.c:13721
 #, possible-c-format
 msgid "cannot get low and high bounds for subprogram DIE at %s"
 msgstr ""
 
-#: dwarf2read.c:13952
+#: dwarf2read.c:13966
 #, possible-c-format
 msgid "missing DW_AT_call_return_pc for DW_TAG_call_site DIE %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:13968
+#: dwarf2read.c:13982
 #, possible-c-format
 msgid "Duplicate PC %s for DW_TAG_call_site DIE %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:13984
+#: dwarf2read.c:13998
 #, possible-c-format
 msgid ""
 "Tag %d is not DW_TAG_call_site_parameter in DW_TAG_call_site child DIE %s "
 "[in module %s]"
 msgstr ""
 
-#: dwarf2read.c:14046
+#: dwarf2read.c:14060
 #, possible-c-format
 msgid "Cannot find function owning DW_TAG_call_site DIE %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:14092
+#: dwarf2read.c:14106
 #, possible-c-format
 msgid ""
 "DW_AT_call_target target DIE has invalid physname, for referencing DIE %s "
 "[in module %s]"
 msgstr ""
 
-#: dwarf2read.c:14105
+#: dwarf2read.c:14119
 #, possible-c-format
 msgid ""
 "DW_AT_call_target target DIE has invalid low pc, for referencing DIE %s [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:14116
+#: dwarf2read.c:14130
 #, possible-c-format
 msgid ""
 "DW_TAG_call_site DW_AT_call_target is neither block nor reference, for DIE %"
@@ -10859,176 +10859,176 @@ msgstr ""
 #. As DW_OP_GNU_parameter_ref uses CU-relative offset this
 #. binding can be done only inside one CU.  Such referenced DIE
 #. therefore cannot be even moved to DW_TAG_partial_unit.
-#: dwarf2read.c:14162
+#: dwarf2read.c:14176
 #, possible-c-format
 msgid ""
 "DW_AT_call_parameter offset is not in CU for DW_TAG_call_site child DIE %s "
 "[in module %s]"
 msgstr ""
 
-#: dwarf2read.c:14173
+#: dwarf2read.c:14187
 #, possible-c-format
 msgid ""
 "No DW_FORM_block* DW_AT_location for DW_TAG_call_site child DIE %s [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:14190
+#: dwarf2read.c:14204
 #, possible-c-format
 msgid ""
 "Only single DW_OP_reg or DW_OP_fbreg is supported for DW_FORM_block* "
 "DW_AT_location is supported for DW_TAG_call_site child DIE %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:14205
+#: dwarf2read.c:14219
 #, possible-c-format
 msgid ""
 "No DW_FORM_block* DW_AT_call_value for DW_TAG_call_site child DIE %s [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:14225
+#: dwarf2read.c:14239
 #, possible-c-format
 msgid ""
 "No DW_FORM_block* DW_AT_call_data_value for DW_TAG_call_site child DIE %s "
 "[in module %s]"
 msgstr ""
 
-#: dwarf2read.c:14333 dwarf2read.c:14501
+#: dwarf2read.c:14347 dwarf2read.c:14515
 #, possible-c-format
 msgid "Offset %d out of bounds for DW_AT_ranges attribute"
 msgstr ""
 
 #. We have no valid base address for the ranges
 #. data.
-#: dwarf2read.c:14414 dwarf2read.c:14426
+#: dwarf2read.c:14428 dwarf2read.c:14440
 msgid "Invalid .debug_rnglists data (no base address)"
 msgstr ""
 
 #. Inverted range entries are invalid.
-#: dwarf2read.c:14433
+#: dwarf2read.c:14447
 msgid "Invalid .debug_rnglists data (inverted range)"
 msgstr ""
 
-#: dwarf2read.c:14449
+#: dwarf2read.c:14463
 #, possible-c-format
 msgid ".debug_rnglists entry has start address of zero [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:14459
+#: dwarf2read.c:14473
 #, possible-c-format
 msgid "Offset %d is not terminated for DW_AT_ranges attribute"
 msgstr ""
 
 #. We have no valid base address for the ranges
 #. data.
-#: dwarf2read.c:14540
+#: dwarf2read.c:14554
 msgid "Invalid .debug_ranges data (no base address)"
 msgstr ""
 
 #. Inverted range entries are invalid.
-#: dwarf2read.c:14547
+#: dwarf2read.c:14561
 msgid "Invalid .debug_ranges data (inverted range)"
 msgstr ""
 
-#: dwarf2read.c:14563
+#: dwarf2read.c:14577
 #, possible-c-format
 msgid ".debug_ranges entry has start address of zero [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:15275
+#: dwarf2read.c:15289
 #, possible-c-format
 msgid "Unhandled DW_AT_accessibility value (%x)"
 msgstr ""
 
-#: dwarf2read.c:15372
+#: dwarf2read.c:15386
 #, possible-c-format
 msgid "unsupported accessibility %d"
 msgstr ""
 
-#: dwarf2read.c:15384
+#: dwarf2read.c:15398
 msgid "unexpected virtuality in component of Ada type"
 msgstr ""
 
-#: dwarf2read.c:15436
+#: dwarf2read.c:15450
 msgid "unexpected member function in Ada type"
 msgstr ""
 
-#: dwarf2read.c:15501
+#: dwarf2read.c:15515
 #, possible-c-format
 msgid "member function type missing for '%s'"
 msgstr ""
 
-#: dwarf2read.c:15573
+#: dwarf2read.c:15587
 #, possible-c-format
 msgid "cannot determine context for virtual member function \"%s\" (offset %s)"
 msgstr ""
 
 #. GCC does this, as of 2008-08-25; PR debug/37237.
-#: dwarf2read.c:15600
+#: dwarf2read.c:15614
 #, possible-c-format
 msgid ""
 "Member function \"%s\" (offset %s) is virtual but the vtable offset is not "
 "specified"
 msgstr ""
 
-#: dwarf2read.c:15616
+#: dwarf2read.c:15630
 msgid "unexpected member functions in Ada type"
 msgstr ""
 
-#: dwarf2read.c:15713
+#: dwarf2read.c:15727
 #, possible-c-format
 msgid "DW_AT_alignment must have constant form - DIE at %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:15726
+#: dwarf2read.c:15740
 #, possible-c-format
 msgid "DW_AT_alignment value must not be negative - DIE at %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:15739
+#: dwarf2read.c:15753
 #, possible-c-format
 msgid "DW_AT_alignment value must not be zero - DIE at %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:15747
+#: dwarf2read.c:15761
 #, possible-c-format
 msgid "DW_AT_alignment value must be a power of 2 - DIE at %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:15765
+#: dwarf2read.c:15779
 #, possible-c-format
 msgid "DW_AT_alignment value too large - DIE at %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:15975
+#: dwarf2read.c:15989
 #, possible-c-format
 msgid "DW_AT_discr_list is not supported yet - DIE at %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:16029
+#: dwarf2read.c:16043
 #, possible-c-format
 msgid "DW_AT_discr does not have DIE reference form - DIE at %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:16107
+#: dwarf2read.c:16121
 #, possible-c-format
 msgid "virtual function table pointer not found when defining class '%s'"
 msgstr ""
 
-#: dwarf2read.c:16224
+#: dwarf2read.c:16238
 #, possible-c-format
 msgid ""
 "could not find suitable symtab for template parameter - DIE at %s [in module "
 "%s]"
 msgstr ""
 
-#: dwarf2read.c:16516
+#: dwarf2read.c:16530
 #, possible-c-format
 msgid "unable to read array DW_AT_byte_stride  - DIE at %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:16600
+#: dwarf2read.c:16614
 msgid "DW_AT_byte_size for array type smaller than the total size of elements"
 msgstr ""
 
@@ -11036,89 +11036,89 @@ msgstr ""
 #. not specified by DWARF.  It seems to have been
 #. emitted by gfortran at least as recently as:
 #. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23057.
-#: dwarf2read.c:16826
+#: dwarf2read.c:16840
 #, possible-c-format
 msgid ""
 "Variable in common block has DW_AT_data_member_location - DIE at %s [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:17060
+#: dwarf2read.c:17074
 #, possible-c-format
 msgid "invalid pointer size %d"
 msgstr ""
 
-#: dwarf2read.c:17064
+#: dwarf2read.c:17078
 #, possible-c-format
 msgid "Invalid DW_AT_alignment - DIE at %s [in module %s]"
 msgstr ""
 
 #. Self-referential typedefs are, it seems, not allowed by the DWARF
 #. spec and cause infinite loops in GDB.
-#: dwarf2read.c:17497
+#: dwarf2read.c:17511
 #, possible-c-format
 msgid "Self-referential DW_TAG_typedef - DIE at %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:17635
+#: dwarf2read.c:17649
 msgid "DW_AT_name missing from DW_TAG_base_type"
 msgstr ""
 
-#: dwarf2read.c:17696
+#: dwarf2read.c:17710
 #, possible-c-format
 msgid "unsupported DW_ATE_UTF bit size: '%d'"
 msgstr ""
 
-#: dwarf2read.c:17705
+#: dwarf2read.c:17719
 #, possible-c-format
 msgid "unsupported DW_AT_encoding: '%s'"
 msgstr ""
 
-#: dwarf2read.c:17952
+#: dwarf2read.c:17966
 #, possible-c-format
 msgid "Missing DW_AT_lower_bound - DIE at %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:17973
+#: dwarf2read.c:17987
 #, possible-c-format
 msgid "Unresolved DW_AT_upper_bound - DIE at %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:17978
+#: dwarf2read.c:17992
 #, possible-c-format
 msgid "Unresolved DW_AT_count - DIE at %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:18183
+#: dwarf2read.c:18197
 #, possible-c-format
 msgid "Dwarf Error: could not find abbrev number %d [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:18566
+#: dwarf2read.c:18580
 #, possible-c-format
 msgid ""
 "DW_TAG_typedef has childen - GCC PR debug/47510 bug - DIE at %s [in module %"
 "s]"
 msgstr ""
 
-#: dwarf2read.c:18909
+#: dwarf2read.c:18924
 #, possible-c-format
 msgid "DW_AT_low_pc %s is zero for DIE at %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:18921
+#: dwarf2read.c:18936
 #, possible-c-format
 msgid "DW_AT_low_pc %s is not < DW_AT_high_pc %s for DIE at %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:18979
+#: dwarf2read.c:18994
 #, possible-c-format
 msgid ""
 "Dwarf Error: Type Unit at offset %s contains external reference to offset %s "
 "[in module %s].\n"
 msgstr ""
 
-#: dwarf2read.c:19014
+#: dwarf2read.c:19029
 #, possible-c-format
 msgid "could not find partial DIE %s in cache [from module %s]\n"
 msgstr ""
@@ -11127,141 +11127,141 @@ msgstr ""
 #. Later we can turn this into a complaint.
 #. For now flag a hard error.
 #. Later we can turn this into a complaint if warranted.
-#: dwarf2read.c:19358 dwarf2read.c:19375
+#: dwarf2read.c:19373 dwarf2read.c:19390
 #, possible-c-format
 msgid "Dwarf Error: %s found in non-DWO CU [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:19431
+#: dwarf2read.c:19446
 #, possible-c-format
 msgid "Suspicious DW_AT_byte_size value treated as zero instead of %s"
 msgstr ""
 
-#: dwarf2read.c:19530
+#: dwarf2read.c:19545
 #, possible-c-format
 msgid "read_address: bad switch, signed [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:19549
+#: dwarf2read.c:19564
 #, possible-c-format
 msgid "read_address: bad switch, unsigned [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:19642
+#: dwarf2read.c:19657
 msgid "intermixed 32-bit and 64-bit DWARF sections"
 msgstr ""
 
-#: dwarf2read.c:19679
+#: dwarf2read.c:19694
 #, possible-c-format
 msgid "read_offset_1: bad switch [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:19725
+#: dwarf2read.c:19740
 #, possible-c-format
 msgid "%s used without %s section [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:19728
+#: dwarf2read.c:19743
 #, possible-c-format
 msgid "%s pointing outside of %s section [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:19773
+#: dwarf2read.c:19788
 #, possible-c-format
 msgid "DW_FORM_GNU_strp_alt used without .debug_str section [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:19777
+#: dwarf2read.c:19792
 #, possible-c-format
 msgid ""
 "DW_FORM_GNU_strp_alt pointing outside of .debug_str section [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:19888
+#: dwarf2read.c:19903
 #, possible-c-format
 msgid "DW_FORM_addr_index used without .debug_addr section [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:19891
+#: dwarf2read.c:19906
 #, possible-c-format
 msgid ""
 "DW_FORM_addr_index pointing outside of .debug_addr section [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:20022
+#: dwarf2read.c:20037
 #, possible-c-format
 msgid ""
 "%s used without .debug_str.dwo section in CU at offset %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:20026
+#: dwarf2read.c:20041
 #, possible-c-format
 msgid ""
 "%s used without .debug_str_offsets.dwo section in CU at offset %s [in module "
 "%s]"
 msgstr ""
 
-#: dwarf2read.c:20030
+#: dwarf2read.c:20045
 #, possible-c-format
 msgid ""
 "%s pointing outside of .debug_str_offsets.dwo section in CU at offset %s [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:20040
+#: dwarf2read.c:20055
 #, possible-c-format
 msgid ""
 "Offset from %s pointing outside of .debug_str.dwo section in CU at offset %s "
 "[in module %s]"
 msgstr ""
 
-#: dwarf2read.c:20192
+#: dwarf2read.c:20207
 #, possible-c-format
 msgid "string type expected for attribute %s for DIE at %s in module %s"
 msgstr ""
 
-#: dwarf2read.c:20435
+#: dwarf2read.c:20450
 #, possible-c-format
 msgid "Unknown format content type %s"
 msgstr ""
 
-#: dwarf2read.c:20473
+#: dwarf2read.c:20488
 msgid "missing .debug_line.dwo section"
 msgstr ""
 
-#: dwarf2read.c:20475
+#: dwarf2read.c:20490
 msgid "missing .debug_line section"
 msgstr ""
 
 #. This is a version we don't understand.  The format could have
 #. changed in ways we don't handle properly so just punt.
-#: dwarf2read.c:20515
+#: dwarf2read.c:20530
 msgid "unsupported version in .debug_line section"
 msgstr ""
 
-#: dwarf2read.c:20530
+#: dwarf2read.c:20545
 #, possible-c-format
 msgid "unsupported segment selector size %u in .debug_line section"
 msgstr ""
 
-#: dwarf2read.c:20551
+#: dwarf2read.c:20566
 msgid "invalid maximum_ops_per_instruction in `.debug_line' section"
 msgstr ""
 
-#: dwarf2read.c:20625
+#: dwarf2read.c:20640
 msgid "line number info header doesn't fit in `.debug_line' section"
 msgstr ""
 
-#: dwarf2read.c:21092
+#: dwarf2read.c:21107
 #, possible-c-format
 msgid ".debug_line address at offset 0x%lx is 0 [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:21219 dwarf2read.c:21227
+#: dwarf2read.c:21234 dwarf2read.c:21242
 msgid "mangled .debug_line section"
 msgstr ""
 
-#: dwarf2read.c:21616
+#: dwarf2read.c:21631
 msgid "file index out of range"
 msgstr ""
 
@@ -11269,59 +11269,59 @@ msgstr ""
 #. trash data, but since we must specifically ignore things
 #. we don't recognize, there is nothing else we should do at
 #. this point.
-#: dwarf2read.c:21917
+#: dwarf2read.c:21933
 #, possible-c-format
 msgid "unsupported tag: '%s'"
 msgstr ""
 
-#: dwarf2read.c:22077 dwarf2read.c:23575
+#: dwarf2read.c:22093 dwarf2read.c:23601
 #, possible-c-format
 msgid "unsupported const value attribute form: '%s'"
 msgstr ""
 
-#: dwarf2read.c:22191
+#: dwarf2read.c:22207
 #, possible-c-format
 msgid ""
 "Dwarf Error: Problem turning containing type into gdb type [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:22208
+#: dwarf2read.c:22224
 #, possible-c-format
 msgid "<unknown type in %s, CU %s, DIE %s>"
 msgstr ""
 
-#: dwarf2read.c:22260
+#: dwarf2read.c:22276
 #, possible-c-format
 msgid "Dwarf Error: Bad type attribute %s in DIE at %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:22388
+#: dwarf2read.c:22404
 #, possible-c-format
 msgid "unexpected tag in read_type_die: '%s'"
 msgstr ""
 
-#: dwarf2read.c:22602
+#: dwarf2read.c:22618
 #, possible-c-format
 msgid "template param type '%s' defined within parent '%s'"
 msgstr ""
 
-#: dwarf2read.c:23175
+#: dwarf2read.c:23201
 #, possible-c-format
 msgid "unsupported die ref attribute form: '%s'"
 msgstr ""
 
 #. For DW_FORM_data16 see attr_form_is_constant.
-#: dwarf2read.c:23197
+#: dwarf2read.c:23223
 #, possible-c-format
 msgid "Attribute value is not a constant (%s)"
 msgstr ""
 
-#: dwarf2read.c:23220
+#: dwarf2read.c:23246
 #, possible-c-format
 msgid "Dwarf Error: Expected reference attribute [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:23302
+#: dwarf2read.c:23328
 #, possible-c-format
 msgid ""
 "Dwarf Error: Cannot find DIE at %s referenced from DIE at %s [in module %s]"
@@ -11329,127 +11329,127 @@ msgstr ""
 
 #. We shouldn't get here for a dummy CU, but don't crash on the user.
 #. Instead just throw an error, not much else we can do.
-#: dwarf2read.c:23335 dwarf2read.c:23477
+#: dwarf2read.c:23361 dwarf2read.c:23503
 #, possible-c-format
 msgid "Dwarf Error: Dummy CU at %s referenced in module %s"
 msgstr ""
 
-#: dwarf2read.c:23341 dwarf2read.c:23483
+#: dwarf2read.c:23367 dwarf2read.c:23509
 #, possible-c-format
 msgid "Dwarf Error: Cannot find DIE at %s referenced in module %s"
 msgstr ""
 
-#: dwarf2read.c:23403
+#: dwarf2read.c:23429
 #, possible-c-format
 msgid ""
 "Dwarf Error: DIE at %s referenced in module %s is neither DW_FORM_block* nor "
 "DW_FORM_exprloc"
 msgstr ""
 
-#: dwarf2read.c:23691 dwarf2read.c:23729
+#: dwarf2read.c:23717 dwarf2read.c:23755
 #, possible-c-format
 msgid ""
 "Dwarf Error: Cannot find signatured DIE %s referenced from DIE at %s [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:23701 dwarf2read.c:23759
+#: dwarf2read.c:23727 dwarf2read.c:23785
 #, possible-c-format
 msgid ""
 "Dwarf Error: Problem reading signatured DIE %s referenced from DIE at %s [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:23750
+#: dwarf2read.c:23776
 #, possible-c-format
 msgid ""
 "Dwarf Error: Cannot build signatured type %s referenced from DIE at %s [in "
 "module %s]"
 msgstr ""
 
-#: dwarf2read.c:23794
+#: dwarf2read.c:23820
 #, possible-c-format
 msgid ""
 "Dwarf Error: DW_AT_signature has bad form %s in DIE at %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:24115
+#: dwarf2read.c:24141
 #, possible-c-format
 msgid "unsupported stack op: '%s'"
 msgstr ""
 
-#: dwarf2read.c:24118
+#: dwarf2read.c:24144
 #, possible-c-format
 msgid "unsupported stack op: '%02x'"
 msgstr ""
 
-#: dwarf2read.c:24129
+#: dwarf2read.c:24155
 msgid "location description stack overflow"
 msgstr ""
 
-#: dwarf2read.c:24135
+#: dwarf2read.c:24161
 msgid "location description stack underflow"
 msgstr ""
 
-#: dwarf2read.c:24198
+#: dwarf2read.c:24224
 #, possible-c-format
 msgid "bad file number in macro information (%d)"
 msgstr ""
 
-#: dwarf2read.c:24261
+#: dwarf2read.c:24287
 #, possible-c-format
 msgid ""
 "macro definition contains spaces in formal argument list:\n"
 "`%s'"
 msgstr ""
 
-#: dwarf2read.c:24492
+#: dwarf2read.c:24518
 #, possible-c-format
 msgid "invalid form 0x%x in `%s'"
 msgstr ""
 
-#: dwarf2read.c:24519
+#: dwarf2read.c:24545
 #, possible-c-format
 msgid "unrecognized DW_MACFINO opcode 0x%x"
 msgstr ""
 
-#: dwarf2read.c:24564
+#: dwarf2read.c:24590
 #, possible-c-format
 msgid "unrecognized version `%d' in .debug_macro section"
 msgstr ""
 
 #. DWARF violation as no main source is present.
-#: dwarf2read.c:24713
+#: dwarf2read.c:24739
 #, possible-c-format
 msgid "debug info with no main source gives macro %s on line %d: %s"
 msgstr ""
 
-#: dwarf2read.c:24715 dwarf2read.c:24723 dwarf2read.c:24737
+#: dwarf2read.c:24741 dwarf2read.c:24749 dwarf2read.c:24763
 msgid "definition"
 msgstr ""
 
-#: dwarf2read.c:24715 dwarf2read.c:24723 dwarf2read.c:24737
+#: dwarf2read.c:24741 dwarf2read.c:24749 dwarf2read.c:24763
 msgid "undefinition"
 msgstr ""
 
-#: dwarf2read.c:24721
+#: dwarf2read.c:24747
 #, possible-c-format
 msgid "debug info gives %s macro %s with %s line %d: %s"
 msgstr ""
 
-#: dwarf2read.c:24722 dwarf2read.c:24736 dwarf2read.c:24766
+#: dwarf2read.c:24748 dwarf2read.c:24762 dwarf2read.c:24792
 msgid "command-line"
 msgstr ""
 
-#: dwarf2read.c:24722 dwarf2read.c:24736
+#: dwarf2read.c:24748 dwarf2read.c:24762
 msgid "in-file"
 msgstr ""
 
-#: dwarf2read.c:24724 dwarf2read.c:24767
+#: dwarf2read.c:24750 dwarf2read.c:24793
 msgid "zero"
 msgstr ""
 
-#: dwarf2read.c:24724 dwarf2read.c:24767
+#: dwarf2read.c:24750 dwarf2read.c:24793
 msgid "non-zero"
 msgstr ""
 
@@ -11458,162 +11458,162 @@ msgstr ""
 #.
 #. For more info, see
 #. https://bugzilla.redhat.com/show_bug.cgi?id=1708786
-#: dwarf2read.c:24733
+#: dwarf2read.c:24759
 #, possible-c-format
 msgid ""
 "debug info gives %s invalid macro %s without body (corrupted?) at line %d on "
 "file %s"
 msgstr ""
 
-#: dwarf2read.c:24764
+#: dwarf2read.c:24790
 #, possible-c-format
 msgid "debug info gives source %d included from %s at %s line %d"
 msgstr ""
 
-#: dwarf2read.c:24766 skip.c:336
+#: dwarf2read.c:24792 skip.c:336
 msgid "file"
 msgstr ""
 
-#: dwarf2read.c:24783
+#: dwarf2read.c:24809
 msgid "macro debug info has an unmatched `close_file' directive"
 msgstr ""
 
-#: dwarf2read.c:24810
+#: dwarf2read.c:24836
 msgid "no terminating 0-type entry for macros in `.debug_macinfo' section"
 msgstr ""
 
 #. This has actually happened; see
 #. http://sourceware.org/bugzilla/show_bug.cgi?id=13568.
-#: dwarf2read.c:24851
+#: dwarf2read.c:24877
 msgid "recursive DW_MACRO_import in .debug_macro section"
 msgstr ""
 
-#: dwarf2read.c:24945
+#: dwarf2read.c:24971
 #, possible-c-format
 msgid "missing %s section"
 msgstr ""
 
-#: dwarf2read.c:25242
+#: dwarf2read.c:25268
 msgid "Location list used without specifying the CU base address."
 msgstr ""
 
-#: dwarf2read.c:25433
+#: dwarf2read.c:25459
 #, possible-c-format
 msgid ""
 "Dwarf Error: could not find partial DIE containing offset %s [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:25446
+#: dwarf2read.c:25472
 #, possible-c-format
 msgid "invalid dwarf2 offset %s"
 msgstr ""
 
-#: dwarf2read.c:25667
+#: dwarf2read.c:25693
 #, possible-c-format
 msgid "DW_AT_allocated has the wrong form (%s) at DIE %s"
 msgstr ""
 
-#: dwarf2read.c:25683
+#: dwarf2read.c:25709
 #, possible-c-format
 msgid "DW_AT_associated has the wrong form (%s) at DIE %s"
 msgstr ""
 
-#: dwarf2read.c:25712
+#: dwarf2read.c:25738
 #, possible-c-format
 msgid "A problem internal to GDB: DIE %s has type already set"
 msgstr ""
 
-#: dwarf2read.c:25871
+#: dwarf2read.c:25897
 #, possible-c-format
 msgid "Whether to always disassemble DWARF expressions is %s.\n"
 msgstr ""
 
-#: dwarf2read.c:25881
+#: dwarf2read.c:25907
 #, possible-c-format
 msgid "Whether to check \"physname\" is %s.\n"
 msgstr ""
 
-#: dwarf2read.c:25888
+#: dwarf2read.c:25914
 msgid ""
 "Set DWARF specific variables.\n"
 "Configure DWARF variables such as the cache size."
 msgstr ""
 
 #. allow-unknown
-#: dwarf2read.c:25894
+#: dwarf2read.c:25920
 msgid ""
 "Show DWARF specific variables.\n"
 "Show DWARF variables such as the cache size."
 msgstr ""
 
-#: dwarf2read.c:25901
+#: dwarf2read.c:25927
 msgid "Set the upper bound on the age of cached DWARF compilation units."
 msgstr ""
 
-#: dwarf2read.c:25902
+#: dwarf2read.c:25928
 msgid "Show the upper bound on the age of cached DWARF compilation units."
 msgstr ""
 
-#: dwarf2read.c:25903
+#: dwarf2read.c:25929
 msgid ""
 "A higher limit means that cached compilation units will be stored\n"
 "in memory longer, and more total memory will be used.  Zero disables\n"
 "caching, which can slow down startup."
 msgstr ""
 
-#: dwarf2read.c:25913
+#: dwarf2read.c:25939
 msgid "Set whether `info address' always disassembles DWARF expressions."
 msgstr ""
 
-#: dwarf2read.c:25914
+#: dwarf2read.c:25940
 msgid "Show whether `info address' always disassembles DWARF expressions."
 msgstr ""
 
-#: dwarf2read.c:25915
+#: dwarf2read.c:25941
 msgid ""
 "When enabled, DWARF expressions are always printed in an assembly-like\n"
 "syntax.  When disabled, expressions will be printed in a more\n"
 "conversational style, when possible."
 msgstr ""
 
-#: dwarf2read.c:25924
+#: dwarf2read.c:25950
 msgid "Set debugging of the DWARF reader."
 msgstr ""
 
-#: dwarf2read.c:25925
+#: dwarf2read.c:25951
 msgid "Show debugging of the DWARF reader."
 msgstr ""
 
-#: dwarf2read.c:25926
+#: dwarf2read.c:25952
 msgid ""
 "When enabled (non-zero), debugging messages are printed during DWARF\n"
 "reading and symtab expansion.  A value of 1 (one) provides basic\n"
 "information.  A value greater than 1 provides more verbose information."
 msgstr ""
 
-#: dwarf2read.c:25934
+#: dwarf2read.c:25960
 msgid "Set debugging of the DWARF DIE reader."
 msgstr ""
 
-#: dwarf2read.c:25935
+#: dwarf2read.c:25961
 msgid "Show debugging of the DWARF DIE reader."
 msgstr ""
 
-#: dwarf2read.c:25936
+#: dwarf2read.c:25962
 msgid ""
 "When enabled (non-zero), DIEs are dumped after they are read in.\n"
 "The value is the maximum depth to print."
 msgstr ""
 
-#: dwarf2read.c:25943
+#: dwarf2read.c:25969
 msgid "Set debugging of the dwarf line reader."
 msgstr ""
 
-#: dwarf2read.c:25944
+#: dwarf2read.c:25970
 msgid "Show debugging of the dwarf line reader."
 msgstr ""
 
-#: dwarf2read.c:25945
+#: dwarf2read.c:25971
 msgid ""
 "When enabled (non-zero), line number entries are dumped as they are read "
 "in.\n"
@@ -11621,29 +11621,29 @@ msgid ""
 "A value greater than 1 provides more verbose information."
 msgstr ""
 
-#: dwarf2read.c:25953
+#: dwarf2read.c:25979
 msgid "Set cross-checking of \"physname\" code against demangler."
 msgstr ""
 
-#: dwarf2read.c:25954
+#: dwarf2read.c:25980
 msgid "Show cross-checking of \"physname\" code against demangler."
 msgstr ""
 
-#: dwarf2read.c:25955
+#: dwarf2read.c:25981
 msgid ""
 "When enabled, GDB's internal \"physname\" code is checked against\n"
 "the demangler."
 msgstr ""
 
-#: dwarf2read.c:25962
+#: dwarf2read.c:25988
 msgid "Set whether to use deprecated gdb_index sections."
 msgstr ""
 
-#: dwarf2read.c:25963
+#: dwarf2read.c:25989
 msgid "Show whether to use deprecated gdb_index sections."
 msgstr ""
 
-#: dwarf2read.c:25964
+#: dwarf2read.c:25990
 msgid ""
 "When enabled, deprecated .gdb_index sections are used anyway.\n"
 "Normally they are ignored either because of a missing feature or\n"
@@ -12226,7 +12226,7 @@ msgstr ""
 msgid "Show debugging of FreeBSD lwp module."
 msgstr ""
 
-#: fbsd-nat.c:1678 fbsd-nat.c:1686 linux-nat.c:4540 linux-nat.c:4549
+#: fbsd-nat.c:1678 fbsd-nat.c:1686 linux-nat.c:4543 linux-nat.c:4552
 msgid "Enables printf debugging output."
 msgstr ""
 
@@ -17645,29 +17645,29 @@ msgstr ""
 msgid "wait returned unexpected status 0x%x"
 msgstr ""
 
-#: linux-nat.c:4019 linux-nat.c:4032
+#: linux-nat.c:4022 linux-nat.c:4035
 #, possible-c-format
 msgid "Could not parse signal set: %s"
 msgstr ""
 
-#: linux-nat.c:4064
+#: linux-nat.c:4067
 #, possible-c-format
 msgid "Could not open %s"
 msgstr ""
 
-#: linux-nat.c:4538
+#: linux-nat.c:4541
 msgid "Set debugging of GNU/Linux lwp module."
 msgstr ""
 
-#: linux-nat.c:4539
+#: linux-nat.c:4542
 msgid "Show debugging of GNU/Linux lwp module."
 msgstr ""
 
-#: linux-nat.c:4547
+#: linux-nat.c:4550
 msgid "Set debugging of GNU/Linux namespaces module."
 msgstr ""
 
-#: linux-nat.c:4548
+#: linux-nat.c:4551
 msgid "Show debugging of GNU/Linux namespaces module."
 msgstr ""
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/ChangeLog ./gdb/testsuite/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/ChangeLog	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/testsuite/ChangeLog	2019-10-04 01:49:51.000000000 +0000
@@ -1,3 +1,74 @@
+2019-10-03  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* gdb.fortran/nested-funcs-2.exp: Run tests with and without the
+	nested function prefix.
+
+2019-10-03  Bernhard Heckel  <bernhard.heckel@intel.com>
+	    Richard Bunt  <richard.bunt@arm.com>
+	    Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* gdb.fortran/nested-funcs.exp: Tests for placing breakpoints on
+	nested functions.
+	* gdb.fortran/nested-funcs.f90: Update expected results.
+	* gdb.fortran/nested-funcs-2.exp: New file.
+	* gdb.fortran/nested-funcs-2.f90: New file.
+
+2019-10-03  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* gdb.python/py-parameter.exp: Make test names unique.
+	* gdb.python/py-template.exp: Likewise.
+	* gdb.python/py-value.exp: Likewise.
+
+2019-10-03  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* gdb.base/break-interp.exp: Reduce test name duplication.
+	* gdb.base/call-sc.exp: Likewise.
+	* gdb.base/callfuncs.exp: Likewise.
+	* gdb.base/charset.exp: Likewise.
+	* gdb.base/dump.exp: Likewise.
+	* gdb.base/ena-dis-br.exp: Likewise.
+	* gdb.base/relational.exp: Likewise.
+	* gdb.base/step-over-syscall.exp: Likewise.
+	* gdb.base/structs.exp: Likewise.
+
+2019-10-03  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* gdb.linespec/explicit.exp: Make test names unique.
+	* gdb.linespec/ls-errs.exp: Likewise.
+
+2019-10-03  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* gdb.reverse/break-precsave.exp: Make test names unique.
+	* gdb.reverse/break-reverse.exp: Likewise.
+	* gdb.reverse/finish-precsave.exp: Likewise.
+	* gdb.reverse/finish-reverse.exp: Likewise.
+	* gdb.reverse/machinestate-precsave.exp: Likewise.
+	* gdb.reverse/machinestate.exp: Likewise.
+	* gdb.reverse/readv-reverse.exp: Likewise.
+	* gdb.reverse/recvmsg-reverse.exp: Likewise.
+	* gdb.reverse/sigall-precsave.exp: Likewise.
+	* gdb.reverse/sigall-reverse.exp: Likewise.
+	* gdb.reverse/step-indirect-call-thunk.exp: Likewise.
+	* gdb.reverse/watch-precsave.exp: Likewise.
+	* gdb.reverse/watch-reverse.exp: Likewise.
+
+2019-10-03  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* gdb.threads/stop-with-handle.c: New file.
+	* gdb.threads/stop-with-handle.exp: New file.
+
+2019-10-03  Tom de Vries  <tdevries@suse.de>
+
+	PR testsuite/25059
+	* gdb.base/list-missing-source.exp: Allowing the "Compilation
+	directory" line to be missing.
+
+2019-10-03  Tom de Vries  <tdevries@suse.de>
+
+	PR testsuite/25059
+	* gdb.base/info-types.exp: Make the presence of the 'unsigned int'
+	type optional.
+
 2019-10-02  Andreas Arnez  <arnez@linux.ibm.com>
 
 	* gdb.python/py-format-string.c (string.h): New include.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.base/break-interp.exp ./gdb/testsuite/gdb.base/break-interp.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.base/break-interp.exp	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/testsuite/gdb.base/break-interp.exp	2019-10-04 01:49:51.000000000 +0000
@@ -191,8 +191,16 @@ proc reach_1 {func command displacement}
 # DISPLACEMENT can be "NONE" for no message to be present, "ZERO" for
 # displacement of 0 bytes to be present, "NONZERO" for displacement of non-0
 # bytes to be present and "PRESENT" if both "ZERO" and "NONZERO" are valid.
-proc reach {func command displacement} {
-    with_test_prefix "reach-$func" {
+#
+# The optional ITERATION parameter is used in order to make unique
+# test prefixes, when calling this proc with the same FUNC name
+# provide a unique ITERATION value for each call.
+proc reach {func command displacement {iteration 1}} {
+    set prefix "reach-$func"
+    if { $iteration > 1 } {
+	set prefix "$prefix-$iteration"
+    }
+    with_test_prefix $prefix {
 	reach_1 $func $command $displacement
     }
 }
@@ -399,7 +407,7 @@ proc test_ld {file ifmain trynosym displ
 	    "set args OBJDIR/${subdir}/$binfile_test"
     }
 
-    reach $solib_bp "run" $displacement
+    reach $solib_bp "run" $displacement 1
 
     gdb_test "bt" "#0 +\[^\r\n\]*\\m(__GI_)?$solib_bp\\M.*" "dl bt"
 
@@ -413,7 +421,7 @@ proc test_ld {file ifmain trynosym displ
 
     # Try re-run if the new PIE displacement takes effect.
     gdb_test "kill" "" "kill" {Kill the program being debugged\? \(y or n\) } "y"
-    reach $solib_bp "run" $displacement
+    reach $solib_bp "run" $displacement 2
 
     if $ifmain {
 	test_core $file $displacement
@@ -445,7 +453,7 @@ proc test_ld {file ifmain trynosym displ
 	gdb_test "exec-file $file" "exec-file $escapedfile" "load"
 
 	if $ifmain {
-	    reach $solib_bp run $displacement
+	    reach $solib_bp run $displacement 3
 
 	    # Use two separate gdb_test_multiple statements to avoid timeouts due
 	    # to slow processing of wildcard capturing long output
@@ -594,9 +602,10 @@ foreach ldprelink {NO YES} {
 		file delete "${interp}.debug"
 	    }
 
-	    if ![prelink$ldprelink $interp] {
+	    if ![prelink$ldprelink $interp "$interp, second time"] {
 		continue
 	    }
+
 	    if {$ldprelink == "NO"} {
 		set displacement "NONZERO"
 	    } else {
@@ -662,34 +671,39 @@ foreach ldprelink {NO YES} {
 
 			    if {[prelink$binprelink $relink_args [file tail $exec]]
 				&& [file_copy $interp_saved $interp]} {
-				if {$binpie != "ATTACH"} {
-				    test_ld $exec 1 [expr {$binsepdebug == "NO"}] $displacement
-				} else {
-				    # If the file has been randomly prelinked it must be
-				    # "NONZERO".  We could see "ZERO" only if it was unprelinked
-				    # and it is now running at the same address - which is 0 but
-				    # executable can never run at address 0.
-
-				    set displacement "NONZERO"
-				    test_attach $exec $displacement $relink_args
-
-				    # ATTACH means that executables and libraries have been
-				    # modified after they have been run.  They cannot be reused
-				    # for problem reproducibility after the testcase ends in
-				    # the ATTACH case.  Therefore they are rather deleted not
-				    # to confuse after the run finishes.
-				    set exec_debug [system_debug_get $exec]
-				    if {$exec_debug != ""} {
-					# `file delete [glob "${exec_debug}*"]' does not work.
-					foreach f [glob "${exec_debug}*"] {
+				# In order to make test names unique wrap the core of this if block
+				# with a test prefix.  Some of the tests performed in the if
+				# condition are repeated within this body.
+				with_test_prefix "INNER" {
+				    if {$binpie != "ATTACH"} {
+					test_ld $exec 1 [expr {$binsepdebug == "NO"}] $displacement
+				    } else {
+					# If the file has been randomly prelinked it must be
+					# "NONZERO".  We could see "ZERO" only if it was unprelinked
+					# and it is now running at the same address - which is 0 but
+					# executable can never run at address 0.
+
+					set displacement "NONZERO"
+					test_attach $exec $displacement $relink_args
+
+					# ATTACH means that executables and libraries have been
+					# modified after they have been run.  They cannot be reused
+					# for problem reproducibility after the testcase ends in
+					# the ATTACH case.  Therefore they are rather deleted not
+					# to confuse after the run finishes.
+					set exec_debug [system_debug_get $exec]
+					if {$exec_debug != ""} {
+					    # `file delete [glob "${exec_debug}*"]' does not work.
+					    foreach f [glob "${exec_debug}*"] {
+						file delete $f
+					    }
+					}
+					file delete -force $dir
+					# `file delete [glob "${exec}*"]' does not work.
+					foreach f [glob "${exec}*"] {
 					    file delete $f
 					}
 				    }
-				    file delete -force $dir
-				    # `file delete [glob "${exec}*"]' does not work.
-				    foreach f [glob "${exec}*"] {
-					file delete $f
-				    }
 				}
 			    }
 			}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.base/callfuncs.exp ./gdb/testsuite/gdb.base/callfuncs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.base/callfuncs.exp	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/testsuite/gdb.base/callfuncs.exp	2019-10-04 01:49:51.000000000 +0000
@@ -322,21 +322,31 @@ proc fetch_all_registers {test} {
     return $all_registers_lines
 }
 
-proc rerun_and_prepare {} {
-    if { ![runto_main] } {
-	gdb_suppress_tests
-    }
+# Global used by RERUN_AND_PREPARE to make test names unique.
+set rerun_count 0
 
-    gdb_test_no_output "set language c"
+proc rerun_and_prepare {} {
+    global rerun_count
 
-    get_debug_format
+    incr rerun_count
+    with_test_prefix "rerun number ${rerun_count}" {
 
-    # Make sure that malloc gets called and that the floating point unit
-    # is initialized via a call to t_double_values.
-    gdb_test "next" "t_double_values\\(double_val1, double_val2\\);.*" \
-	"next to t_double_values"
-    gdb_test "next" "t_structs_c\\(struct_val1\\);.*" \
-	"next to t_structs_c"
+	if { ![runto_main] } {
+	    gdb_suppress_tests
+	}
+
+	gdb_test_no_output "set language c"
+
+	get_debug_format
+
+	# Make sure that malloc gets called and that the floating
+	# point unit is initialized via a call to t_double_values.
+	gdb_test "next" \
+	    "t_double_values\\(double_val1, double_val2\\);.*" \
+	    "next to t_double_values"
+	gdb_test "next" "t_structs_c\\(struct_val1\\);.*" \
+	    "next to t_structs_c"
+    }
 }
 
 proc perform_all_tests {prototypes} {
@@ -347,7 +357,8 @@ proc perform_all_tests {prototypes} {
     rerun_and_prepare
 
     # Save all register contents.
-    set old_reg_content [fetch_all_registers "retrieve original register contents"]
+    set old_reg_content \
+	[fetch_all_registers "retrieve original register contents 1"]
 
     # Perform function calls.
     do_function_calls $prototypes
@@ -364,7 +375,8 @@ proc perform_all_tests {prototypes} {
 
     rerun_and_prepare
     # Save all register contents.
-    set old_reg_content [fetch_all_registers "retrieve original register contents"]
+    set old_reg_content \
+	[fetch_all_registers "retrieve original register contents 2"]
 
     # Set breakpoint at a function we will call from gdb.
     gdb_breakpoint add
@@ -391,7 +403,8 @@ proc perform_all_tests {prototypes} {
     # Set breakpoint at a function we will call from gdb.
     gdb_breakpoint add
     # Save all register contents.
-    set old_reg_content [fetch_all_registers "retrieve original register contents"]
+    set old_reg_content \
+	[fetch_all_registers "retrieve original register contents 3"]
 
     # Call function (causing a breakpoint hit in the call dummy) and do a finish,
     # make sure we are back at main and still have the same register contents.
@@ -416,7 +429,8 @@ proc perform_all_tests {prototypes} {
     # Set breakpoint at a function we will call from gdb.
     gdb_breakpoint add
     # Save all register contents.
-    set old_reg_content [fetch_all_registers "retrieve original register contents"]
+    set old_reg_content \
+	[fetch_all_registers "retrieve original register contents 4"]
 
     # Call function (causing a breakpoint hit in the call dummy) and do a return
     # with a value, make sure we are back at main with the same register contents.
@@ -439,7 +453,8 @@ proc perform_all_tests {prototypes} {
     rerun_and_prepare
     # Set breakpoint at a function we will call from gdb.
     gdb_breakpoint add
-    set old_reg_content [fetch_all_registers "retrieve original register contents"]
+    set old_reg_content \
+	[fetch_all_registers "retrieve original register contents 5"]
 
     # Call function (causing a breakpoint hit in the call dummy), and
     # call another function from the call dummy frame (thereby setting up
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.base/call-sc.exp ./gdb/testsuite/gdb.base/call-sc.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.base/call-sc.exp	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/testsuite/gdb.base/call-sc.exp	2019-10-04 01:49:51.000000000 +0000
@@ -71,9 +71,11 @@ proc start_scalars_test { type } {
     gdb_load ${binfile}
 
     # Make certain that the output is consistent
-    gdb_test_no_output "set print sevenbit-strings"
-    gdb_test_no_output "set print address off"
-    gdb_test_no_output "set width 0"
+    with_test_prefix "testfile=$testfile" {
+	gdb_test_no_output "set print sevenbit-strings"
+	gdb_test_no_output "set print address off"
+	gdb_test_no_output "set width 0"
+    }
 
     # Advance to main
     if { ![runto_main] } then {
@@ -243,7 +245,7 @@ proc test_scalar_returns { } {
     #
     # This happens on ppc64 GNU/Linux with gcc 3.4.1 and a buggy GDB
 
-    set test "return foo; synchronize pc to main()"
+    set test "return foo; synchronize pc to main() for '${testfile}'"
     for {set loop_count 0} {$loop_count < 2} {incr loop_count} {
       gdb_test_multiple "backtrace 1" $test {
         -re "#0.*main \\(\\).*${gdb_prompt} $" {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.base/charset.exp ./gdb/testsuite/gdb.base/charset.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.base/charset.exp	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/testsuite/gdb.base/charset.exp	2019-10-04 01:49:51.000000000 +0000
@@ -175,7 +175,7 @@ gdb_expect {
 # We don't want to test all the charset names here, since that would
 # be too many combinations.  We we pick a subset.
 set charset_subset {ASCII ISO-8859-1 EBCDIC-US IBM1047}
-foreach host_charset $charset_subset {
+foreach_with_prefix host_charset $charset_subset {
     if {[valid_host_charset $host_charset]} {
 
         set testname "try `set host-charset $host_charset'"
@@ -591,8 +591,12 @@ gdb_test "print 'a' == 'a' || 'b' == 'b'
 
 
 proc string_display { var_name set_prefix x_size x_type} {
-  gdb_test_no_output "set ${var_name} = ${set_prefix}\"Test String\\0with zeroes\"" "assign ${var_name} with prefix ${set_prefix}"
-  gdb_test "x /2${x_size}s ${var_name}" ".*\t${x_type}\"Test String\"\[\r\n\]+.*\t${x_type}\"with zeroes\"" "display String ${var_name} with x/${x_size}s"
+    with_test_prefix "set_prefix=$set_prefix" {
+	gdb_test_no_output "set ${var_name} = ${set_prefix}\"Test String\\0with zeroes\""\
+	    "assign ${var_name} with prefix ${set_prefix}"
+	gdb_test "x /2${x_size}s ${var_name}" ".*\t${x_type}\"Test String\"\[\r\n\]+.*\t${x_type}\"with zeroes\"" \
+	    "display String ${var_name} with x/${x_size}s"
+    }
 }
 
 if {$ucs2_ok} {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.base/dump.exp ./gdb/testsuite/gdb.base/dump.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.base/dump.exp	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/testsuite/gdb.base/dump.exp	2019-10-04 01:49:51.000000000 +0000
@@ -30,6 +30,17 @@ if [istarget "alpha*-*-*"] then {
     lappend options "additional_flags=-Wl,-taso"
 }
 
+# Runs the command 'print zero_all ()'.  Uses the PRINT_ZERO_ALL_COUNT
+# global to ensure the test names are unique.
+set print_zero_all_count 0
+proc print_zero_all { } {
+    global print_zero_all_count
+
+    incr print_zero_all_count
+    gdb_test "print zero_all ()" " = void" \
+	"call ${print_zero_all_count} to zero_all function"
+}
+
 # Debian9/Ubuntu16.10 onwards default to PIE enabled. Ensure it is disabled as
 # this causes addresses to be out of range for IHEX.
 lappend options {nopie}
@@ -272,7 +283,6 @@ proc test_restore_saved_value { restore_
 
 if ![string compare $is64bitonly "no"] then {
 
-  gdb_test "print zero_all ()" ".*"
 
   test_restore_saved_value "[set intarr1.srec]" "array as value, srec" \
 	$array_val "intarray"
@@ -280,7 +290,7 @@ if ![string compare $is64bitonly "no"] t
   test_restore_saved_value "[set intstr1.srec]" "struct as value, srec" \
 	$struct_val "intstruct"
 
-  gdb_test "print zero_all ()" "void" "zero all"
+  print_zero_all
 
   test_restore_saved_value "[set intarr2.srec]" "array as memory, srec" \
 	$array_val "intarray"
@@ -288,7 +298,7 @@ if ![string compare $is64bitonly "no"] t
   test_restore_saved_value "[set intstr2.srec]" "struct as memory, srec" \
 	$struct_val "intstruct"
 
-  gdb_test "print zero_all ()" ".*"
+  print_zero_all
 
   test_restore_saved_value "[set intarr1.ihex]" "array as value, ihex" \
 	$array_val "intarray"
@@ -296,7 +306,7 @@ if ![string compare $is64bitonly "no"] t
   test_restore_saved_value "[set intstr1.ihex]" "struct as value, ihex" \
 	$struct_val "intstruct"
 
-  gdb_test "print zero_all ()" ".*"
+  print_zero_all
 
   test_restore_saved_value "[set intarr2.ihex]" "array as memory, ihex" \
 	$array_val "intarray"
@@ -304,7 +314,7 @@ if ![string compare $is64bitonly "no"] t
   test_restore_saved_value "[set intstr2.ihex]" "struct as memory, ihex" \
 	$struct_val "intstruct"
 
-  gdb_test "print zero_all ()" ".*"
+  print_zero_all
 
   test_restore_saved_value "[set intarr1.tekhex]" "array as value, tekhex" \
 	$array_val "intarray"
@@ -312,7 +322,7 @@ if ![string compare $is64bitonly "no"] t
   test_restore_saved_value "[set intstr1.tekhex]" "struct as value, tekhex" \
 	$struct_val "intstruct"
 
-  gdb_test "print zero_all ()" ".*"
+  print_zero_all
 
   test_restore_saved_value "[set intarr2.tekhex]" "array as memory, tekhex" \
 	$array_val "intarray"
@@ -321,7 +331,7 @@ if ![string compare $is64bitonly "no"] t
 	$struct_val "intstruct"
 }
 
-gdb_test "print zero_all ()" ".*"
+print_zero_all
 
 test_restore_saved_value "[set intarr1.bin] binary $array_start" \
 	"array as value, binary" \
@@ -331,7 +341,7 @@ test_restore_saved_value "[set intstr1.b
 	"struct as value, binary" \
 	$struct_val "intstruct"
 
-gdb_test "print zero_all ()" ".*"
+print_zero_all
 
 test_restore_saved_value "[set intarr2.bin] binary $array_start" \
 	"array as memory, binary" \
@@ -350,7 +360,7 @@ set array2_offset  \
 set struct2_offset \
 	[capture_value "(char *) &intstruct2 - (char *) &intstruct"]
 
-gdb_test "print zero_all ()" ".*"
+print_zero_all
 
 
 if ![string compare $is64bitonly "no"] then {
@@ -362,7 +372,7 @@ if ![string compare $is64bitonly "no"] t
 	"struct copy, srec" \
 	$struct_val "intstruct2"
 
-  gdb_test "print zero_all ()" ".*"
+  print_zero_all
 
   test_restore_saved_value "[set intarr1.ihex] $array2_offset" \
 	"array copy, ihex" \
@@ -372,7 +382,7 @@ if ![string compare $is64bitonly "no"] t
 	"struct copy, ihex" \
 	$struct_val "intstruct2"
 
-  gdb_test "print zero_all ()" ".*"
+  print_zero_all
 
   test_restore_saved_value "[set intarr1.tekhex] $array2_offset" \
 	"array copy, tekhex" \
@@ -383,7 +393,7 @@ if ![string compare $is64bitonly "no"] t
 	$struct_val "intstruct2"
 }
 
-gdb_test "print zero_all ()" ".*"
+print_zero_all
 
 test_restore_saved_value "[set intarr1.bin] binary $array2_start" \
 	"array copy, binary" \
@@ -410,7 +420,7 @@ set element4_offset \
 	[capture_value "/x (char *) &intarray\[4\] - (char *) &intarray\[0\]"]
 
 if ![string compare $is64bitonly "no"] then {
-  gdb_test "print zero_all ()" ".*"
+  print_zero_all
 
   test_restore_saved_value "[set intarr1.srec] 0 $element3_start $element4_start" \
 	"array partial, srec" 4 "intarray\[3\]"
@@ -418,7 +428,7 @@ if ![string compare $is64bitonly "no"] t
   gdb_test "print intarray\[2\] == 0" " = 1" "element 2 not changed - 1"
   gdb_test "print intarray\[4\] == 0" " = 1" "element 4 not changed - 1"
 
-  gdb_test "print zero_all ()" ".*"
+  print_zero_all
 
   test_restore_saved_value "[set intarr1.ihex] 0 $element3_start $element4_start" \
 	"array partial, ihex" 4 "intarray\[3\]"
@@ -426,7 +436,7 @@ if ![string compare $is64bitonly "no"] t
   gdb_test "print intarray\[2\] == 0" " = 1" "element 2 not changed - 2"
   gdb_test "print intarray\[4\] == 0" " = 1" "element 4 not changed - 2"
 
-  gdb_test "print zero_all ()" ".*"
+  print_zero_all
 
   test_restore_saved_value "[set intarr1.tekhex] 0 $element3_start $element4_start" \
 	"array partial, tekhex" 4 "intarray\[3\]"
@@ -435,7 +445,7 @@ if ![string compare $is64bitonly "no"] t
   gdb_test "print intarray\[4\] == 0" " = 1" "element 4 not changed - 3"
 }
 
-gdb_test "print zero_all ()" ".*"
+print_zero_all
 
 test_restore_saved_value \
     "[set intarr1.bin] binary $array_start $element3_offset $element4_offset" \
@@ -445,7 +455,7 @@ gdb_test "print intarray\[2\] == 0" " = 
 gdb_test "print intarray\[4\] == 0" " = 1" "element 4 not changed - 4"
 
 if ![string compare $is64bitonly "no"] then {
-  gdb_test "print zero_all ()" ".*" ""
+  print_zero_all
 
   # restore with expressions 
   test_restore_saved_value \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.base/ena-dis-br.exp ./gdb/testsuite/gdb.base/ena-dis-br.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.base/ena-dis-br.exp	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/testsuite/gdb.base/ena-dis-br.exp	2019-10-04 01:49:51.000000000 +0000
@@ -60,7 +60,7 @@ gdb_test_no_output "enable $bp" "enable 
 
 gdb_test "info break $bp" \
     "\[0-9\]*\[ \t\]+breakpoint\[ \t\]+keep\[ \t\]+y.*" \
-    "info break marker1"
+    "info break marker1 before hitting breakpoint"
 
 # See the comments in condbreak.exp for "run until breakpoint at
 # marker1" for an explanation of the xfail below.
@@ -84,7 +84,7 @@ gdb_test_no_output "enable once $bp" "en
 
 gdb_test "info break $bp" \
     "\[0-9\]*\[ \t\]+breakpoint\[ \t\]+dis\[ \t\]+y.*" \
-    "info auto-disabled break marker2"
+    "info auto-disabled break marker2 before hitting breakpoint"
 
 # See the comments in condbreak.exp for "run until breakpoint at
 # marker1" for an explanation of the xfail below.
@@ -100,7 +100,7 @@ gdb_test_multiple "continue" "$test" {
 
 gdb_test "info break $bp" \
     "\[0-9\]*\[ \t\]+breakpoint\[ \t\]+dis\[ \t\]+n.*" \
-    "info auto-disabled break marker2"
+    "info auto-disabled break marker2 after hitting breakpoint"
 
 # Verify that we don't stop at a disabled breakpoint.
 gdb_continue_to_end "no stop"
@@ -209,7 +209,7 @@ gdb_test "ignore $bp 0" \
 
 gdb_test "ignore $bp 1" \
     "Will ignore next crossing of breakpoint \[0-9\]*.*" \
-    "ignore break marker1"
+    "ignore break marker1 1"
 
 gdb_test "info break $bp" \
     "\[0-9\]*\[ \t\]+breakpoint\[ \t\]+keep\[ \t\]+y.*ignore next 1 hits.*" \
@@ -246,7 +246,7 @@ gdb_test_no_output "enable del $bp" "ena
 
 gdb_test "info break $bp" \
     "\[0-9\]*\[ \t\]+breakpoint\[ \t\]+del\[ \t\]+y.*ignore next 1 hits.*" \
-    "info break marker1"
+    "info break marker1 after hitting breakpoint"
 
 gdb_continue_to_end "no stop at ignored & auto-deleted break marker1"
 rerun_to_main
@@ -266,7 +266,7 @@ set bp [break_at marker1 " line $bp_loca
 
 gdb_test "ignore $bp 10" \
     "Will ignore next 10 crossings of breakpoint \[0-9\]*.*" \
-    "ignore break marker1"
+    "ignore break marker1 10"
 
 gdb_test_no_output "disable $bp" "disable break marker1"
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.base/info-types.exp ./gdb/testsuite/gdb.base/info-types.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.base/info-types.exp	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/testsuite/gdb.base/info-types.exp	2019-10-04 01:49:51.000000000 +0000
@@ -85,8 +85,8 @@ proc run_test { lang } {
 		 "39:\[\t \]+typedef enum_t nested_enum_t;" \
 		 "19:\[\t \]+typedef float nested_float_t;" \
 		 "18:\[\t \]+typedef int nested_int_t;" \
-		 "62:\[\t \]+typedef union_t nested_union_t;" \
-		 "\[\t \]+unsigned int(" \
+		 "62:\[\t \]+typedef union_t nested_union_t;(" \
+		 "\[\t \]+unsigned int)?(" \
 		 "" \
 		 "File .*:.*)?" ]
     } else {
@@ -117,8 +117,8 @@ proc run_test { lang } {
 		 "19:\[\t \]+typedef float nested_float_t;" \
 		 "18:\[\t \]+typedef int nested_int_t;" \
 		 "62:\[\t \]+typedef union union_t nested_union_t;" \
-		 "56:\[\t \]+union union_t;" \
-		 "\[\t \]+unsigned int(" \
+		 "56:\[\t \]+union union_t;(" \
+		 "\[\t \]+unsigned int)?(" \
 		 "" \
 		 "File .*:.*)?" ]
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.base/list-missing-source.exp ./gdb/testsuite/gdb.base/list-missing-source.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.base/list-missing-source.exp	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/testsuite/gdb.base/list-missing-source.exp	2019-10-04 01:49:51.000000000 +0000
@@ -54,8 +54,8 @@ gdb_test "list" "1\[ \t\]+in\[ \t\]+$src
 gdb_test "info source" \
     [multi_line \
 	 "info source" \
-	 "Current source file is $srcfile" \
-	 "Compilation directory is \[^\n\r\]+" \
+	 "Current source file is $srcfile\(" \
+	 "Compilation directory is \[^\n\r\]+)?" \
 	 "Source language is c." \
 	 "Producer is \[^\n\r\]+" \
 	 "Compiled with DWARF $decimal debugging format." \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.base/relational.exp ./gdb/testsuite/gdb.base/relational.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.base/relational.exp	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/testsuite/gdb.base/relational.exp	2019-10-04 01:49:51.000000000 +0000
@@ -46,147 +46,162 @@ if ![runto_main] then {
 # test expressions with "int" types
 #
 
-gdb_test_no_output "set variable x=14" "set variable x=14"
-gdb_test_no_output "set variable y=2" "set variable y=2"
-gdb_test_no_output "set variable z=2" "set variable z=2"
-gdb_test_no_output "set variable w=3" "set variable w=3"
+with_test_prefix "int types" {
 
-gdb_test "print x" " = 14" "print value of x"
+    gdb_test_no_output "set variable x=14" "set variable x=14"
+    gdb_test_no_output "set variable y=2" "set variable y=2"
+    gdb_test_no_output "set variable z=2" "set variable z=2"
+    gdb_test_no_output "set variable w=3" "set variable w=3"
 
-gdb_test "print y" " = 2" "print value of y"
+    gdb_test "print x" " = 14" "print value of x"
 
-gdb_test "print z" " = 2" "print value of z"
+    gdb_test "print y" " = 2" "print value of y"
 
-gdb_test "print w" " = 3" "print value of w"
+    gdb_test "print z" " = 2" "print value of z"
 
-gdb_test "print x < y" "$false" "print value of x<y"
+    gdb_test "print w" " = 3" "print value of w"
 
-gdb_test "print x <= y" "$false" "print value of x<=y"
+    gdb_test "print x < y" "$false" "print value of x<y"
 
-gdb_test "print x > y" "$true" "print value of x>y"
+    gdb_test "print x <= y" "$false" "print value of x<=y"
 
-gdb_test "print x >= y" "$true" "print value of x>=y"
+    gdb_test "print x > y" "$true" "print value of x>y"
 
-gdb_test "print x == y" "$false" "print value of x==y"
+    gdb_test "print x >= y" "$true" "print value of x>=y"
 
-gdb_test "print x != y" "$true" "print value of x!=y"
+    gdb_test "print x == y" "$false" "print value of x==y"
 
+    gdb_test "print x != y" "$true" "print value of x!=y"
+}
 
 # Test associativity of <, >, <=, >=, ==, !=
+with_test_prefix "basic associativity" {
 
-gdb_test_no_output "set variable x=3" "set variable x"
-gdb_test_no_output "set variable y=5" "set variable y"
-gdb_test_no_output "set variable z=2" "set variable z"
+    gdb_test_no_output "set variable x=3" "set variable x=3"
+    gdb_test_no_output "set variable y=5" "set variable y=5"
+    gdb_test_no_output "set variable z=2" "set variable z=2"
 
-gdb_test "print x < y < z" "$true" "print value of x<y<z"
+    gdb_test "print x < y < z" "$true" "print value of x<y<z"
 
-gdb_test "print x <= y <= z" "$true" "print value of x<=y<=z"
+    gdb_test "print x <= y <= z" "$true" "print value of x<=y<=z"
 
-gdb_test "print x > y > z" "$false" "print value of x>y>z"
+    gdb_test "print x > y > z" "$false" "print value of x>y>z"
 
-gdb_test "print x >= y >= z" "$false" "print value of x>=y>=z"
+    gdb_test "print x >= y >= z" "$false" "print value of x>=y>=z"
 
-gdb_test_no_output "set variable x=2" "set variable x"
-gdb_test_no_output "set variable y=2" "set variable y"
-gdb_test_no_output "set variable z=1" "set variable z"
+    gdb_test_no_output "set variable x=2" "set variable x=2"
+    gdb_test_no_output "set variable y=2" "set variable y=2"
+    gdb_test_no_output "set variable z=1" "set variable z=1"
 
-gdb_test "print x == y == z" "$true" "print value of x==y==z"
+    gdb_test "print x == y == z" "$true" "print value of x==y==z"
 
-gdb_test_no_output "set variable z=0" "set variable z"
+    gdb_test_no_output "set variable z=0" "set variable z"
 
-gdb_test "print x != y != z" "$false" "print value of x!=y!=z"
+    gdb_test "print x != y != z" "$false" "print value of x!=y!=z"
+}
 
-# test precedence rules on pairs of relational operators
+# Test precedence rules on pairs of relational operators.  The use of
+# with_test_prefix with keys 1, 2, 3, etc is only to ensure that the
+# test names are unique.  Each nested group of tests starts at a
+# location where we are setting a variable to a value it has had in
+# the past, which would result in a test name repeating.
+with_test_prefix "pair associativity" {
+    with_test_prefix "1" {
+	gdb_test_no_output "set variable x=0" "set variable x=0"
+	gdb_test_no_output "set variable y=2" "set variable y=2"
+	gdb_test_no_output "set variable z=2" "set variable z=2"
 
-gdb_test_no_output "set variable x=0" "set variable x"
-gdb_test_no_output "set variable y=2" "set variable y"
-gdb_test_no_output "set variable z=2" "set variable z"
+	gdb_test "print x < y == z" "$false" "print value of x<y==z"
 
-gdb_test "print x < y == z" "$false" "print value of x<y==z"
+	# 0  2  2
+	gdb_test "print x < y != z" "$true" "print value of x<y!=z"
 
-# 0  2  2
-gdb_test "print x < y != z" "$true" "print value of x<y!=z"
+	gdb_test_no_output "set variable x=2" "set variable x=2"
+	gdb_test_no_output "set variable y=3" "set variable y=3"
+	gdb_test_no_output "set variable z=1" "set variable z=1"
 
-gdb_test_no_output "set variable x=2" "set variable x"
-gdb_test_no_output "set variable y=3" "set variable y"
-gdb_test_no_output "set variable z=1" "set variable z"
+	# 2 3 1
+	gdb_test "print x < y <= z" "$true" "print value of x<y<=z"
 
+	# 2 3 1
+	gdb_test "print x < y >= z" "$true" "print value of x<y>=z"
 
-# 2 3 1
-gdb_test "print x < y <= z" "$true" "print value of x<y<=z"
+	gdb_test_no_output "set variable z=0" " set variable z=0"
 
-# 2 3 1
-gdb_test "print x < y >= z" "$true" "print value of x<y>=z"
+	# 2 3 0
+	gdb_test "print x < y > z" "$true" "print value of x<y>z"
 
-gdb_test_no_output "set variable z=0" " set variable z"
+	gdb_test_no_output "set variable x=1" " set variable x=1"
 
-# 2 3 0
-gdb_test "print x < y > z" "$true" "print value of x<y>z"
+	# 1 3 0
+	gdb_test "print x > y >= z" "$true" "print value of x>y>=z"
+    }
 
-gdb_test_no_output "set variable x=1" " set variable x"
+    with_test_prefix "2" {
+	gdb_test_no_output "set variable z=2" " set variable z=2"
 
-# 1 3 0
-gdb_test "print x > y >= z" "$true" "print value of x>y>=z"
+	# 1 3 2
+	gdb_test "print x > y == z" "$false" "print value of x>y==z"
 
-gdb_test_no_output "set variable z=2" " set variable z"
+	gdb_test_no_output "set variable x=2" " set variable x=2"
+	gdb_test_no_output "set variable z=0" " set variable z=0"
 
-# 1 3 2
-gdb_test "print x > y == z" "$false" "print value of x>y==z"
+	# 2 3 0
+	gdb_test "print x > y != z" "$false" "print value of x>y!=z"
 
-gdb_test_no_output "set variable x=2" " set variable x"
-gdb_test_no_output "set variable z=0" " set variable z"
+	gdb_test_no_output "set variable x=4" "set variable x=4"
 
-# 2 3 0
-gdb_test "print x > y != z" "$false" "print value of x>y!=z"
+	# 4 3 0
+	gdb_test "print x > y <= z" "$false" "print value of x>y<=z"
 
-gdb_test_no_output "set variable x=4" "set x to 4"
+	# 4 3 0
+	gdb_test "print x >= y == z" "$false" "print value of x>=y==z"
+    }
 
-# 4 3 0
-gdb_test "print x > y <= z" "$false" "print value of x>y<=z"
+    with_test_prefix "3" {
+	gdb_test_no_output "set variable x=2" " set variable x=2"
 
-# 4 3 0
-gdb_test "print x >= y == z" "$false" "print value of x>=y==z"
+	# 2 3 0
+	gdb_test "print x >= y != z" "$false" "print value of x>=y!=z"
 
-gdb_test_no_output "set variable x=2" " set variable x"
+	gdb_test_no_output "set variable x=0" " set variable x=0"
+	gdb_test_no_output "set variable z=4" " set variable z=4"
 
-# 2 3 0
-gdb_test "print x >= y != z" "$false" "print value of x>=y!=z"
+	# 0 3 4
+	gdb_test "print x >= y <= z" "$true" "print value of x>=y<=z"
 
-gdb_test_no_output "set variable x=0" " set variable x"
-gdb_test_no_output "set variable z=4" " set variable z"
+	# 0 3 4
+	gdb_test "print x <= y == z" "$false" "print value of x<=y==z"
+    }
 
-# 0 3 4 
-gdb_test "print x >= y <= z" "$true" "print value of x>=y<=z"
-
-# 0 3 4
-gdb_test "print x <= y == z" "$false" "print value of x<=y==z"
-
-gdb_test_no_output "set variable x=2" " set variable x"
-
-# 2 3 4
-gdb_test "print x <= y != z" "$true" "print value of x<=y!=z"
-
-# 2 3 4
-gdb_test "print x == y != z" "$true" "print value of x==y!=z"
+    with_test_prefix "4" {
+	gdb_test_no_output "set variable x=2" " set variable x=2"
 
+	# 2 3 4
+	gdb_test "print x <= y != z" "$true" "print value of x<=y!=z"
 
+	# 2 3 4
+	gdb_test "print x == y != z" "$true" "print value of x==y!=z"
+    }
+}
 
 # test use of parenthesis to enforce different order of evaluation
+with_test_prefix "with parenthesis" {
+    gdb_test_no_output "set variable z=0" " set variable z=0"
 
-gdb_test_no_output "set variable z=0" " set variable z"
-
-# 2 3 0
-gdb_test "print x >= (y < z)" "$true" "print value of x>=(y<z)"
+    # 2 3 0
+    gdb_test "print x >= (y < z)" "$true" "print value of x>=(y<z)"
 
-# 2 3 0
-gdb_test "print x >= (y != z)" "$true" "print value of x>=(y!=z)"
+    # 2 3 0
+    gdb_test "print x >= (y != z)" "$true" "print value of x>=(y!=z)"
 
-# 2 3 0
-gdb_test "print x == (y == z)" "$false" "print value of x==(y==z)" 
+    # 2 3 0
+    gdb_test "print x == (y == z)" "$false" "print value of x==(y==z)"
 
-gdb_test_no_output "set variable x=1" " set variable x"
-gdb_test_no_output "set variable z=4" " set variable z"
+    gdb_test_no_output "set variable x=1" " set variable x=1"
+    gdb_test_no_output "set variable z=4" " set variable z=4"
 
-# 1 3 4
-gdb_test "print (x == y) < z" "$true" "print value of (x==y)<z"
+    # 1 3 4
+    gdb_test "print (x == y) < z" "$true" "print value of (x==y)<z"
+}
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.base/step-over-syscall.exp ./gdb/testsuite/gdb.base/step-over-syscall.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.base/step-over-syscall.exp	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/testsuite/gdb.base/step-over-syscall.exp	2019-10-04 01:49:51.000000000 +0000
@@ -27,7 +27,7 @@ if { [istarget "i\[34567\]86-*-linux*"] 
     return -1
 }
 
-proc check_pc_after_cross_syscall { syscall syscall_insn_next_addr } {
+proc_with_prefix check_pc_after_cross_syscall { syscall syscall_insn_next_addr } {
     set syscall_insn_next_addr_found [get_hexadecimal_valueof "\$pc" "0"]
 
     set test "single step over $syscall final pc"
@@ -59,7 +59,8 @@ proc setup { syscall } {
     # Delete the breakpoint on main.
     gdb_test_no_output "delete break 1"
 
-    gdb_test_no_output "set displaced-stepping off"
+    gdb_test_no_output "set displaced-stepping off" \
+	"set displaced-stepping off during test setup"
 
     gdb_test "break $syscall" "Breakpoint \[0-9\]* at .*"
 
@@ -100,11 +101,13 @@ proc setup { syscall } {
 	return { -1, -1 }
     }
 
-    set syscall_insn_addr [get_hexadecimal_valueof "\$pc" "0"]
+    set syscall_insn_addr [get_hexadecimal_valueof "\$pc" "0" \
+			       "pc before stepi"]
     if {[gdb_test "stepi" "x/i .*=>.*" "stepi $syscall insn"] != 0} {
 	return { -1, -1 }
     }
-    return [list $syscall_insn_addr [get_hexadecimal_valueof "\$pc" "0"]]
+    return [list $syscall_insn_addr [get_hexadecimal_valueof "\$pc" \
+					 "0" "pc after stepi"]]
 }
 
 proc step_over_syscall { syscall } {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.base/structs.exp ./gdb/testsuite/gdb.base/structs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.base/structs.exp	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/testsuite/gdb.base/structs.exp	2019-10-04 01:49:51.000000000 +0000
@@ -82,10 +82,12 @@ proc start_structs_test { types } {
     gdb_load ${binfile}
 
     # Make certain that the output is consistent
-    gdb_test_no_output "set print sevenbit-strings"
-    gdb_test_no_output "set print address off"
-    gdb_test_no_output "set width 0"
-    gdb_test_no_output "set print elements 300"
+    with_test_prefix "types=$types" {
+	gdb_test_no_output "set print sevenbit-strings"
+	gdb_test_no_output "set print address off"
+	gdb_test_no_output "set width 0"
+	gdb_test_no_output "set print elements 300"
+    }
 
     # Advance to main
     if { ![runto_main] } then {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.fortran/nested-funcs-2.exp ./gdb/testsuite/gdb.fortran/nested-funcs-2.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.fortran/nested-funcs-2.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.fortran/nested-funcs-2.exp	2019-10-04 01:49:51.000000000 +0000
@@ -0,0 +1,150 @@
+# 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
+# (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/> .
+
+# Further testing of placing breakpoints in nested subroutines.
+
+if {[skip_fortran_tests]} { return -1 }
+load_lib "fortran.exp"
+
+standard_testfile ".f90"
+
+if {[prepare_for_testing ${testfile}.exp ${testfile} \
+	 ${srcfile} {debug f90}]} {
+    return -1
+}
+
+set int4 [fortran_int4]
+
+# When WITH_SRC_PREFIX_P is true then some symbol references will be
+# prefixed with the filename.  When WITH_NEST_PREFIX_P is true then
+# nested subroutine symbols will be prefixed with their parent
+# subroutine scope.
+proc do_bp_tests {with_src_prefix_p with_nest_prefix_p} {
+    global testfile srcfile
+    global int4
+    global hex
+
+    clean_restart ${testfile}
+
+    if { $with_src_prefix_p } {
+	set src_prefix "${srcfile}:"
+    } else {
+	set src_prefix ""
+    }
+
+    if { $with_nest_prefix_p } {
+	set nest_prefix "contains_keyword::"
+    } else {
+	set nest_prefix ""
+    }
+
+    # Test setting up breakpoints and otherwise examining nested
+    # functions before the program starts.
+    with_test_prefix "before start" {
+	foreach entry \
+	    [list \
+		 [list "increment" "${int4} \\\(${int4}\\\)"] \
+		 [list "increment_program_global" "${int4} \\\(void\\\)"] \
+		 [list "hidden_variable" "void \\\(void\\\)"]] {
+		     set function [lindex $entry 0]
+		     set type [lindex $entry 1]
+
+		     # Currently referencing symbols using 'info',
+		     # 'whatis' and 'ptype' before the program is
+		     # started doesn't work.  This is the same
+		     # behaviour we see in C++ so I don't think this
+		     # is a failure, just a limitation in current GDB.
+		     if { ${with_nest_prefix_p} } {
+			 gdb_test "info symbol ${nest_prefix}${function}" \
+			     "${function} in section .*"
+			 gdb_test "whatis ${nest_prefix}${function}" \
+			     "type = ${type}"
+			 gdb_test "ptype ${nest_prefix}${function}" \
+			     "type = ${type}"
+			 gdb_test "print ${nest_prefix}${function}" \
+			     "{${type}} $hex <contains_keyword::${function}>"
+		     }
+
+		     gdb_breakpoint "${src_prefix}${nest_prefix}${function}"
+		 }
+    }
+
+    # Break on a contained function and run to it.
+    if {![runto ${src_prefix}[gdb_get_line_number "pre_init"]]} then {
+	perror "couldn't run to breakpoint pre_init"
+	continue
+    }
+
+    # Call a contained function.
+    if { ${with_nest_prefix_p} } {
+	gdb_test "call ${nest_prefix}subroutine_to_call()" " called"
+    }
+
+    # Break on another contained function and run to it.
+    gdb_breakpoint "${src_prefix}${nest_prefix}increment"
+    gdb_continue_to_breakpoint "increment" ".*increment = i \\\+ 1"
+    gdb_breakpoint ${src_prefix}[gdb_get_line_number "post_increment"]
+    gdb_continue_to_breakpoint "post_increment"
+
+    # Check arguments and locals report the correct values. 12 is
+    # passed in and 13 is the result after adding 1.
+    gdb_test "info args" "i = 12"
+    gdb_test "info locals" " = 13"
+
+    # Check we can see variables from an outer program scope.
+    gdb_breakpoint ${src_prefix}[gdb_get_line_number "post_increment_global"]
+    gdb_continue_to_breakpoint "post_increment_global" \
+	".*print \\\*, program_i ! post_increment_global"
+    gdb_test "info args" "No arguments." \
+	"no argument subroutine has no arguments"
+    gdb_test "p program_i" " = 7" "printing outer scoped variable"
+
+    # Stepping into a contained subroutine.
+    gdb_breakpoint ${src_prefix}[gdb_get_line_number "pre_step"]
+    gdb_continue_to_breakpoint "pre_step" ".*call step\\\(\\\) ! pre_step"
+    gdb_test "step" \
+	".*print '\\\(A\\\)', \\\"step\\\" ! post_step" \
+	"step into the correct place"
+
+    # Local hides program global.
+    gdb_breakpoint ${src_prefix}[gdb_get_line_number "post_hidden"]
+    gdb_continue_to_breakpoint "post_hidden" \
+	".*print \\\*, program_i ! post_hidden"
+    gdb_test "p program_i" " = 30" "printing hidden global"
+
+    # Check info symbol, whatis and ptype can find information on
+    # these nested functions.
+    foreach entry \
+	[list \
+	     [list "increment" "${int4} \\\(${int4}\\\)"] \
+	     [list "increment_program_global" "${int4} \\\(void\\\)"]] {
+		 set function [lindex $entry 0]
+		 set type [lindex $entry 1]
+		 with_test_prefix $function {
+		     gdb_test "info symbol ${nest_prefix}$function" \
+			 "$function in section .*"
+		     gdb_test "whatis ${nest_prefix}$function" \
+			 "type = ${type}"
+		     gdb_test "ptype ${nest_prefix}$function" \
+			 "type = ${type}"
+		 }
+	     }
+}
+
+foreach_with_prefix src_prefix { 0 1 } {
+    foreach_with_prefix nest_prefix { 0 1 } {
+	do_bp_tests ${src_prefix} ${nest_prefix}
+    }
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.fortran/nested-funcs-2.f90 ./gdb/testsuite/gdb.fortran/nested-funcs-2.f90
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.fortran/nested-funcs-2.f90	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.fortran/nested-funcs-2.f90	2019-10-04 01:49:51.000000000 +0000
@@ -0,0 +1,62 @@
+! 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
+! (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/> .
+
+module container
+    implicit none
+    integer :: a
+    contains
+    subroutine print_from_module()
+       print *, "hello."
+    end subroutine
+end module
+
+program contains_keyword
+    use container
+    implicit none
+    integer :: program_i, program_j
+    program_j = 12 ! pre_init
+    program_i = 7
+    program_j = increment(program_j) ! pre_increment
+    program_i = increment_program_global() ! pre_increment_program_global
+    call subroutine_to_call()
+    call step() ! pre_step
+    call hidden_variable()
+    call print_from_module()
+    print '(I2)', program_j, program_i ! post_init
+
+contains
+    subroutine subroutine_to_call()
+       print *, "called"
+    end subroutine
+    integer function increment(i)
+       integer :: i
+       increment = i + 1
+       print *, i ! post_increment
+    end function
+    integer function increment_program_global()
+       increment_program_global = program_i + 1
+       ! Need to put in a dummy print here to break on as on some systems the
+       ! variables leave scope at "end function", but on others they do not.
+       print *, program_i ! post_increment_global
+    end function
+    subroutine step()
+       print '(A)', "step" ! post_step
+    end subroutine
+    subroutine hidden_variable()
+       integer :: program_i
+       program_i = 30
+       print *, program_i ! post_hidden
+    end subroutine
+end program contains_keyword
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.fortran/nested-funcs.exp ./gdb/testsuite/gdb.fortran/nested-funcs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.fortran/nested-funcs.exp	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/testsuite/gdb.fortran/nested-funcs.exp	2019-10-04 01:49:51.000000000 +0000
@@ -30,6 +30,11 @@ if ![runto MAIN__] then {
     continue
 }
 
+# Test if we can set a breakpoint in a nested function
+gdb_breakpoint "testnestedfuncs::sub_nested_outer"
+gdb_continue_to_breakpoint "testnestedfuncs::sub_nested_outer" \
+    ".*local_int = 19"
+
 # Test if we can access local and
 # non-local variables defined one level up.
 gdb_breakpoint [gdb_get_line_number "! BP_outer"]
@@ -43,6 +48,11 @@ gdb_test "print local_int" "= 19" "print
 gdb_test "up"
 gdb_test "print index" "= 42" "print index at BP1, one frame up"
 
+# Test if we can set a breakpoint in a nested function
+gdb_breakpoint "testnestedfuncs::sub_nested_inner"
+gdb_continue_to_breakpoint "testnestedfuncs::sub_nested_inner" \
+    ".*local_int = 17"
+
 # Test if we can access local and
 # non-local variables defined two level up.
 gdb_breakpoint [gdb_get_line_number "! BP_inner"]
@@ -57,6 +67,24 @@ gdb_continue_to_breakpoint "! BP_outer_2
 gdb_test "print local_int" "= 19" \
   "print local_int in outer function, after sub_nested_inner"
 
+# Test if we can set a breakpoint in public routine with the same name
+# as the internal
+gdb_breakpoint "sub_nested_outer"
+gdb_continue_to_breakpoint "sub_nested_outer" \
+    ".*name = 'sub_nested_outer external'"
+
+# Test if we can set a breakpoint in public routine with the same name
+# as the internal
+gdb_breakpoint "sub_with_sub_nested_outer::sub_nested_outer"
+gdb_continue_to_breakpoint \
+    "sub_with_sub_nested_outer::sub_nested_outer" ".*local_int = 11"
+
+# Test if we can set a breakpoint in public routine with the same name
+# as the internal
+gdb_breakpoint "mod1::sub_nested_outer"
+gdb_continue_to_breakpoint "mod1::sub_nested_outer" \
+    ".*name = 'sub_nested_outer_mod1'"
+
 # Sanity check in main.
 gdb_breakpoint [gdb_get_line_number "! BP_main"]
 gdb_continue_to_breakpoint "! BP_main" ".*! BP_main"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.fortran/nested-funcs.f90 ./gdb/testsuite/gdb.fortran/nested-funcs.f90
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.fortran/nested-funcs.f90	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/testsuite/gdb.fortran/nested-funcs.f90	2019-10-04 01:49:51.000000000 +0000
@@ -13,8 +13,62 @@
 ! 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 TestNestedFuncs
+module mod1
+  integer :: var_i = 1
+  integer :: var_const
+  parameter (var_const = 20)
+
+CONTAINS
+
+  SUBROUTINE sub_nested_outer
+    integer :: local_int
+    character (len=20) :: name
+
+    name = 'sub_nested_outer_mod1'
+    local_int = 11
+
+  END SUBROUTINE sub_nested_outer
+end module mod1
+
+! Public sub_nested_outer
+SUBROUTINE sub_nested_outer
+  integer :: local_int
+  character (len=16) :: name
+
+  name = 'sub_nested_outer external'
+  local_int = 11
+END SUBROUTINE sub_nested_outer
+
+! Needed indirection to call public sub_nested_outer from main
+SUBROUTINE sub_nested_outer_ind
+  character (len=20) :: name
+
+  name = 'sub_nested_outer_ind'
+  CALL sub_nested_outer
+END SUBROUTINE sub_nested_outer_ind
 
+! public routine with internal subroutine
+SUBROUTINE sub_with_sub_nested_outer()
+  integer :: local_int
+  character (len=16) :: name
+
+  name = 'subroutine_with_int_sub'
+  local_int = 1
+
+  CALL sub_nested_outer  ! Should call the internal fct
+
+CONTAINS
+
+  SUBROUTINE sub_nested_outer
+    integer :: local_int
+    local_int = 11
+  END SUBROUTINE sub_nested_outer
+
+END SUBROUTINE sub_with_sub_nested_outer
+
+! Main
+program TestNestedFuncs
+  USE mod1, sub_nested_outer_use_mod1 => sub_nested_outer
   IMPLICIT NONE
 
   TYPE :: t_State
@@ -22,10 +76,13 @@ program TestNestedFuncs
   END TYPE t_State
 
   TYPE (t_State) :: v_state
-  integer index
+  integer index, local_int
 
   index = 13
-  CALL sub_nested_outer
+  CALL sub_nested_outer            ! Call internal sub_nested_outer
+  CALL sub_nested_outer_ind        ! Call external sub_nested_outer via sub_nested_outer_ind
+  CALL sub_with_sub_nested_outer   ! Call external routine with nested sub_nested_outer
+  CALL sub_nested_outer_use_mod1   ! Call sub_nested_outer imported via module
   index = 11              ! BP_main
   v_state%code = 27
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.linespec/explicit.exp ./gdb/testsuite/gdb.linespec/explicit.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.linespec/explicit.exp	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/testsuite/gdb.linespec/explicit.exp	2019-10-04 01:49:51.000000000 +0000
@@ -104,8 +104,10 @@ namespace eval $testfile {
 
 	# Test abbreviations
 	set short [string range $arg 0 3]
-	gdb_test "break -$short" \
-	    [string_to_regexp "missing argument for \"-$short\""]
+	if { $arg != $short } {
+	    gdb_test "break -$short" \
+		[string_to_regexp "missing argument for \"-$short\""]
+	}
     }
 
     # Test invalid arguments
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.linespec/ls-errs.exp ./gdb/testsuite/gdb.linespec/ls-errs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.linespec/ls-errs.exp	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/testsuite/gdb.linespec/ls-errs.exp	2019-10-04 01:49:51.000000000 +0000
@@ -92,7 +92,8 @@ proc do_test {lang} {
 
 	gdb_test "break $linespec" [string_to_regexp \
 				    [eval format \$error_messages($msg_id) \
-				     $args]]
+				     $args]] \
+	    "'break $linespec'"
     }
 
     # Some commonly used whitespace tests around ':'.
@@ -234,7 +235,7 @@ proc do_test {lang} {
 	test_break "main:here${x}" unexpected "end of input"
     }
 
-    foreach x {"3" "+100" "-100" "foo"} {
+    foreach_with_prefix x {"3" "+100" "-100" "foo"} {
 	test_break "main 3" invalid_function "main 3"
 	test_break "-function \"main $x\"" invalid_function "main $x"
 	if {$x == "foo"} {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.python/py-parameter.exp ./gdb/testsuite/gdb.python/py-parameter.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.python/py-parameter.exp	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-parameter.exp	2019-10-04 01:49:51.000000000 +0000
@@ -38,147 +38,204 @@ if { [is_remote host] } {
 gdb_test "python print (gdb.parameter ('directories'))" $directories
 
 # Test a simple boolean parameter.
-gdb_py_test_multiple "Simple gdb booleanparameter" \
-   "python" "" \
-   "class TestParam (gdb.Parameter):" "" \
-   "   \"\"\"When enabled, test param does something useful. When disabled, does nothing.\"\"\"" "" \
-   "   show_doc = \"Show the state of the boolean test-param\"" ""\
-   "   set_doc = \"Set the state of the boolean test-param\"" "" \
-   "   def get_show_string (self, pvalue):" ""\
-   "      return \"The state of the Test Parameter is \" + pvalue" ""\
-   "   def get_set_string (self):" ""\
-   "      val = \"on\"" ""\
-   "      if (self.value == False):" ""\
-   "         val = \"off\"" ""\
-   "      return \"Test Parameter has been set to \" + val" ""\
-   "   def __init__ (self, name):" "" \
-   "      super (TestParam, self).__init__ (name, gdb.COMMAND_DATA, gdb.PARAM_BOOLEAN)" "" \
-   "      self.value = True" "" \
-   "test_param = TestParam ('print test-param')" ""\
-   "end"
-
-gdb_test "python print (test_param.value)" "True" "test parameter value"
-gdb_test "show print test-param" "The state of the Test Parameter is on.*" "show parameter on"
-gdb_test "set print test-param off" "Test Parameter has been set to off" "turn off parameter"
-gdb_test "show print test-param" "The state of the Test Parameter is off.*" "show parameter off"
-gdb_test "python print (test_param.value)" "False" "test parameter value"
-gdb_test "help show print test-param" "Show the state of the boolean test-param.*" "test show help"
-gdb_test "help set print test-param" "Set the state of the boolean test-param.*" "test set help"
-gdb_test "help set print" "set print test-param -- Set the state of the boolean test-param.*" "test general help"
+with_test_prefix "boolean parameter" {
+    gdb_py_test_multiple "Simple gdb booleanparameter" \
+	"python" "" \
+	"class TestParam (gdb.Parameter):" "" \
+	"   \"\"\"When enabled, test param does something useful. When disabled, does nothing.\"\"\"" "" \
+	"   show_doc = \"Show the state of the boolean test-param\"" ""\
+	"   set_doc = \"Set the state of the boolean test-param\"" "" \
+	"   def get_show_string (self, pvalue):" ""\
+	"      return \"The state of the Test Parameter is \" + pvalue" ""\
+	"   def get_set_string (self):" ""\
+	"      val = \"on\"" ""\
+	"      if (self.value == False):" ""\
+	"         val = \"off\"" ""\
+	"      return \"Test Parameter has been set to \" + val" ""\
+	"   def __init__ (self, name):" "" \
+	"      super (TestParam, self).__init__ (name, gdb.COMMAND_DATA, gdb.PARAM_BOOLEAN)" "" \
+	"      self.value = True" "" \
+	"test_param = TestParam ('print test-param')" ""\
+	"end"
 
+    gdb_test "python print (test_param.value)" "True" \
+	"test boolean parameter value is True"
+    gdb_test "show print test-param" \
+	"The state of the Test Parameter is on.*" "show parameter on"
+    gdb_test "set print test-param off" \
+	"Test Parameter has been set to off" "turn off parameter"
+    gdb_test "show print test-param" \
+	"The state of the Test Parameter is off.*" "show parameter off"
+    gdb_test "python print (test_param.value)" "False" \
+	"test boolean parameter value is False"
+    gdb_test "help show print test-param" \
+	"Show the state of the boolean test-param.*" "test show help"
+    gdb_test "help set print test-param" \
+	"Set the state of the boolean test-param.*" "test set help"
+    gdb_test "help set print" \
+	"set print test-param -- Set the state of the boolean test-param.*" \
+	"test general help"
+}
 
 # Test an enum parameter.
-gdb_py_test_multiple "enum gdb parameter" \
-   "python" "" \
-   "class TestEnumParam (gdb.Parameter):" "" \
-   "   \"\"\"When set, test param does something useful. When disabled, does nothing.\"\"\"" "" \
-   "   show_doc = \"Show the state of the enum\"" ""\
-   "   set_doc = \"Set the state of the enum\"" "" \
-   "   def get_show_string (self, pvalue):" ""\
-   "      return \"The state of the enum is \" + pvalue" ""\
-   "   def get_set_string (self):" ""\
-   "      return \"The state of the enum has been set to \" + self.value" ""\
-   "   def __init__ (self, name):" "" \
-   "      super (TestEnumParam, self).__init__ (name, gdb.COMMAND_DATA, gdb.PARAM_ENUM, \[\"one\", \"two\"\])" "" \
-   "      self.value = \"one\"" "" \
-   "test_enum_param = TestEnumParam ('print test-enum-param')" ""\
-   "end"
-
-gdb_test "python print (test_enum_param.value)" "one" "test enum parameter value"
-gdb_test "show print test-enum-param" "The state of the enum is one.*" "show parameter is initial value"
-gdb_test "set print test-enum-param two" "The state of the enum has been set to two" "set enum to two"
-gdb_test "show print test-enum-param" "The state of the enum is two.*" "show parameter is new value"
-gdb_test "python print (test_enum_param.value)" "two" "test enum parameter value"
-gdb_test "set print test-enum-param three" "Undefined item: \"three\".*" "set invalid enum parameter"
+with_test_prefix "enum parameter" {
+    gdb_py_test_multiple "enum gdb parameter" \
+	"python" "" \
+	"class TestEnumParam (gdb.Parameter):" "" \
+	"   \"\"\"When set, test param does something useful. When disabled, does nothing.\"\"\"" "" \
+	"   show_doc = \"Show the state of the enum\"" ""\
+	"   set_doc = \"Set the state of the enum\"" "" \
+	"   def get_show_string (self, pvalue):" ""\
+	"      return \"The state of the enum is \" + pvalue" ""\
+	"   def get_set_string (self):" ""\
+	"      return \"The state of the enum has been set to \" + self.value" ""\
+	"   def __init__ (self, name):" "" \
+	"      super (TestEnumParam, self).__init__ (name, gdb.COMMAND_DATA, gdb.PARAM_ENUM, \[\"one\", \"two\"\])" "" \
+	"      self.value = \"one\"" "" \
+	"test_enum_param = TestEnumParam ('print test-enum-param')" ""\
+	"end"
+
+    gdb_test "python print (test_enum_param.value)" "one" \
+	"test enum parameter value is one"
+    gdb_test "show print test-enum-param" \
+	"The state of the enum is one.*" \
+	"show parameter is initial value"
+    gdb_test "set print test-enum-param two" \
+	"The state of the enum has been set to two" "set enum to two"
+    gdb_test "show print test-enum-param" \
+	"The state of the enum is two.*" "show parameter is new value"
+    gdb_test "python print (test_enum_param.value)" "two" \
+	"test enum parameter value is two"
+    gdb_test "set print test-enum-param three" \
+	"Undefined item: \"three\".*" "set invalid enum parameter"
+}
 
 # Test a file parameter.
-gdb_py_test_multiple "file gdb parameter" \
-   "python" "" \
-   "class TestFileParam (gdb.Parameter):" "" \
-   "   \"\"\"When set, test param does something useful. When disabled, does nothing.\"\"\"" "" \
-   "   show_doc = \"Show the name of the file\"" ""\
-   "   set_doc = \"Set the name of the file\"" "" \
-   "   def get_show_string (self, pvalue):" ""\
-   "      return \"The name of the file is \" + pvalue" ""\
-   "   def get_set_string (self):" ""\
-   "      return \"The name of the file has been changed to \" + self.value" ""\
-   "   def __init__ (self, name):" "" \
-   "      super (TestFileParam, self).__init__ (name, gdb.COMMAND_FILES, gdb.PARAM_FILENAME)" "" \
-   "      self.value = \"foo.txt\"" "" \
-   "test_file_param = TestFileParam ('test-file-param')" ""\
-   "end"
-
-gdb_test "python print (test_file_param.value)" "foo.txt" "test file parameter value"
-gdb_test "show test-file-param" "The name of the file is foo.txt.*" "show initial file value"
-gdb_test "set test-file-param bar.txt" "The name of the file has been changed to bar.txt" "set new file parameter" 1
-gdb_test "show test-file-param" "The name of the file is bar.txt.*" "show new file value"
-gdb_test "python print (test_file_param.value)" "bar.txt" "test new file parameter value"
-gdb_test "set test-file-param" "Argument required.*" 
+with_test_prefix "file parameter" {
+    gdb_py_test_multiple "file gdb parameter" \
+	"python" "" \
+	"class TestFileParam (gdb.Parameter):" "" \
+	"   \"\"\"When set, test param does something useful. When disabled, does nothing.\"\"\"" "" \
+	"   show_doc = \"Show the name of the file\"" ""\
+	"   set_doc = \"Set the name of the file\"" "" \
+	"   def get_show_string (self, pvalue):" ""\
+	"      return \"The name of the file is \" + pvalue" ""\
+	"   def get_set_string (self):" ""\
+	"      return \"The name of the file has been changed to \" + self.value" ""\
+	"   def __init__ (self, name):" "" \
+	"      super (TestFileParam, self).__init__ (name, gdb.COMMAND_FILES, gdb.PARAM_FILENAME)" "" \
+	"      self.value = \"foo.txt\"" "" \
+	"test_file_param = TestFileParam ('test-file-param')" ""\
+	"end"
+
+    gdb_test "python print (test_file_param.value)" "foo.txt" \
+	"test file parameter value"
+    gdb_test "show test-file-param" \
+	"The name of the file is foo.txt.*" "show initial file value"
+    gdb_test "set test-file-param bar.txt" \
+	"The name of the file has been changed to bar.txt" \
+	"set new file parameter" 1
+    gdb_test "show test-file-param" \
+	"The name of the file is bar.txt.*" "show new file value"
+    gdb_test "python print (test_file_param.value)" \
+	"bar.txt" "test new file parameter value"
+    gdb_test "set test-file-param" "Argument required.*"
+}
 
 # Test a parameter that is not documented.
-gdb_py_test_multiple "Simple gdb booleanparameter" \
-   "python" "" \
-   "class TestUndocParam (gdb.Parameter):" "" \
-   "   def get_show_string (self, pvalue):" ""\
-   "      return \"The state of the Test Parameter is \" + pvalue" ""\
-   "   def get_set_string (self):" ""\
-   "      val = \"on\"" ""\
-   "      if (self.value == False):" ""\
-   "         val = \"off\"" ""\
-   "      return \"Test Parameter has been set to \" + val" ""\
-   "   def __init__ (self, name):" "" \
-   "      super (TestUndocParam, self).__init__ (name, gdb.COMMAND_DATA, gdb.PARAM_BOOLEAN)" "" \
-   "      self.value = True" "" \
-   "test_undoc_param = TestUndocParam ('print test-undoc-param')" ""\
-   "end"
-
-gdb_test "show print test-undoc-param" "The state of the Test Parameter is on.*" "show parameter on"
-gdb_test "set print test-undoc-param off" "Test Parameter has been set to off" "turn off parameter"
-gdb_test "show print test-undoc-param" "The state of the Test Parameter is off.*" "show parameter off"
-gdb_test "python print (test_undoc_param.value)" "False" "test parameter value"
-gdb_test "help show print test-undoc-param" "This command is not documented.*" "test show help"
-gdb_test "help set print test-undoc-param" "This command is not documented.*" "test set help"
-gdb_test "help set print" "set print test-undoc-param -- This command is not documented.*" "test general help"
+with_test_prefix "undocumented parameter" {
+    gdb_py_test_multiple "Simple gdb booleanparameter" \
+	"python" "" \
+	"class TestUndocParam (gdb.Parameter):" "" \
+	"   def get_show_string (self, pvalue):" ""\
+	"      return \"The state of the Test Parameter is \" + pvalue" ""\
+	"   def get_set_string (self):" ""\
+	"      val = \"on\"" ""\
+	"      if (self.value == False):" ""\
+	"         val = \"off\"" ""\
+	"      return \"Test Parameter has been set to \" + val" ""\
+	"   def __init__ (self, name):" "" \
+	"      super (TestUndocParam, self).__init__ (name, gdb.COMMAND_DATA, gdb.PARAM_BOOLEAN)" "" \
+	"      self.value = True" "" \
+	"test_undoc_param = TestUndocParam ('print test-undoc-param')" ""\
+	"end"
+
+    gdb_test "show print test-undoc-param" \
+	"The state of the Test Parameter is on.*" "show parameter on"
+    gdb_test "set print test-undoc-param off" \
+	"Test Parameter has been set to off" "turn off parameter"
+    gdb_test "show print test-undoc-param" \
+	"The state of the Test Parameter is off.*" "show parameter off"
+    gdb_test "python print (test_undoc_param.value)" \
+	"False" "test undocumented parameter value is False"
+    gdb_test "help show print test-undoc-param" \
+	"This command is not documented.*" "test show help"
+    gdb_test "help set print test-undoc-param" \
+	"This command is not documented.*" "test set help"
+    gdb_test "help set print" \
+	"set print test-undoc-param -- This command is not documented.*" \
+	"test general help"
+}
 
 # Test a parameter that is not documented in any way..
-gdb_py_test_multiple "Simple gdb booleanparameter" \
-   "python" "" \
-   "class TestNodocParam (gdb.Parameter):" "" \
-   "   def __init__ (self, name):" "" \
-   "      super (TestNodocParam, self).__init__ (name, gdb.COMMAND_DATA, gdb.PARAM_BOOLEAN)" "" \
-   "      self.value = True" "" \
-   "test_nodoc_param = TestNodocParam ('print test-nodoc-param')" ""\
-   "end"
-
-gdb_test "show print test-nodoc-param" "This command is not documented.*" "show parameter on"
-gdb_test_no_output "set print test-nodoc-param off" "turn off parameter"
-gdb_test "show print test-nodoc-param" "This command is not documented.*.*" "show parameter off"
-gdb_test "python print (test_nodoc_param.value)" "False" "test parameter value"
-gdb_test "help show print test-nodoc-param" "This command is not documented.*" "test show help"
-gdb_test "help set print test-nodoc-param" "This command is not documented.*" "test set help"
-gdb_test "help set print" "set print test-nodoc-param -- This command is not documented.*" "test general help"
+with_test_prefix "really undocumented parameter" {
+    gdb_py_test_multiple "Simple gdb booleanparameter" \
+	"python" "" \
+	"class TestNodocParam (gdb.Parameter):" "" \
+	"   def __init__ (self, name):" "" \
+	"      super (TestNodocParam, self).__init__ (name, gdb.COMMAND_DATA, gdb.PARAM_BOOLEAN)" "" \
+	"      self.value = True" "" \
+	"test_nodoc_param = TestNodocParam ('print test-nodoc-param')" ""\
+	"end"
+
+    gdb_test "show print test-nodoc-param" \
+	"This command is not documented.*" "show parameter on"
+    gdb_test_no_output "set print test-nodoc-param off" \
+	"turn off parameter"
+    gdb_test "show print test-nodoc-param" \
+	"This command is not documented.*.*" "show parameter off"
+    gdb_test "python print (test_nodoc_param.value)" \
+	"False" "test really undocumented parameter value is False"
+    gdb_test "help show print test-nodoc-param" \
+	"This command is not documented.*" "test show help"
+    gdb_test "help set print test-nodoc-param" \
+	"This command is not documented.*" "test set help"
+    gdb_test "help set print" \
+	"set print test-nodoc-param -- This command is not documented.*" \
+	"test general help"
+}
 
 # Test deprecated API. Do not use in your own implementations.
-gdb_py_test_multiple "Simple gdb booleanparameter" \
-   "python" "" \
-   "class TestParam (gdb.Parameter):" "" \
-   "   \"\"\"When enabled, test param does something useful. When disabled, does nothing.\"\"\"" "" \
-   "   show_doc = \"State of the Test Parameter\"" ""\
-   "   set_doc = \"Set the state of the Test Parameter\"" "" \
-   "   def __init__ (self, name):" "" \
-   "      super (TestParam, self).__init__ (name, gdb.COMMAND_DATA, gdb.PARAM_BOOLEAN)" "" \
-   "      self.value = True" "" \
-   "test_param = TestParam ('print test-param')" ""\
-   "end"
-
-gdb_test "python print (test_param.value)" "True" "test parameter value"
-gdb_test "show print test-param" "State of the Test Parameter on.*" "show parameter on"
-gdb_test_no_output "set print test-param off" "turn off parameter"
-gdb_test "show print test-param" "State of the Test Parameter off.*" "show parameter off"
-gdb_test "python print (test_param.value)" "False" "test parameter value"
-gdb_test "help show print test-param" "State of the Test Parameter.*" "test show help"
-gdb_test "help set print test-param" "Set the state of the Test Parameter.*" "test set help"
-gdb_test "help set print" "set print test-param -- Set the state of the Test Parameter.*" "test general help"
+with_test_prefix "deprecated API parameter" {
+    gdb_py_test_multiple "Simple gdb booleanparameter" \
+	"python" "" \
+	"class TestParam (gdb.Parameter):" "" \
+	"   \"\"\"When enabled, test param does something useful. When disabled, does nothing.\"\"\"" "" \
+	"   show_doc = \"State of the Test Parameter\"" ""\
+	"   set_doc = \"Set the state of the Test Parameter\"" "" \
+	"   def __init__ (self, name):" "" \
+	"      super (TestParam, self).__init__ (name, gdb.COMMAND_DATA, gdb.PARAM_BOOLEAN)" "" \
+	"      self.value = True" "" \
+	"test_param = TestParam ('print test-param')" ""\
+	"end"
+
+    gdb_test "python print (test_param.value)" "True" \
+	"test deprecated API parameter value is True"
+    gdb_test "show print test-param" \
+	"State of the Test Parameter on.*" "show parameter on"
+    gdb_test_no_output "set print test-param off" "turn off parameter"
+    gdb_test "show print test-param" \
+	"State of the Test Parameter off.*" "show parameter off"
+    gdb_test "python print (test_param.value)" "False" \
+	"test deprecated API parameter value is False"
+    gdb_test "help show print test-param" \
+	"State of the Test Parameter.*" "test show help"
+    gdb_test "help set print test-param" \
+	"Set the state of the Test Parameter.*" "test set help"
+    gdb_test "help set print" \
+	"set print test-param -- Set the state of the Test Parameter.*" \
+	"test general help"
+}
 
 foreach kind {PARAM_ZUINTEGER PARAM_ZUINTEGER_UNLIMITED} {
     gdb_py_test_multiple "Simple gdb $kind" \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.python/py-template.exp ./gdb/testsuite/gdb.python/py-template.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.python/py-template.exp	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-template.exp	2019-10-04 01:49:51.000000000 +0000
@@ -48,8 +48,10 @@ proc test_template_arg {exefile type} {
 	return
     }
     # There is no executable code in main(), so we are where we want to be
-    gdb_test "print (foo)" ".*"
-    gdb_test_no_output "python foo = gdb.history(0)"
+    gdb_test "print (foo)" ".*" \
+	"print (foo) in template test of $type"
+    gdb_test_no_output "python foo = gdb.history(0)" \
+	"fetch foo from gdb.history(0) in template test of $type"
 
     # Replace '*' with '\*' in regex.
     regsub -all {\*} $type {\*} t
@@ -57,7 +59,7 @@ proc test_template_arg {exefile type} {
 
     gdb_test "python print(foo.type.template_argument(-1))" \
 	"Template argument number must be non-negative\r\nError while executing Python code." \
-	"negative template argument number"
+	"negative template argument number in template test of $type"
 }
 
 test_template_arg "${binfile}-ci" "const int"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.python/py-value.exp ./gdb/testsuite/gdb.python/py-value.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.python/py-value.exp	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-value.exp	2019-10-04 01:49:51.000000000 +0000
@@ -189,9 +189,9 @@ proc test_value_boolean {} {
 
   gdb_test "py test_bool (gdb.Value (0))" "nay" "check evaluation of false integer value in expression"
 
-  gdb_test "py test_bool (gdb.Value (5.2))" "yay" "check evaluation of true integer value in expression"
+  gdb_test "py test_bool (gdb.Value (5.2))" "yay" "check evaluation of true float value in expression"
 
-  gdb_test "py test_bool (gdb.Value (0.0))" "nay" "check evaluation of false integer value in expression"
+  gdb_test "py test_bool (gdb.Value (0.0))" "nay" "check evaluation of false float value in expression"
 }
 
 proc test_value_compare {} {
@@ -232,13 +232,12 @@ proc test_value_in_inferior {} {
   global gdb_py_is_py3k
 
   gdb_breakpoint [gdb_get_line_number "break to inspect struct and union"]
-
   gdb_continue_to_breakpoint "break to inspect struct and union"
 
   # Just get inferior variable s in the value history, available to python.
   gdb_test "print s" " = {a = 3, b = 5}" ""
 
-  gdb_py_test_silent_cmd "python s = gdb.history (0)" "get value from history" 1
+  gdb_py_test_silent_cmd "python s = gdb.history (0)" "get value s from history" 1
 
   gdb_test "python print ('result = ' + str(s\['a'\]))" " = 3" "access element inside struct using 8-bit string name"
   if { $gdb_py_is_py3k == 0 } {
@@ -290,17 +289,23 @@ proc test_value_in_inferior {} {
   } else {
     gdb_test "python inval = gdb.parse_and_eval('*(int*)0')"
     gdb_test "python print (inval.is_lazy)" "True"
-    gdb_test "python inval2 = inval+1" "gdb.MemoryError: Cannot access memory at address 0x0.*" $test
-    gdb_test "python inval.fetch_lazy ()" "gdb.MemoryError: Cannot access memory at address 0x0.*" $test
+    gdb_test "python inval2 = inval+1" \
+	"gdb.MemoryError: Cannot access memory at address 0x0.*" \
+	"$test, first test"
+    gdb_test "python inval.fetch_lazy ()" \
+	"gdb.MemoryError: Cannot access memory at address 0x0.*" \
+	"$test, second test"
   }
   set argc_value [get_integer_valueof "argc" 0]
   gdb_test "python argc_lazy = gdb.parse_and_eval('argc')"
   gdb_test "python argc_notlazy = gdb.parse_and_eval('argc')"
   gdb_test "python argc_notlazy.fetch_lazy()"
-  gdb_test "python print (argc_lazy.is_lazy)" "True"
+  gdb_test "python print (argc_lazy.is_lazy)" "True" \
+      "python print (argc_lazy.is_lazy) the first time"
   gdb_test "python print (argc_notlazy.is_lazy)" "False"
   gdb_test "print argc" " = $argc_value" "sanity check argc"
-  gdb_test "python print (argc_lazy.is_lazy)" "\r\nTrue"
+  gdb_test "python print (argc_lazy.is_lazy)" "\r\nTrue" \
+      "python print (argc_lazy.is_lazy) the second time"
   gdb_test_no_output "set argc=[expr $argc_value + 1]" "change argc"
   gdb_test "python print (argc_notlazy)" "\r\n$argc_value"
   gdb_test "python print (argc_lazy)" "\r\n[expr $argc_value + 1]"
@@ -308,7 +313,7 @@ proc test_value_in_inferior {} {
 
   # Test string fetches,  both partial and whole.
   gdb_test "print st" "\"divide et impera\""
-  gdb_py_test_silent_cmd "python st = gdb.history (0)" "get value from history" 1
+  gdb_py_test_silent_cmd "python st = gdb.history (0)" "get value st from history" 1
   gdb_test "python print (st.string ())"  "divide et impera"  "Test string with no length"
   gdb_test "python print (st.string (length = -1))" "divide et impera" "test string (length = -1) is all of the string"
   gdb_test "python print (st.string (length = 6))" "divide"
@@ -325,7 +330,7 @@ proc test_value_in_inferior {} {
 
   # Fetch a string that has embedded nulls.
   gdb_test "print nullst" "\"divide\\\\000et\\\\000impera\".*"
-  gdb_py_test_silent_cmd "python nullst = gdb.history (0)" "get value from history" 1
+  gdb_py_test_silent_cmd "python nullst = gdb.history (0)" "get value nullst from history" 1
   gdb_test "python print (nullst.string ())" "divide" "test string to first null"
   # Python cannot print strings that contain the null (\0) character.
   # For the purposes of this test, use repr()
@@ -350,26 +355,28 @@ proc test_inferior_function_call {} {
 
     # Correct inferior call without arguments.
     gdb_test "p/x fp1" " = $hex.*"
-    gdb_py_test_silent_cmd "python fp1 = gdb.history (0)" "get value from history" 1
+    gdb_py_test_silent_cmd "python fp1 = gdb.history (0)" "get value fp1 from history" 1
     gdb_test "python fp1 = fp1.dereference()" ""
     gdb_test "python result = fp1()" ""
     gdb_test "python print (result)" "void"
 
     # Correct inferior call with arguments.
-    gdb_test "p/x fp2" " = $hex.*"
-    gdb_py_test_silent_cmd "python fp2 = gdb.history (0)" "get value from history" 1
+    gdb_test "p/x fp2" " = $hex.*" \
+	"print fp2 to place it into history"
+    gdb_py_test_silent_cmd "python fp2 = gdb.history (0)" "get value fp2 from history" 1
     gdb_test "python fp2 = fp2.dereference()" ""
     gdb_test "python result2 = fp2(10,20)" ""
     gdb_test "python print (result2)" "30"
 
     # Incorrect to call an int value.
     gdb_test "p i" " = $decimal.*"
-    gdb_py_test_silent_cmd "python i = gdb.history (0)" "get value from history" 1
+    gdb_py_test_silent_cmd "python i = gdb.history (0)" "get value i from history" 1
     gdb_test "python result3 = i()" ".*Value is not callable.*"
 
     # Incorrect number of arguments.
-    gdb_test "p/x fp2" " = $hex.*"
-    gdb_py_test_silent_cmd "python fp3 = gdb.history (0)" "get value from history" 1
+    gdb_test "p/x fp2" " = $hex.*" \
+	"print fp2 again to place it into history"
+    gdb_py_test_silent_cmd "python fp3 = gdb.history (0)" "get value fp3 from history" 1
     gdb_test "python fp3 = fp3.dereference()" ""
     gdb_test "python result2 = fp3(10)" ".*Too few arguments in function call.*"
 }
@@ -451,12 +458,13 @@ proc test_subscript_regression {exefile 
  }
 
  gdb_breakpoint [gdb_get_line_number "break to inspect struct and union"]
- gdb_continue_to_breakpoint "break to inspect struct and union"
+ gdb_continue_to_breakpoint \
+     "break to inspect struct and union for subscript regression test"
 
  gdb_py_test_silent_cmd "python intv = gdb.Value(1)" \
-     "Create a value for subscript test" 1
+     "Create value intv for subscript test" 1
  gdb_py_test_silent_cmd "python stringv = gdb.Value(\"foo\")" \
-     "Create a value for subscript test" 1
+     "Create value stringv for subscript test" 1
 
  # Try to access an int with a subscript.  This should fail.
  gdb_test "python print (intv)" "1" "baseline print of an int Python value"
@@ -469,19 +477,19 @@ proc test_subscript_regression {exefile 
 
  # Try to access an int array via a pointer with a subscript.  This should pass.
  gdb_py_test_silent_cmd "print p" "Build pointer to array" 1
- gdb_py_test_silent_cmd "python pointer = gdb.history(0)" "" 1
+ gdb_py_test_silent_cmd "python pointer = gdb.history(0)" "fetch pointer" 0
  gdb_test "python print (pointer\[0\])" "1" "access array via pointer with int subscript"
  gdb_test "python print (pointer\[intv\])" "2" "access array via pointer with value subscript"
 
  # Try to access a single dimension array with a subscript to the
  # result.  This should fail.
  gdb_test "python print (pointer\[intv\]\[0\])" "gdb.error: Cannot subscript requested type.*" \
-     "Attempt to access an integer with a subscript"
+     "Attempt to access a single dimension array with a two subscripts"
 
  # Lastly, test subscript access to an array with multiple
  # dimensions.  This should pass.
  gdb_py_test_silent_cmd "print {\"fu \",\"foo\",\"bar\"}" "Build array" 1
- gdb_py_test_silent_cmd "python marray = gdb.history(0)" "" 1
+ gdb_py_test_silent_cmd "python marray = gdb.history(0)" "fetch marray" 0
  gdb_test "python print (marray\[1\]\[2\])" "o." "test multiple subscript"
 }
 
@@ -505,9 +513,9 @@ proc test_value_hash {} {
     "three = gdb.Value(3)" "" \
     "vdict = {one:\"one str\",two:\"two str\",three:\"three str\"}" "" \
     "end"
-    gdb_test "python print (vdict\[one\])" "one str" "test dictionary hash"
-    gdb_test "python print (vdict\[two\])" "two str" "test dictionary hash"
-    gdb_test "python print (vdict\[three\])" "three str" "test dictionary hash"
+    gdb_test "python print (vdict\[one\])" "one str" "test dictionary hash for one"
+    gdb_test "python print (vdict\[two\])" "two str" "test dictionary hash for two"
+    gdb_test "python print (vdict\[three\])" "three str" "test dictionary hash for three"
     gdb_test "python print (one.__hash__() == hash(one))" "True" "test inbuilt hash"
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.reverse/break-precsave.exp ./gdb/testsuite/gdb.reverse/break-precsave.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.reverse/break-precsave.exp	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/break-precsave.exp	2019-10-04 01:49:51.000000000 +0000
@@ -69,8 +69,10 @@ proc precsave_tests {} {
 	"Breakpoint $decimal at .* line $bar_location\." \
 	"set breakpoint on bar"
 
-    gdb_continue_to_breakpoint "foo" ".*$srcfile:$foo_location.*"
-    gdb_continue_to_breakpoint "bar" ".*$srcfile:$bar_location.*"
+    gdb_continue_to_breakpoint "foo forward after restore" \
+	".*$srcfile:$foo_location.*"
+    gdb_continue_to_breakpoint "bar forward after restore" \
+	".*$srcfile:$bar_location.*"
     gdb_test_multiple "continue" "go to end of main forward" {
 	-re ".*Breakpoint $decimal,.*$srcfile:$end_location.*$gdb_prompt $"  {
 	    pass "go to end of main forward"
@@ -96,8 +98,10 @@ proc precsave_tests {} {
 
     gdb_test_no_output "set exec-direction forward" "set forward"
 
-    gdb_continue_to_breakpoint "foo" ".*$srcfile:$foo_location.*"
-    gdb_continue_to_breakpoint "bar" ".*$srcfile:$bar_location.*"
+    gdb_continue_to_breakpoint "foo forward again" \
+	".*$srcfile:$foo_location.*"
+    gdb_continue_to_breakpoint "bar forward again" \
+	".*$srcfile:$bar_location.*"
 
     gdb_test_multiple "continue" "end of record log" {
 	-re ".*Breakpoint $decimal,.*$srcfile:$end_location.*$gdb_prompt $" {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.reverse/break-reverse.exp ./gdb/testsuite/gdb.reverse/break-reverse.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.reverse/break-reverse.exp	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/break-reverse.exp	2019-10-04 01:49:51.000000000 +0000
@@ -50,9 +50,12 @@ gdb_test "break $end_location" \
     "Breakpoint $decimal at .* line $end_location\." \
     "set breakpoint at end of main"
 
-gdb_continue_to_breakpoint "foo" ".*$srcfile:$foo_location.*"
-gdb_continue_to_breakpoint "bar" ".*$srcfile:$bar_location.*"
-gdb_continue_to_breakpoint "end" ".*$srcfile:$end_location.*"
+gdb_continue_to_breakpoint "foo forward, the first time" \
+    ".*$srcfile:$foo_location.*"
+gdb_continue_to_breakpoint "bar forward, the first time" \
+    ".*$srcfile:$bar_location.*"
+gdb_continue_to_breakpoint "end forward, the first time" \
+    ".*$srcfile:$end_location.*"
 
 gdb_test_no_output "set exec-direction reverse" "set reverse"
 
@@ -70,8 +73,10 @@ gdb_test_multiple "continue" "main backw
 
 gdb_test_no_output "set exec-direction forward" "set forward"
 
-gdb_continue_to_breakpoint "foo" ".*$srcfile:$foo_location.*"
-gdb_continue_to_breakpoint "bar" ".*$srcfile:$bar_location.*"
+gdb_continue_to_breakpoint "foo forward again" \
+    ".*$srcfile:$foo_location.*"
+gdb_continue_to_breakpoint "bar forward again" \
+    ".*$srcfile:$bar_location.*"
 
 gdb_test_multiple "continue" "end of record log" {
     -re ".*Breakpoint $decimal,.*$srcfile:$end_location.*$gdb_prompt $" {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.reverse/finish-precsave.exp ./gdb/testsuite/gdb.reverse/finish-precsave.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.reverse/finish-precsave.exp	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/finish-precsave.exp	2019-10-04 01:49:51.000000000 +0000
@@ -179,7 +179,8 @@ gdb_test_no_output "set exec-dir reverse
 # Test reverse finish from long long func
 
 set breakloc [gdb_get_line_number "LONG LONG FUNC" "$srcfile"]
-gdb_continue_to_breakpoint "long_long_func" ".*$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "long_long_func backward" \
+    ".*$srcfile:$breakloc.*"
 
 set test_msg "reverse finish from long_long_func"
 gdb_test_multiple "finish" "$test_msg" {
@@ -191,7 +192,8 @@ gdb_test_multiple "finish" "$test_msg" {
 # Test reverse finish from long func
 
 set breakloc [gdb_get_line_number "LONG FUNC" "$srcfile"]
-gdb_continue_to_breakpoint "long_func" ".*$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "long_func backward" \
+    ".*$srcfile:$breakloc.*"
 
 set test_msg "reverse finish from long_func"
 gdb_test_multiple "finish" "$test_msg" {
@@ -203,7 +205,8 @@ gdb_test_multiple "finish" "$test_msg" {
 # Test reverse finish from int func
 
 set breakloc [gdb_get_line_number "INT FUNC" "$srcfile"]
-gdb_continue_to_breakpoint "int_func" ".*$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "int_func backward" \
+    ".*$srcfile:$breakloc.*"
 
 set test_msg "reverse finish from int_func"
 gdb_test_multiple "finish" "$test_msg" {
@@ -215,7 +218,8 @@ gdb_test_multiple "finish" "$test_msg" {
 # Test reverse finish from short func
 
 set breakloc [gdb_get_line_number "SHORT FUNC" "$srcfile"]
-gdb_continue_to_breakpoint "short_func" ".*$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "short_func backward" \
+    ".*$srcfile:$breakloc.*"
 
 set test_msg "reverse finish from short_func"
 gdb_test_multiple "finish" "$test_msg" {
@@ -227,7 +231,8 @@ gdb_test_multiple "finish" "$test_msg" {
 # Test reverse finish from char func
 
 set breakloc [gdb_get_line_number "CHAR FUNC" "$srcfile"]
-gdb_continue_to_breakpoint "char_func" ".*$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "char_func backward" \
+    ".*$srcfile:$breakloc.*"
 
 set test_msg "reverse finish from char_func"
 gdb_test_multiple "finish" "$test_msg" {
@@ -239,7 +244,8 @@ gdb_test_multiple "finish" "$test_msg" {
 # Test reverse finish from void func
 
 set breakloc [gdb_get_line_number "VOID FUNC" "$srcfile"]
-gdb_continue_to_breakpoint "void_func" ".*$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "void_func backward" \
+    ".*$srcfile:$breakloc.*"
 
 set test_msg "reverse finish from void_func"
 gdb_test_multiple "finish" "$test_msg" {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.reverse/finish-reverse.exp ./gdb/testsuite/gdb.reverse/finish-reverse.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.reverse/finish-reverse.exp	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/finish-reverse.exp	2019-10-04 01:49:51.000000000 +0000
@@ -158,7 +158,8 @@ gdb_test_no_output "set exec-dir reverse
 # Test reverse finish from long long func
 
 set breakloc [gdb_get_line_number "LONG LONG FUNC" "$srcfile"]
-gdb_continue_to_breakpoint "long_long_func" ".*$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "long_long_func backward" \
+    ".*$srcfile:$breakloc.*"
 
 set test_msg "reverse finish from long_long_func"
 gdb_test_multiple "finish" "$test_msg" {
@@ -170,7 +171,8 @@ gdb_test_multiple "finish" "$test_msg" {
 # Test reverse finish from long func
 
 set breakloc [gdb_get_line_number "LONG FUNC" "$srcfile"]
-gdb_continue_to_breakpoint "long_func" ".*$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "long_func backward" \
+    ".*$srcfile:$breakloc.*"
 
 set test_msg "reverse finish from long_func"
 gdb_test_multiple "finish" "$test_msg" {
@@ -182,7 +184,8 @@ gdb_test_multiple "finish" "$test_msg" {
 # Test reverse finish from int func
 
 set breakloc [gdb_get_line_number "INT FUNC" "$srcfile"]
-gdb_continue_to_breakpoint "int_func" ".*$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "int_func backward" \
+    ".*$srcfile:$breakloc.*"
 
 set test_msg "reverse finish from int_func"
 gdb_test_multiple "finish" "$test_msg" {
@@ -194,7 +197,8 @@ gdb_test_multiple "finish" "$test_msg" {
 # Test reverse finish from short func
 
 set breakloc [gdb_get_line_number "SHORT FUNC" "$srcfile"]
-gdb_continue_to_breakpoint "short_func" ".*$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "short_func backward" \
+    ".*$srcfile:$breakloc.*"
 
 set test_msg "reverse finish from short_func"
 gdb_test_multiple "finish" "$test_msg" {
@@ -206,7 +210,8 @@ gdb_test_multiple "finish" "$test_msg" {
 # Test reverse finish from char func
 
 set breakloc [gdb_get_line_number "CHAR FUNC" "$srcfile"]
-gdb_continue_to_breakpoint "char_func" ".*$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "char_func backward" \
+    ".*$srcfile:$breakloc.*"
 
 set test_msg "reverse finish from char_func"
 gdb_test_multiple "finish" "$test_msg" {
@@ -218,7 +223,8 @@ gdb_test_multiple "finish" "$test_msg" {
 # Test reverse finish from void func
 
 set breakloc [gdb_get_line_number "VOID FUNC" "$srcfile"]
-gdb_continue_to_breakpoint "void_func" ".*$srcfile:$breakloc.*"
+gdb_continue_to_breakpoint "void_func backward" \
+    ".*$srcfile:$breakloc.*"
 
 set test_msg "reverse finish from void_func"
 gdb_test_multiple "finish" "$test_msg" {
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.reverse/machinestate.exp ./gdb/testsuite/gdb.reverse/machinestate.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.reverse/machinestate.exp	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/machinestate.exp	2019-10-04 01:49:51.000000000 +0000
@@ -142,7 +142,8 @@ gdb_test "print a"      ".* = 0$newline"
 gdb_test "step"         ".* register post-change .*" ""
 gdb_test "print a"      ".* = 1$newline"  "register var step post-change"
 gdb_test "reverse-step" ".*$newline$breakloc.*" ""
-gdb_test "print a"      ".* = 0$newline"  "register var reverse step-to"
+gdb_test "print a"      ".* = 0$newline"  \
+    "register var reverse step-to, first time"
 
 # Proceed to beginning of main
 
@@ -164,7 +165,8 @@ gdb_test "reverse-step" ".*hide.*" ""
 gdb_test "step"         ".*$newline$breakloc.*" ""
 gdb_test "print a"      ".* = 0$newline"  "register var forward step-to"
 gdb_test "step"         ".* register post-change .*" ""
-gdb_test "print a"      ".* = 1$newline"  "register var step post-change"
+gdb_test "print a"      ".* = 1$newline"  \
+    "register var step post-change, second time"
 
 # Auto variable, forward
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.reverse/machinestate-precsave.exp ./gdb/testsuite/gdb.reverse/machinestate-precsave.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.reverse/machinestate-precsave.exp	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/machinestate-precsave.exp	2019-10-04 01:49:51.000000000 +0000
@@ -167,7 +167,8 @@ gdb_test "reverse-continue" ".*$srcfile:
 
 gdb_test "print a"      ".* = 0$newline"  "register var reverse-breakpoint"
 gdb_test "step"         ".* register post-change .*" ""
-gdb_test "print a"      ".* = 1$newline"  "register var step post-change"
+gdb_test "print a"      ".* = 1$newline"  \
+    "register var step post-change, first time"
 gdb_test "reverse-step" ".*$newline$breakloc.*" ""
 gdb_test "print a"      ".* = 0$newline"  "register var reverse step-to"
 
@@ -191,7 +192,8 @@ gdb_test "reverse-step" ".*hide.*" ""
 gdb_test "step"         ".*$newline$breakloc.*" ""
 gdb_test "print a"      ".* = 0$newline"  "register var forward step-to"
 gdb_test "step"         ".* register post-change .*" ""
-gdb_test "print a"      ".* = 1$newline"  "register var step post-change"
+gdb_test "print a"      ".* = 1$newline" \
+    "register var step post-change, second time"
 
 # Auto variable, forward
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.reverse/readv-reverse.exp ./gdb/testsuite/gdb.reverse/readv-reverse.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.reverse/readv-reverse.exp	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/readv-reverse.exp	2019-10-04 01:49:51.000000000 +0000
@@ -52,7 +52,7 @@ gdb_test "reverse-continue" ".*$srcfile:
 # will be remembered.  If not, new contents ("NUXI") will be
 # used, and the test will fail.
 
-gdb_test "print (int)buf\[0]" ".* = 0" "check readv record"
-gdb_test "print (int)buf\[1]" ".* = 0" "check readv record"
-gdb_test "print (int)buf\[2]" ".* = 0" "check readv record"
-gdb_test "print (int)buf\[3]" ".* = 0" "check readv record"
+for { set i 0 } { $i < 4 } { incr i } {
+    gdb_test "print (int)buf\[$i]" ".* = 0" \
+	"check readv record for buf\[$i\]"
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.reverse/recvmsg-reverse.exp ./gdb/testsuite/gdb.reverse/recvmsg-reverse.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.reverse/recvmsg-reverse.exp	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/recvmsg-reverse.exp	2019-10-04 01:49:51.000000000 +0000
@@ -55,11 +55,13 @@ gdb_test "reverse-continue" ".*$srcfile:
 gdb_test "print rdata" ".* = \"xxxx\"" "check recvmsg record - rdata"
 
 # rmsg.msg_flags should be zeros, not MSG_TRUNC | MSG_CTRUNC
-gdb_test "print rmsg.msg_flags" ".* = 0" "check recvmsg record - rmsg"
+gdb_test "print rmsg.msg_flags" ".* = 0" \
+    "check recvmsg record - rmsg.msg_flags"
 
 # rmsg.msg_controllen should be sizeof rc, not actual size of control data
 # (7 bytes less)
-gdb_test "print rmsg.msg_controllen - sizeof rc" ".* = 0" "check recvmsg record - rmsg"
+gdb_test "print rmsg.msg_controllen - sizeof rc" ".* = 0" \
+    "check recvmsg record - rmsg.msg_controllen"
 
 # rc should be zeros, not received cmsg
 gdb_test "print ((struct cmsghdr *)rc)->cmsg_len" ".* = 0" "check recvmsg record - cmsg"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.reverse/sigall-precsave.exp ./gdb/testsuite/gdb.reverse/sigall-precsave.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.reverse/sigall-precsave.exp	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/sigall-precsave.exp	2019-10-04 01:49:51.000000000 +0000
@@ -117,7 +117,7 @@ proc test_one_sig_reverse {prevsig} {
 	-re "Program received signal SIG$prevsig.*$gdb_prompt " {
 	    pass "reverse to signal event, $prevsig"
 
-	    set nested_testmsg "reverse signal delivered"
+	    set nested_testmsg "reverse signal $prevsig delivered"
 	    gdb_test_multiple "frame" $nested_testmsg {
 		-re ".*handle_$prevsig.*$gdb_prompt " {
 		    fail "$nested_testmsg (wrong location)"
@@ -289,8 +289,10 @@ set sig_supported 1
 set thissig "ABRT"
 
 # test signal handling
-foreach sig [lrange $signals 1 end] {
-    test_one_sig $sig
+with_test_prefix "sig-test-1" {
+    foreach sig [lrange $signals 1 end] {
+	test_one_sig $sig
+    }
 }
 
 # The last signal (SIGTERM) gets handled slightly differently because
@@ -313,6 +315,8 @@ foreach sig [lreverse $signals] {
 set sig_supported 1
 set thissig "ABRT"
 
-foreach sig [lrange $signals 1 end] {
-    test_one_sig $sig
+with_test_prefix "sig-test-2" {
+    foreach sig [lrange $signals 1 end] {
+	test_one_sig $sig
+    }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.reverse/sigall-reverse.exp ./gdb/testsuite/gdb.reverse/sigall-reverse.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.reverse/sigall-reverse.exp	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/sigall-reverse.exp	2019-10-04 01:49:51.000000000 +0000
@@ -116,7 +116,7 @@ proc test_one_sig_reverse {prevsig} {
 	-re "Program received signal SIG$prevsig.*$gdb_prompt " {
 	    pass "reverse to signal event, $prevsig"
 
-	    set nested_testmsg "reverse signal delivered"
+	    set nested_testmsg "reverse signal $prevsig delivered"
 	    gdb_test_multiple "frame" $nested_testmsg {
 		-re ".*handle_$prevsig.*$gdb_prompt " {
 		    fail "$nested_testmsg (wrong location)"
@@ -237,8 +237,10 @@ set sig_supported 1
 set thissig "ABRT"
 
 # test signal handling
-foreach sig [lrange $signals 1 end] {
-    test_one_sig $sig
+with_test_prefix "sig-test-1" {
+    foreach sig [lrange $signals 1 end] {
+	test_one_sig $sig
+    }
 }
 
 # The last signal (SIGTERM) gets handled slightly differently because
@@ -265,6 +267,8 @@ foreach sig [lreverse $signals] {
 set sig_supported 1
 set thissig "ABRT"
 
-foreach sig [lrange $signals 1 end] {
-    test_one_sig $sig
+with_test_prefix "sig-test-2" {
+    foreach sig [lrange $signals 1 end] {
+	test_one_sig $sig
+    }
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.reverse/step-indirect-call-thunk.exp ./gdb/testsuite/gdb.reverse/step-indirect-call-thunk.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.reverse/step-indirect-call-thunk.exp	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/step-indirect-call-thunk.exp	2019-10-04 01:49:51.000000000 +0000
@@ -72,12 +72,12 @@ gdb_test "reverse-step" "apply\.3.*" "re
 gdb_test "reverse-step" "inc\.3.*" "reverse-step into inc"
 gdb_test "reverse-step" "inc\.2.*" "reverse-step inside inc"
 gdb_test "reverse-step" "apply\.2.*" \
-    "reverse-step through call thunk into apply"
+    "reverse-step through call thunk into apply, first time"
 gdb_test "reverse-step" "main\.2.*" "reverse-step into main"
 gdb_test "step" "apply\.2.*" "step into apply"
 gdb_test "step" "inc\.2.*" "step through call thunk into inc"
 gdb_test "reverse-step" "apply\.2.*" \
-    "reverse-step through call thunk into apply"
+    "reverse-step through call thunk into apply, second time"
 gdb_test "next" "apply\.3.*" "step through thunks and over inc"
 gdb_test "reverse-next" "apply\.2.*" \
     "reverse-step through thunks and over inc"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.reverse/watch-precsave.exp ./gdb/testsuite/gdb.reverse/watch-precsave.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.reverse/watch-precsave.exp	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/watch-precsave.exp	2019-10-04 01:49:51.000000000 +0000
@@ -108,7 +108,8 @@ gdb_continue_to_breakpoint "marker2" ".*
 ###
 ###
 
-gdb_test_no_output "set exec-direction reverse" "set reverse"
+gdb_test_no_output "set exec-direction reverse" \
+    "set reverse, first time"
 
 # Reverse until the previous change, from 4 to 3
 # Note that this one is outside the loop
@@ -183,7 +184,8 @@ gdb_test "continue" "marker2 .*" "replay
 ###
 ###
 
-gdb_test_no_output "set exec-direction reverse" "set reverse"
+gdb_test_no_output "set exec-direction reverse" \
+    "set reverse, second time"
 
 # Reverse until the previous change, from 4 to 3
 # Note that this one is outside the loop
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.reverse/watch-reverse.exp ./gdb/testsuite/gdb.reverse/watch-reverse.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.reverse/watch-reverse.exp	2019-10-03 01:49:21.000000000 +0000
+++ ./gdb/testsuite/gdb.reverse/watch-reverse.exp	2019-10-04 01:49:51.000000000 +0000
@@ -89,7 +89,8 @@ gdb_continue_to_breakpoint "marker2" ".*
 ###
 ###
 
-gdb_test_no_output "set exec-direction reverse" "set reverse"
+gdb_test_no_output "set exec-direction reverse" \
+    "set reverse, first time"
 
 # Reverse until the previous change, from 4 to 3
 # Note that this one is outside the loop
@@ -164,7 +165,8 @@ gdb_test "continue" "marker2 .*" "replay
 ###
 ###
 
-gdb_test_no_output "set exec-direction reverse" "set reverse"
+gdb_test_no_output "set exec-direction reverse" \
+    "set reverse, second time"
 
 # Reverse until the previous change, from 4 to 3
 # Note that this one is outside the loop
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.threads/stop-with-handle.c ./gdb/testsuite/gdb.threads/stop-with-handle.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.threads/stop-with-handle.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/stop-with-handle.c	2019-10-04 01:49:51.000000000 +0000
@@ -0,0 +1,74 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   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
+   (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/>.  */
+
+#include <stdio.h>
+#include <pthread.h>
+#include <unistd.h>
+
+/* A place to record the thread.  */
+pthread_t the_thread;
+
+/* The worker thread just spins forever.  */
+void*
+thread_worker (void *payload)
+{
+  while (1)
+    {
+      sleep (1);
+    }
+
+  return NULL;
+}
+
+/* Create a worker thread.  */
+int
+spawn_thread ()
+{
+  if (pthread_create (&the_thread, NULL, thread_worker, NULL))
+    {
+      fprintf (stderr, "Unable to create thread.\n");
+      return 0;
+    }
+  return 1;
+}
+
+/* A place for GDB to place a breakpoint.   */
+void __attribute__((used))
+breakpt ()
+{
+  /* Nothing.  */
+}
+
+/* Create a worker thread that just spins forever, then enter a loop
+   periodically calling the BREAKPT function.  */
+int
+main()
+{
+  /* Ensure we stop if GDB crashes and DejaGNU fails to kill us.  */
+  alarm (10);
+
+  spawn_thread ();
+
+  while (1)
+    {
+      sleep (1);
+
+      breakpt ();
+    }
+
+  return 0;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.threads/stop-with-handle.exp ./gdb/testsuite/gdb.threads/stop-with-handle.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/gdb/testsuite/gdb.threads/stop-with-handle.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/stop-with-handle.exp	2019-10-04 01:49:51.000000000 +0000
@@ -0,0 +1,51 @@
+# 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
+# (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/>.
+
+# This test covers a case where SIGSTOP has been configured to be
+# passed to the target with GDB's 'handle' command, and then a
+# multi-threaded inferior encounters an event that causes all theads
+# to be stopped.
+#
+# The problem that (used) to exist was that GDB would see the SIGSTOP,
+# but decide to ignore the signal based on the handle table.
+
+standard_testfile
+
+if {[prepare_for_testing "failed to prepare" \
+	 "${testfile}" "${srcfile}" {debug pthreads}]} {
+    return -1
+}
+
+if ![runto_main] then {
+    fail "can't run to main"
+    return 0
+}
+
+# Have SIGSTOP sent to the inferior.
+gdb_test "handle SIGSTOP nostop noprint pass" \
+    [multi_line \
+	 "Signal\[ \t\]+Stop\[ \t\]+Print\[ \t\]+Pass to program\[ \t\]+Description" \
+	 "SIGSTOP\[ \t\]+No\[ \t\]+No\[ \t\]+Yes\[ \t\]+Stopped \\(signal\\)"]
+
+# Create a breakpoint, and when we hit it automatically finish the
+# current frame.
+gdb_breakpoint breakpt
+
+# When the bug triggers this continue never completes.  GDB hits the
+# breakpoint in thread 1, and then tries to stop the second thread by
+# sending it SIGSTOP.  GDB sees the SIGSTOP arrive in thread 2 but
+# incorrect decides to pass the SIGSTOP to the thread rather than
+# bringing the thread to a stop.
+gdb_continue_to_breakpoint breakpt
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/include/bfdlink.h ./include/bfdlink.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/include/bfdlink.h	2019-10-03 01:49:22.000000000 +0000
+++ ./include/bfdlink.h	2019-10-04 01:49:52.000000000 +0000
@@ -636,6 +636,11 @@ struct bfd_link_info
   struct bfd_elf_version_tree *version_info;
 };
 
+/* Some forward-definitions used by some callbacks.  */
+
+struct elf_strtab_hash;
+struct elf_sym_strtab;
+
 /* This structures holds a set of callback functions.  These are called
    by the BFD linker routines.  */
 
@@ -757,6 +762,16 @@ struct bfd_link_callbacks
     (struct bfd_link_info *, bfd * abfd,
      asection * current_section, asection * previous_section,
      bfd_boolean new_segment);
+  /* This callback provides a chance for callers of the BFD to examine the
+     ELF string table and symbol table once they are complete and indexes and
+     offsets assigned.  */
+  void (*examine_strtab)
+    (struct elf_sym_strtab *syms, bfd_size_type symcount,
+     struct elf_strtab_hash *symstrtab);
+  /* This callback should emit the CTF section into a non-loadable section in
+     the output BFD named .ctf or a name beginning with ".ctf.".  */
+  void (*emit_ctf)
+    (void);
 };
 
 /* The linker builds link_order structures which tell the code how to
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/include/ChangeLog ./include/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/include/ChangeLog	2019-10-03 01:49:22.000000000 +0000
+++ ./include/ChangeLog	2019-10-04 01:49:52.000000000 +0000
@@ -1,3 +1,88 @@
+2019-09-23  Nick Alcock  <nick.alcock@oracle.com>
+
+	* ctf-api.h (ctf_cuname_set): Can now fail, returning int.
+	(ctf_parent_name_set): Likewise.
+
+2019-08-05  Nick Alcock  <nick.alcock@oracle.com>
+
+	* ctf-api.h (ECTF_NONREPRESENTABLE): New.
+
+2019-09-23  Nick Alcock  <nick.alcock@oracle.com>
+
+	* ctf-api.h: Note the instability of the ctf_link interfaces.
+
+2019-07-13  Nick Alcock  <nick.alcock@oracle.com>
+
+	* bfdlink.h (elf_strtab_hash): New forward.
+	(elf_sym_strtab): Likewise.
+	(struct bfd_link_callbacks <examine_strtab>): New.
+	(struct bfd_link_callbacks <emit_ctf>): Likewise.
+
+2019-07-13  Nick Alcock  <nick.alcock@oracle.com>
+
+	* ctf-api.h (includes): No longer include <sys/param.h>.
+
+2019-07-30  Nick Alcock  <nick.alcock@oracle.com>
+
+	* ctf-api.h (ctf_link_add_cu_mapping): New.
+	(ctf_link_memb_name_changer_f): New.
+	(ctf_link_set_memb_name_changer): New.
+
+2019-07-13  Nick Alcock  <nick.alcock@oracle.com>
+
+	* ctf-api.h (ECTF_INTERNAL): New.
+
+2019-07-13  Nick Alcock  <nick.alcock@oracle.com>
+
+	* ctf-api.h (struct ctf_link_sym): New, a symbol in flight to the
+	libctf linking machinery.
+	(CTF_LINK_SHARE_UNCONFLICTED): New.
+	(CTF_LINK_SHARE_DUPLICATED): New.
+	(ECTF_LINKADDEDLATE): New, replacing ECTF_UNUSED.
+	(ECTF_NOTYET): New, a 'not yet implemented' message.
+	(ctf_link_add_ctf): New, add an input file's CTF to the link.
+	(ctf_link): New, merge the type and string sections.
+	(ctf_link_strtab_string_f): New, callback for feeding strtab info.
+	(ctf_link_iter_symbol_f): New, callback for feeding symtab info.
+	(ctf_link_add_strtab): New, tell the CTF linker about the ELF
+	strtab's strings.
+	(ctf_link_shuffle_syms): New, ask the CTF linker to shuffle its
+	symbols into symtab order.
+	(ctf_link_write): New, ask the CTF linker to write the CTF out.
+
+2019-07-13  Nick Alcock  <nick.alcock@oracle.com>
+
+	* ctf-api.h (ctf_arc_write_fd): New.
+	(ctf_write_mem): Likewise.
+	(ctf_gzwrite): Spacing fix.
+
+2019-07-13  Nick Alcock  <nick.alcock@oracle.com>
+
+	* ctf.h (CTF_SET_STID): New.
+
+2019-07-13  Nick Alcock  <nick.alcock@oracle.com>
+
+	* ctf-api.h (ctf_type_all_f): New.
+	(ctf_type_iter_all): New.
+
+2019-07-11  Nick Alcock  <nick.alcock@oracle.com>
+
+	* ctf.h: Add object index and function index sections.  Describe
+	them. Improve the description of the variable section and clarify
+	the constraints on backward-pointing type nodes.
+	(ctf_header): Add cth_objtidxoff, cth_funcidxoff.
+
+2019-07-06  Nick Alcock  <nick.alcock@oracle.com>
+
+	* ctf-api.h (ctf_cuname): New function.
+	(ctf_cuname_set): Likewise.
+	* ctf.h: Improve comment around upgrading, no longer
+	implying that v2 is the target of upgrades (it is v3 now).
+	(ctf_header_v2_t): New, old-format header for backward
+	compatibility.
+	(ctf_header_t): Add cth_cuname: this is the first of several
+	header changes in format v3.
+
 2019-09-23  Alan Modra  <amodra@gmail.com>
 
 	* bfdlink.h (struct bfd_section_already_linked): Forward declare.
@@ -97,7 +182,7 @@
 	* opcode/aarch64.h (enum aarch64_insn_class): sve_size_013
 	renamed to sve_size_13.
 
-2019-06-19  Nick Alcock <nick.alcock@oracle.com>
+2019-06-19  Nick Alcock  <nick.alcock@oracle.com>
 
 	* ctf.h (ctf_slice_t): Make cts_offset and cts_bits unsigned
 	short, so following structures are properly aligned.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/include/ctf-api.h ./include/ctf-api.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/include/ctf-api.h	2019-10-03 01:49:22.000000000 +0000
+++ ./include/ctf-api.h	2019-10-04 01:49:52.000000000 +0000
@@ -24,7 +24,6 @@
 #ifndef	_CTF_API_H
 #define	_CTF_API_H
 
-#include <sys/param.h>
 #include <sys/types.h>
 #include <ctf.h>
 #include <zlib.h>
@@ -65,6 +64,28 @@ typedef struct ctf_sect
   size_t cts_entsize;		  /* Size of each section entry (symtab only).  */
 } ctf_sect_t;
 
+/* A minimal symbol extracted from a linker's internal symbol table
+   representation.  */
+
+typedef struct ctf_link_sym
+{
+  /* The st_name will not be accessed outside the call to
+     ctf_link_shuffle_syms().  */
+
+  const char *st_name;
+  uint32_t st_shndx;
+  uint32_t st_type;
+  uint32_t st_value;
+} ctf_link_sym_t;
+
+/* Indication of how to share types when linking.  */
+
+/* Share all types thare are not in conflict.  The default.  */
+#define CTF_LINK_SHARE_UNCONFLICTED 0x0
+
+/* Share only types that are used by multiple inputs.  Not implemented yet.  */
+#define CTF_LINK_SHARE_DUPLICATED 0x1
+
 /* Symbolic names for CTF sections.  */
 
 typedef enum ctf_sect_names
@@ -145,7 +166,7 @@ enum
    ECTF_NOSYMTAB,		/* Symbol table data is not available.  */
    ECTF_NOPARENT,		/* Parent CTF container is not available.  */
    ECTF_DMODEL,			/* Data model mismatch.  */
-   ECTF_UNUSED,			/* Unused error.  */
+   ECTF_LINKADDEDLATE,		/* File added to link too late.  */
    ECTF_ZALLOC,			/* Failed to allocate (de)compression buffer.  */
    ECTF_DECOMPRESS,		/* Failed to decompress CTF data.  */
    ECTF_STRTAB,			/* String table for this string is missing.  */
@@ -180,7 +201,10 @@ enum
    ECTF_ARNNAME,		/* Name not found in CTF archive.  */
    ECTF_SLICEOVERFLOW,		/* Overflow of type bitness or offset in slice.  */
    ECTF_DUMPSECTUNKNOWN,	/* Unknown section number in dump.  */
-   ECTF_DUMPSECTCHANGED		/* Section changed in middle of dump.  */
+   ECTF_DUMPSECTCHANGED,	/* Section changed in middle of dump.  */
+   ECTF_NOTYET,			/* Feature not yet implemented.  */
+   ECTF_INTERNAL,		/* Internal error in link.  */
+   ECTF_NONREPRESENTABLE	/* Type not representable in CTF.  */
   };
 
 /* The CTF data model is inferred to be the caller's data model or the data
@@ -211,6 +235,7 @@ typedef int ctf_member_f (const char *na
 typedef int ctf_enum_f (const char *name, int val, void *arg);
 typedef int ctf_variable_f (const char *name, ctf_id_t type, void *arg);
 typedef int ctf_type_f (ctf_id_t type, void *arg);
+typedef int ctf_type_all_f (ctf_id_t type, int flag, void *arg);
 typedef int ctf_label_f (const char *name, const ctf_lblinfo_t *info,
 			 void *arg);
 typedef int ctf_archive_member_f (ctf_file_t *fp, const char *name, void *arg);
@@ -257,10 +282,14 @@ extern void ctf_file_close (ctf_file_t *
 
 extern int ctf_arc_write (const char *, ctf_file_t **, size_t,
 			  const char **, size_t);
+extern int ctf_arc_write_fd (int, ctf_file_t **, size_t, const char **,
+			     size_t);
 
+extern const char *ctf_cuname (ctf_file_t *);
+extern int ctf_cuname_set (ctf_file_t *, const char *);
 extern ctf_file_t *ctf_parent_file (ctf_file_t *);
 extern const char *ctf_parent_name (ctf_file_t *);
-extern void ctf_parent_name_set (ctf_file_t *, const char *);
+extern int ctf_parent_name_set (ctf_file_t *, const char *);
 extern int ctf_type_isparent (ctf_file_t *, ctf_id_t);
 extern int ctf_type_ischild (ctf_file_t *, ctf_id_t);
 
@@ -315,6 +344,7 @@ extern int ctf_label_info (ctf_file_t *,
 extern int ctf_member_iter (ctf_file_t *, ctf_id_t, ctf_member_f *, void *);
 extern int ctf_enum_iter (ctf_file_t *, ctf_id_t, ctf_enum_f *, void *);
 extern int ctf_type_iter (ctf_file_t *, ctf_type_f *, void *);
+extern int ctf_type_iter_all (ctf_file_t *, ctf_type_all_f *, void *);
 extern int ctf_label_iter (ctf_file_t *, ctf_label_f *, void *);
 extern int ctf_variable_iter (ctf_file_t *, ctf_variable_f *, void *);
 extern int ctf_archive_iter (const ctf_archive_t *, ctf_archive_member_f *,
@@ -375,8 +405,33 @@ extern ctf_snapshot_id_t ctf_snapshot (c
 extern int ctf_rollback (ctf_file_t *, ctf_snapshot_id_t);
 extern int ctf_discard (ctf_file_t *);
 extern int ctf_write (ctf_file_t *, int);
-extern int ctf_gzwrite (ctf_file_t * fp, gzFile fd);
+extern int ctf_gzwrite (ctf_file_t *fp, gzFile fd);
 extern int ctf_compress_write (ctf_file_t * fp, int fd);
+extern unsigned char *ctf_write_mem (ctf_file_t *, size_t *, size_t threshold);
+
+/* The ctf_link interfaces are not stable yet.  No guarantees!  */
+
+extern int ctf_link_add_ctf (ctf_file_t *, ctf_archive_t *, const char *);
+extern int ctf_link (ctf_file_t *, int share_mode);
+typedef const char *ctf_link_strtab_string_f (uint32_t *offset, void *arg);
+extern int ctf_link_add_strtab (ctf_file_t *, ctf_link_strtab_string_f *,
+				void *);
+typedef ctf_link_sym_t *ctf_link_iter_symbol_f (ctf_link_sym_t *dest,
+						void *arg);
+extern int ctf_link_shuffle_syms (ctf_file_t *, ctf_link_iter_symbol_f *,
+				  void *);
+extern unsigned char *ctf_link_write (ctf_file_t *, size_t *size,
+				      size_t threshold);
+
+/* Specialist linker functions.  These functions are not used by ld, but can be
+   used by other prgorams making use of the linker machinery for other purposes
+   to customize its output.  */
+extern int ctf_link_add_cu_mapping (ctf_file_t *, const char *from,
+				    const char *to);
+typedef char *ctf_link_memb_name_changer_f (ctf_file_t *,
+					    const char *, void *);
+extern void ctf_link_set_memb_name_changer
+  (ctf_file_t *, ctf_link_memb_name_changer_f *, void *);
 
 extern void ctf_setdebug (int debug);
 extern int ctf_getdebug (void);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/include/ctf.h ./include/ctf.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/include/ctf.h	2019-10-03 01:49:22.000000000 +0000
+++ ./include/ctf.h	2019-10-04 01:49:52.000000000 +0000
@@ -52,10 +52,15 @@ extern "C"
 
    The CTF file or section itself has the following structure:
 
-   +--------+--------+---------+----------+----------+-------+--------+
-   |  file  |  type  |  data   | function | variable | data  | string |
-   | header | labels | objects |   info   |   info   | types | table  |
-   +--------+--------+---------+----------+----------+-------+--------+
+   +--------+--------+---------+----------+--------+----------+...
+   |  file  |  type  |  data   | function | object | function |...
+   | header | labels | objects |   info   | index  |  index   |...
+   +--------+--------+---------+----------+--------+----------+...
+
+   ...+----------+-------+--------+
+   ...| variable | data  | string |
+   ...|   info   | types | table  |
+      +----------+-------+--------+
 
    The file header stores a magic number and version information, encoding
    flags, and the byte offset of each of the sections relative to the end of the
@@ -74,14 +79,27 @@ extern "C"
    For each data object, the type ID (a small integer) is recorded.  For each
    function, the type ID of the return type and argument types is recorded.
 
+   For situations in which the order of the symbols in the symtab is not known,
+   a pair of optional indexes follow the data object and function info sections:
+   each of these is an array of strtab indexes, mapped 1:1 to the corresponding
+   data object / function info section, giving each entry in those sections a
+   name so that the linker can correlate them with final symtab entries and
+   reorder them accordingly (dropping the indexes in the process).
+
    Variable records (as distinct from data objects) provide a modicum of support
    for non-ELF systems, mapping a variable name to a CTF type ID.  The variable
-   names are sorted into ASCIIbetical order, permitting binary searching.
+   names are sorted into ASCIIbetical order, permitting binary searching.  We do
+   not define how the consumer maps these variable names to addresses or
+   anything else, or indeed what these names represent: they might be names
+   looked up at runtime via dlsym() or names extracted at runtime by a debugger
+   or anything else the consumer likes.
 
    The data types section is a list of variable size records that represent each
    type, in order by their ID.  The types themselves form a directed graph,
    where each node may contain one or more outgoing edges to other type nodes,
-   denoted by their ID.
+   denoted by their ID.  Most type nodes are standalone or point backwards to
+   earlier nodes, but this is not required: nodes can point to later nodes,
+   particularly structure and union members.
 
    Strings are recorded as a string table ID (0 or 1) and a byte offset into the
    string table.  String table 0 is the internal CTF string table.  String table
@@ -126,14 +144,31 @@ typedef struct ctf_preamble
   unsigned char ctp_flags;	/* Flags (see below).  */
 } ctf_preamble_t;
 
+typedef struct ctf_header_v2
+{
+  ctf_preamble_t cth_preamble;
+  uint32_t cth_parlabel;	/* Ref to name of parent lbl uniq'd against.  */
+  uint32_t cth_parname;		/* Ref to basename of parent.  */
+  uint32_t cth_lbloff;		/* Offset of label section.  */
+  uint32_t cth_objtoff;		/* Offset of object section.  */
+  uint32_t cth_funcoff;		/* Offset of function section.  */
+  uint32_t cth_varoff;		/* Offset of variable section.  */
+  uint32_t cth_typeoff;		/* Offset of type section.  */
+  uint32_t cth_stroff;		/* Offset of string section.  */
+  uint32_t cth_strlen;		/* Length of string section in bytes.  */
+} ctf_header_v2_t;
+
 typedef struct ctf_header
 {
   ctf_preamble_t cth_preamble;
   uint32_t cth_parlabel;	/* Ref to name of parent lbl uniq'd against.  */
   uint32_t cth_parname;		/* Ref to basename of parent.  */
+  uint32_t cth_cuname;		/* Ref to CU name (may be 0).  */
   uint32_t cth_lbloff;		/* Offset of label section.  */
   uint32_t cth_objtoff;		/* Offset of object section.  */
   uint32_t cth_funcoff;		/* Offset of function section.  */
+  uint32_t cth_objtidxoff;	/* Offset of object index section.  */
+  uint32_t cth_funcidxoff;	/* Offset of function index section.  */
   uint32_t cth_varoff;		/* Offset of variable section.  */
   uint32_t cth_typeoff;		/* Offset of type section.  */
   uint32_t cth_stroff;		/* Offset of string section.  */
@@ -148,13 +183,14 @@ typedef struct ctf_header
 
 /* Data format version number.  */
 
-/* v1 upgraded to v2 is not quite the same as native v2 (the boundary between
-   parent and child types is different), and you can write it out again via
-   ctf_compress_write(), so we must track whether the thing was originally v1 or
-   not.  If we were writing the header from scratch, we would add a *pair* of
-   version number fields to allow for this, but this will do for now.  (A flag
-   will not do, because we need to encode both the version we came from and the
-   version we went to, not just "we were upgraded".) */
+/* v1 upgraded to a later version is not quite the same as the native form,
+   because the boundary between parent and child types is different but not
+   recorded anywhere, and you can write it out again via ctf_compress_write(),
+   so we must track whether the thing was originally v1 or not.  If we were
+   writing the header from scratch, we would add a *pair* of version number
+   fields to allow for this, but this will do for now.  (A flag will not do,
+   because we need to encode both the version we came from and the version we
+   went to, not just "we were upgraded".) */
 
 # define CTF_VERSION_1 1
 # define CTF_VERSION_1_UPGRADED_3 2
@@ -317,6 +353,7 @@ union
 
 #define CTF_NAME_STID(name)		((name) >> 31)
 #define CTF_NAME_OFFSET(name)		((name) & CTF_MAX_NAME)
+#define CTF_SET_STID(name, stid)	((name) | (stid) << 31)
 
 /* V2 only. */
 #define CTF_TYPE_INFO(kind, isroot, vlen) \
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/Makefile.def ./Makefile.def
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/Makefile.def	2019-10-03 01:49:19.000000000 +0000
+++ ./Makefile.def	2019-10-04 01:49:48.000000000 +0000
@@ -129,7 +129,7 @@ host_modules= { module= lto-plugin; boot
 		extra_make_flags='@extra_linker_plugin_flags@'; };
 host_modules= { module= libcc1; extra_configure_flags=--enable-shared; };
 host_modules= { module= gotools; };
-host_modules= { module= libctf; no_install=true; no_check=true;
+host_modules= { module= libctf; no_check=true;
 		bootstrap=true; };
 
 target_modules = { module= libstdc++-v3;
@@ -432,6 +432,7 @@ dependencies = { module=all-binutils; on
 dependencies = { module=all-binutils; on=all-intl; };
 dependencies = { module=all-binutils; on=all-gas; };
 dependencies = { module=all-binutils; on=all-libctf; };
+dependencies = { module=all-ld; on=all-libctf; };
 
 // We put install-opcodes before install-binutils because the installed
 // binutils might be on PATH, and they might need the shared opcodes
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/Makefile.in ./Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/Makefile.in	2019-10-03 01:49:24.000000000 +0000
+++ ./Makefile.in	2019-10-04 01:49:55.000000000 +0000
@@ -33849,7 +33849,13 @@ maybe-install-libctf:
 @if libctf
 maybe-install-libctf: install-libctf
 
-install-libctf:
+install-libctf: installdirs
+	@: $(MAKE); $(unstage)
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	(cd $(HOST_SUBDIR)/libctf && \
+	  $(MAKE) $(FLAGS_TO_PASS)  install)
 
 @endif libctf
 
@@ -33858,7 +33864,13 @@ maybe-install-strip-libctf:
 @if libctf
 maybe-install-strip-libctf: install-strip-libctf
 
-install-strip-libctf:
+install-strip-libctf: installdirs
+	@: $(MAKE); $(unstage)
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(HOST_EXPORTS) \
+	(cd $(HOST_SUBDIR)/libctf && \
+	  $(MAKE) $(FLAGS_TO_PASS)  install-strip)
 
 @endif libctf
 
@@ -51159,6 +51171,13 @@ all-stage3-binutils: maybe-all-stage3-li
 all-stage4-binutils: maybe-all-stage4-libctf
 all-stageprofile-binutils: maybe-all-stageprofile-libctf
 all-stagefeedback-binutils: maybe-all-stagefeedback-libctf
+all-ld: maybe-all-libctf
+all-stage1-ld: maybe-all-stage1-libctf
+all-stage2-ld: maybe-all-stage2-libctf
+all-stage3-ld: maybe-all-stage3-libctf
+all-stage4-ld: maybe-all-stage4-libctf
+all-stageprofile-ld: maybe-all-stageprofile-libctf
+all-stagefeedback-ld: maybe-all-stagefeedback-libctf
 install-binutils: maybe-install-opcodes
 install-strip-binutils: maybe-install-strip-opcodes
 install-opcodes: maybe-install-bfd
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/md5.sum ./md5.sum
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.3.50.20191003/md5.sum	2019-10-03 01:53:03.000000000 +0000
+++ ./md5.sum	2019-10-04 01:54:01.000000000 +0000
@@ -37,14 +37,14 @@ f73502530f3abf5e11406d868ea1af80  bfd/xt
 5cb0eef365977eb8c7430c04738a9e2c  bfd/wasm-module.c
 ce93ef6cd4c0ba0799b9d6d75b36638a  bfd/elf64-mips.c
 c4d082a9c0c27456afe3357c4987b675  bfd/cpu-m9s12x.c
-c43dcf09449967745ee4c7ea1cedc6a7  bfd/version.h
+2791d1c93a752fab596f50b787af09c3  bfd/version.h
 f635e95e06957e744083b2160029e168  bfd/cpu-tilegx.c
 f2af796af1efd1971472837a26010b6f  bfd/coff-mcore.c
 89637e92fbef834ef0c545805106bcc4  bfd/cpu-avr.c
 177bd7b4c84ba5c009fb078257ef06cb  bfd/aout64.c
 cd3bf9fe5458c06ca0a4cc5abdfbc796  bfd/elf32-pru.c
 f5ad372cf681a57b9a43f6975c05e33c  bfd/ChangeLog-2012
-fb1ac9f3c9938e467e8d68b0b1e737c8  bfd/elf.c
+720dc6e8640632539e3f76ea91787d68  bfd/elf.c
 0b76fafe89d70f2ea04f6b9a1e79989f  bfd/hppabsd-core.c
 8f4546a5e1b4bfb7045af3f6a958973e  bfd/elf32-xgate.c
 0b89057e69f67bd9835a9160e89333e7  bfd/elf32-nds32.h
@@ -107,9 +107,9 @@ d97dde7108578eea9417c70f39d97775  bfd/bf
 58bc56d7dd9219f5efdfa1803bcb27aa  bfd/libxcoff.h
 da3bfcdfa700bc2340bc467012bd56c6  bfd/i386bsd.c
 d86e0e4100a7bd9dadceadd1e4d9a175  bfd/hpux-core.c
-c9ea5b049ea87e6e0ab6e4514081d034  bfd/elf-bfd.h
+b20071fa412e1c7165fe3d8fd08dc708  bfd/elf-bfd.h
 2aeedee8927595bec83bf600ce9a405c  bfd/mach-o-target.c
-29b3cafaa78a412cdebf668ae986299e  bfd/elf-strtab.c
+12f1cf0b75fefe6b0fedf70cf91cf42a  bfd/elf-strtab.c
 79ab00617c0c7ff26c848dbcdf8b5643  bfd/peXXigen.c
 06c8428cc4a55ada8601e8ef4ffb24bd  bfd/simple.c
 b967a433433ae3829243f460e1dbfa3f  bfd/pe-x86_64.c
@@ -324,7 +324,7 @@ d6bd4f6d0c2627b13c05ef7cb49b2d7d  bfd/el
 fa97c17a75dc2bd5d51931e1dd1f0693  bfd/elf32-m68hc12.c
 05cedb42f6a9cc65a191a092e591bf32  bfd/elf32-m32c.c
 8f7b5397a7bb5d502a9997e19d244cea  bfd/ChangeLog-2014
-47b0c872ef15706fc50daa1fd2bbfd6b  bfd/elflink.c
+21a5fa7bbf4deb996286356ae5ff9cad  bfd/elflink.c
 784c80a5abc1b2693d0a0f8438e82545  bfd/elf32-iq2000.c
 506e4cf89b13520b65527de435f6e4b4  bfd/arc-plt.def
 0dcd615606a2ea2fdc30b601c1e9d7bc  bfd/elf-hppa.h
@@ -405,7 +405,7 @@ bf3124212f297f533195226f5574c9d1  bfd/el
 4f64387cc2f68f7f980105d0a6443858  bfd/elfxx-ia64.h
 72fd73fc0277b8c62634baabecbda132  bfd/elf32-or1k.c
 104a70b5229947c59091790c37236944  bfd/targets.c
-50b66f21db992bfcb60e9614e2fa1d7b  bfd/ChangeLog
+c8ea827e49622a4d8b0ce4d8d140f3fb  bfd/ChangeLog
 80e643d9b80b026d0cb49c1a9844db85  bfd/section.c
 2fddd07f100af0551285d028f9fe8eb0  bfd/elf-s390-common.c
 07d1c3689bb0c5e5b6d5dfce7aee122e  bfd/elf32-lm32.c
@@ -533,7 +533,7 @@ c3b9a80f7b7b63e87af2f74210ca46cc  bfd/el
 82ee3ab98de753aefddbf322bb89c13b  bfd/cpu-m68k.h
 a1d55ed3f4aa1f53d6c783858a66e382  bfd/elfxx-riscv.c
 447741e3f8791198214f96779cefeabf  bfd/mach-o-aarch64.c
-0dda9a118a71e9a455b6a3b7e8ed5690  ChangeLog
+0e0e51a9b7235f950cec33ca2c71bcdc  ChangeLog
 500b9244caa7a7ab23ece1db37efa76d  compile
 042203b305962ba9a8f8474ef80edeee  config/enable.m4
 2ea0edfde0ce5ce69b49317a5650f048  config/acx.m4
@@ -776,7 +776,7 @@ da0c4f593154c753ed53afc5f32aa17d  gdb/gd
 02f0c034ef0f6c556acfed96a299d6a2  gdb/process-stratum-target.c
 78c6359a047e4d5483a90c021196a18a  gdb/ravenscar-thread.c
 fb6b461a67af1dcd22eae87c4b4181ca  gdb/Makefile.in
-7eee325950c57653b511838a7d4ecb57  gdb/btrace.h
+c3f8f2a9c5369ed5f42e52208396d484  gdb/btrace.h
 ed316f4adf752b73da1c357437cfa771  gdb/x86-bsd-nat.c
 2cc0e89d09628e04609b0d799c1784bf  gdb/windows-nat.h
 c82987de8310e2bf54a41501beea3df5  gdb/sparc64-linux-tdep.c
@@ -946,7 +946,7 @@ a804ca7c515b665ca1a96b9686023303  gdb/na
 fc00b983e7e9bec8f515cde95e715c57  gdb/nat/linux-osdata.c
 e1cd9d86601deb75d2b07ff1c4fbc6d3  gdb/nat/linux-procfs.h
 e84e44763a4cb128a13df34f8e6848b6  gdb/nat/linux-nat.h
-b948696377a694a779a81613da289b75  gdb/nat/linux-btrace.c
+83a04af3f3148ebb5ca922969606b390  gdb/nat/linux-btrace.c
 d34616a63cf0d2691ac0784a1fbb478b  gdb/nat/x86-dregs.h
 2f0b34c11d7d31d7b972c4d4f7c325a9  gdb/nat/x86-linux-dregs.h
 2d170cd0b3789da61d0155bbb5b0a754  gdb/nat/linux-procfs.c
@@ -1019,11 +1019,11 @@ e03f9420ac23898c95ed9f2d838d496a  gdb/cl
 33a9aee33ddfefb42ee5f9df38b38af3  gdb/cli/cli-script.c
 6dba03ffcd4179e20aa50a116f920993  gdb/cli/cli-logging.c
 fb92fe19241f8a516bd6a0922479e78f  gdb/cli/cli-decode.h
-75f7da044ed7dacc04be3cf9dd3df8ab  gdb/cli/cli-style.c
+6670d5848e05f687eaa447748d6e9ed8  gdb/cli/cli-style.c
 cd657a4e8ed2d45e7bd6bac5a702c10c  gdb/cli/cli-utils.c
 09304ec3c1277123e9d2beff2a20863c  gdb/cli/cli-option.h
 00f89ff2b81028c32352996aa07f7b4f  gdb/copyright.py
-d9f0d08ec721da16fe1bc2a950bf514e  gdb/cp-namespace.c
+2d397874b4a7e4f256ba0500761d0248  gdb/cp-namespace.c
 21b85dc2ed09d1125c8ab4fbdb043c7a  gdb/notify.defs
 82899e567314d0cadf3c96f25d6548eb  gdb/bsd-uthread.h
 8a87c501fe518b605668725895d49cec  gdb/inferior.h
@@ -1174,7 +1174,7 @@ dddb3052d3013584839f41f44ea31015  gdb/go
 a12c129c6a322b6da6f3be28d5c64855  gdb/remote-notif.c
 1b9023495f4606b354761e1adc7fbf38  gdb/aarch64-linux-tdep.h
 210f3f42e33de3bab7df4c63a38c8bbb  gdb/aarch64-linux-tdep.c
-64dc7da92b99941d8b1571f6557ea1c1  gdb/f-lang.c
+7c3a66ec281aadf82b457daf5a3953b0  gdb/f-lang.c
 5849b004ac8a54dad31586d8124b58ec  gdb/break-catch-throw.c
 3456e2eb17d78fe98353c160e67c309d  gdb/rs6000-aix-tdep.h
 10ee5f4b49970d9cbe338ab9e0c1baa9  gdb/gnu-v2-abi.c
@@ -1204,7 +1204,7 @@ cdaa654bddaff716531556c9f599dfd5  gdb/ty
 ad0a28559cae16d5c6917cd8223dec0f  gdb/m32r-linux-nat.c
 963c0b6541094fe70dd3a064c26c13f9  gdb/sparc64-nbsd-nat.c
 c2bc018bbf48b3f8cae91818bb152c34  gdb/gdb_bfd.c
-d61e5eb8eeed7809c3b64e2c44179301  gdb/NEWS
+1f899788c14116ff126604a7c19aad76  gdb/NEWS
 97fdbf06d19ca02ff16730e400dc2cfc  gdb/x86-nat.c
 30ff5e95978bca6e0d6b8a7fa988c4c9  gdb/dcache.c
 c4f2c8bc152abb23fccef51af4ead140  gdb/ada-lex.l
@@ -1321,7 +1321,7 @@ e702c76e3ff96a6c491fa0781e028a59  gdb/se
 f48d4eeceeac9d5a468d149b0e5ed7c4  gdb/arch-utils.c
 b594c3f5a509e22ed950790ba6ce2e91  gdb/cp-valprint.c
 df393c602e6b20bc1b0caa1b02df828f  gdb/disable-implicit-rules.mk
-f73ba7396536a662be21089112eae4f8  gdb/dwarf2read.c
+eba74e54227f2eaf362b3782f436d644  gdb/dwarf2read.c
 34fe1660581407efc4e2e7e0cfef32ae  gdb/or1k-tdep.c
 653ccb0f91b7f978ac58d80833158b97  gdb/amd64-windows-tdep.c
 e4708e4b23e4e6ddd07c7245736d37b3  gdb/testsuite/config/cygmon.exp
@@ -1972,7 +1972,7 @@ f130ed08426123f7e0e40da5af8dc9ef  gdb/te
 5ff1b7df323c6727f0209a435a2b37db  gdb/testsuite/gdb.python/py-nested-maps.py
 8e49fd414f9163ed3051d3f1cdffb1ac  gdb/testsuite/gdb.python/py-symbol.exp
 0b58a07c10a3d0a509883f172cf01b6a  gdb/testsuite/gdb.python/py-shared.c
-096a9efe9a61a86e3fedfe58f757d0c2  gdb/testsuite/gdb.python/py-parameter.exp
+86c10248490e9776eca7c528dd9418ba  gdb/testsuite/gdb.python/py-parameter.exp
 a3084d8e701f91b416ce5f70b60976e1  gdb/testsuite/gdb.python/py-sync-interp.c
 ebd46964f6e2d2d809a8df0d6f859a95  gdb/testsuite/gdb.python/py-framefilter-invalidarg.exp
 404199337567149e65319bf8658f95f9  gdb/testsuite/gdb.python/py-recurse-unwind.c
@@ -2088,7 +2088,7 @@ aec1d1de7a061dec1f17e87543a73097  gdb/te
 3a9938cc15b201c9dce950f161778f53  gdb/testsuite/gdb.python/py-framefilter.exp
 42fa555133fafc10dd0fe9ab34433ee5  gdb/testsuite/gdb.python/py-inferior.exp
 e88a2a581f8079efbdd0b3313b654a9f  gdb/testsuite/gdb.python/py-strfns.c
-1e0254d45574fbec7208f663cc11d152  gdb/testsuite/gdb.python/py-template.exp
+b8389e877b2bc3812c4b386f99f75f96  gdb/testsuite/gdb.python/py-template.exp
 920a234f88fa148a268cf95f1a9af7a0  gdb/testsuite/gdb.python/py-prettyprint.c
 30f6aa19199a42ab2b6bb0e62ea41c22  gdb/testsuite/gdb.python/py-pp-integral.py
 1746d28974199851e27bdbed76949366  gdb/testsuite/gdb.python/py-completion.py
@@ -2100,7 +2100,7 @@ e2ab888ad6e5c1ea193c69dbbf8b86a9  gdb/te
 4cfc50abb8f78f488af2895b324138a4  gdb/testsuite/gdb.python/py-finish-breakpoint.c
 69fae426f9be708fc908154dd4b487bc  gdb/testsuite/gdb.python/py-infthread.exp
 166ed401dee88f497e1412b4c3184139  gdb/testsuite/gdb.python/py-type.exp
-4facaae593c4e1573366d64122703fa5  gdb/testsuite/gdb.python/py-value.exp
+231d8de94e187da74e4751013aa1cad7  gdb/testsuite/gdb.python/py-value.exp
 5943e8e6cea445c4f1533b63f33963d9  gdb/testsuite/gdb.python/py-prettyprint.py
 54d2515686a81fc09fe3be90dbd11510  gdb/testsuite/gdb.python/py-record-full.exp
 eefdb210c237ad7fc73c4ef7a7ea0a66  gdb/testsuite/gdb.python/py-rbreak.c
@@ -2175,7 +2175,7 @@ c952036c41772053beda76ceb8b3df21  gdb/te
 3510a5962c44ec9aeffdf4accdf9a4cb  gdb/testsuite/gdb.base/int-type.c
 9fe3e72d6ec2d3fa65f0d80382588d18  gdb/testsuite/gdb.base/sigchld.exp
 2ee682041b393601ac994353d430fc8c  gdb/testsuite/gdb.base/gdb1555.c
-176e7b312eff67aa7d8bac8a9c247201  gdb/testsuite/gdb.base/call-sc.exp
+0df91c3c6db486f3617f1b6b3b48c472  gdb/testsuite/gdb.base/call-sc.exp
 32dac1e0b07d4cc7a3c1d38584b39231  gdb/testsuite/gdb.base/gnu-ifunc.exp
 fc898e42f84ea0f6846d5102c9db43c9  gdb/testsuite/gdb.base/symlink-sourcefile.exp
 f356ff50643e59000ef3d9f24089698b  gdb/testsuite/gdb.base/psymtab2.c
@@ -2232,7 +2232,7 @@ df4632813158fcabaab0f2a0004e8ac4  gdb/te
 af6f9e427bb3d09aa6033ec64aec8775  gdb/testsuite/gdb.base/jit-dlmain.c
 02b1f722a91d764182a90faaaf8dd0b3  gdb/testsuite/gdb.base/longest-types.exp
 f0b536e5291239af1281035e74e1be01  gdb/testsuite/gdb.base/infnan.exp
-4d934dba75f212881e2679e39cee4cdd  gdb/testsuite/gdb.base/relational.exp
+7b937cacb4cf1985de24ec3e2dc1b1d2  gdb/testsuite/gdb.base/relational.exp
 297d058ea65fe792443d5a7ae5c46286  gdb/testsuite/gdb.base/random-signal.exp
 91183ba02b8bd9c72e4ac03aba78b728  gdb/testsuite/gdb.base/sepdebug2.c
 b57bc479f54bce3ef473251298c13bc1  gdb/testsuite/gdb.base/finish-pretty.c
@@ -2297,7 +2297,7 @@ bd7a5001bfc3f71c487ae1a2cea997b6  gdb/te
 b714e49b9ba8f7daddc5c31ebe0c083c  gdb/testsuite/gdb.base/paginate-inferior-exit.exp
 22afe422bb2c44fc3bb0355342fdb7e2  gdb/testsuite/gdb.base/global-var-nested-by-dso.c
 1326ff7556666a6a22c5d4c66e6de146  gdb/testsuite/gdb.base/catch-load.exp
-b11340dcf4ab3c338f61d51d483f32b1  gdb/testsuite/gdb.base/step-over-syscall.exp
+ddebe9192f25dabecadcfb8891de334a  gdb/testsuite/gdb.base/step-over-syscall.exp
 176484f0f5bb96ebd6bbfec650eaae75  gdb/testsuite/gdb.base/prelink.c
 9a32a5df86c8f045f57ccfe3fb2222df  gdb/testsuite/gdb.base/break-caller-line.c
 3224b3a91caa57117a928cf5f2a7f695  gdb/testsuite/gdb.base/align.exp
@@ -2311,7 +2311,7 @@ ac0b4b74bdc306ec71b88d83a0cd608a  gdb/te
 3b434edf7c8c762961667d4fa0860497  gdb/testsuite/gdb.base/call-sc.c
 4d26948db2fc1ea9db7ccd8063c6f42e  gdb/testsuite/gdb.base/options.c
 a4ee5f8b6f114af4350ab2c4a700ba51  gdb/testsuite/gdb.base/nodebug.c
-7fd98af8b37b821175af034d338114d9  gdb/testsuite/gdb.base/callfuncs.exp
+8b65f7bd0472fe5fbbf545e8866ec8bf  gdb/testsuite/gdb.base/callfuncs.exp
 4a7b46d1111c7938f6cf93efdf669d52  gdb/testsuite/gdb.base/shreloc.exp
 7145b4b7537e9c5f1664d41a788a48d2  gdb/testsuite/gdb.base/shell.exp
 340f5682bce97b37e8a246cca59adb67  gdb/testsuite/gdb.base/fileio.exp
@@ -2385,7 +2385,7 @@ db568b627957cc0d8ecc95308fc9f516  gdb/te
 a3385d93c3285485b610337ef8614dba  gdb/testsuite/gdb.base/pointers.exp
 8bc8209645da71588123cfd4d4092726  gdb/testsuite/gdb.base/solib-overlap-main.c
 6935acb0c5167bd10db1a46bd79398f8  gdb/testsuite/gdb.base/call-strs.c
-01449cf391067dfbcc64358895cd0233  gdb/testsuite/gdb.base/ena-dis-br.exp
+d4fb80f2899412f6dda37f7a5d6e65dc  gdb/testsuite/gdb.base/ena-dis-br.exp
 f4dc85cfffe93b233a3959961f10c806  gdb/testsuite/gdb.base/options.exp
 6f4e7b67bd850a776b60eef031e62f58  gdb/testsuite/gdb.base/many-headers.exp
 867ca411929548dd2a86ccdc8fc6ede2  gdb/testsuite/gdb.base/noreturn-finish.exp
@@ -2417,7 +2417,7 @@ e64ede1084f1cc9dd9ba3ee3b6d3d434  gdb/te
 2918d84bbfa57ab8dc3307734a8e3d8b  gdb/testsuite/gdb.base/branch-to-self.exp
 52591c1123dec14d9425dd031feecd91  gdb/testsuite/gdb.base/watch-bitfields.exp
 ecdda3f5d7ff21ff9bce5dd6277c41da  gdb/testsuite/gdb.base/bigcore.exp
-f6ab674adbbc30f5cae9e9986d782431  gdb/testsuite/gdb.base/dump.exp
+9de8395ad630e9cb5edfc10c0551f5a4  gdb/testsuite/gdb.base/dump.exp
 e132a0bda6a789c75e20e8d4eb4ebc02  gdb/testsuite/gdb.base/consecutive.c
 a3052bdecf7fb3ee6cefa063907f4db1  gdb/testsuite/gdb.base/jit-so.exp
 3347e4877239b7bc9e0f51f3c38de95d  gdb/testsuite/gdb.base/dfp-test.exp
@@ -2447,7 +2447,7 @@ f33d119dc9af931a02c94d829b92dab8  gdb/te
 682d2ab1e125d39cf1f944de129c3ca9  gdb/testsuite/gdb.base/duplicate-bp.c
 349ba1105ff647224dc330fbf9f9b4d9  gdb/testsuite/gdb.base/break-idempotent.exp
 2ecbcc59cc9b119bc859137c0c9bb9b5  gdb/testsuite/gdb.base/return-nodebug.exp
-fa0b2f4394f837310373a9544133138c  gdb/testsuite/gdb.base/list-missing-source.exp
+b69087be81440c3b65b2e519fe0c173c  gdb/testsuite/gdb.base/list-missing-source.exp
 844b8e82fc777c1369da8b32d99c0816  gdb/testsuite/gdb.base/start.exp
 e71a09a5bd4b5457c6f2ea1e4e5fa498  gdb/testsuite/gdb.base/nested-subp3.exp
 ec6a496413bcedc4623a7c643dae3848  gdb/testsuite/gdb.base/share-env-with-gdbserver.c
@@ -2615,7 +2615,7 @@ fc21f76b8fb88814a282109240870459  gdb/te
 b9ace2bad3fcabaae9ad3c687d2d13f2  gdb/testsuite/gdb.base/savedregs.exp
 829f3b30c2383dee5a32c45d64d496f3  gdb/testsuite/gdb.base/enumval.c
 d107f5705153d3695b752ab65edaf4e8  gdb/testsuite/gdb.base/symfile-warn.exp
-1c26f244b4fbb1938f831f148a9aab17  gdb/testsuite/gdb.base/charset.exp
+1f47bb467369ca4f95f786f615da24fd  gdb/testsuite/gdb.base/charset.exp
 ceb8ac439c59f81c6f81f0bb6599cd71  gdb/testsuite/gdb.base/printcmds.exp
 dbfcac0e69a636942e22be1a7504cddc  gdb/testsuite/gdb.base/sizeof.c
 493a25aacccfcbff65458ff401a2d8b9  gdb/testsuite/gdb.base/catch-fork-kill.c
@@ -2776,7 +2776,7 @@ d0f4fe7944d646e70ba4a4e3fba57ba5  gdb/te
 de9dde841dd85a02c06c9f1789c45918  gdb/testsuite/gdb.base/pie-execl.exp
 3b8a680d509fb73b5462705670761b8f  gdb/testsuite/gdb.base/opaque.exp
 9cdd410b56bafd4e69fb6909b5584714  gdb/testsuite/gdb.base/dup-sect.S
-debfee7162b63e0a283327cf115f280f  gdb/testsuite/gdb.base/info-types.exp
+04d6e02b90b4581c733dcd0c2e4a1d54  gdb/testsuite/gdb.base/info-types.exp
 a100278a6f498fdfa4a3a350efe61f4c  gdb/testsuite/gdb.base/lineinc.exp
 88c2035ee1097fd0f3b93c4dfddd0902  gdb/testsuite/gdb.base/starti.exp
 9455d79edb0f4b3fb98f844bb2f4fd28  gdb/testsuite/gdb.base/infcall-exec.exp
@@ -2825,7 +2825,7 @@ b16ff0853eb64e4f0b5ba0d90402a15b  gdb/te
 a109c2569f0819eb20315b1ac0731d94  gdb/testsuite/gdb.base/quit-live.exp
 4a7c6725c2e20b1f7dac6a8c5b8b0352  gdb/testsuite/gdb.base/pie-fork.exp
 04b047456aa9acc4d8210d295c44fd3f  gdb/testsuite/gdb.base/bt-selected-frame.exp
-0c9249236b6707e0c49816c53c0fea1a  gdb/testsuite/gdb.base/break-interp.exp
+b8dd02f425e4f8272248e56ee58a0243  gdb/testsuite/gdb.base/break-interp.exp
 aeab8a460a635f4e3fb75ad85d04fcbf  gdb/testsuite/gdb.base/signest.c
 2c1161e8975b70d938630d61a310fea6  gdb/testsuite/gdb.base/empty_exe.exp
 efa493258c420d8af555ab05e4c8006d  gdb/testsuite/gdb.base/catch-load.c
@@ -3037,7 +3037,7 @@ e5d8d784ad6704909d567be6f171a9bd  gdb/te
 c1033f51a1149d5e1323af64d54a3681  gdb/testsuite/gdb.base/fixsection.c
 8d48e2a975c8f01111876f61f56d03a3  gdb/testsuite/gdb.base/siginfo-thread.c
 b97a05502be3d818ca6bb1ad21628f3a  gdb/testsuite/gdb.base/paginate-after-ctrl-c-running.c
-e7576a5bae42891f0a51dcbcbc1e6733  gdb/testsuite/gdb.base/structs.exp
+8401d4bddcf0c90648943d576960ea87  gdb/testsuite/gdb.base/structs.exp
 e2d1889a1dd2a8a94d9317c1d7a9ecb1  gdb/testsuite/gdb.base/interrupt.c
 96e8f1f8fcf3c12dda0706c9f02f2081  gdb/testsuite/gdb.base/gnu-ifunc-final.c
 a9965d26e2bdf896ed423a830cfd94f2  gdb/testsuite/gdb.base/stack-checking.exp
@@ -3243,7 +3243,7 @@ aea4ca1d40c512f549b723fb8ae493fe  gdb/te
 d4a33e91674ee8f6c15a57688ed7fa63  gdb/testsuite/gdb.fortran/block-data.f
 0eb73bd75a8a908765c54df96b105793  gdb/testsuite/gdb.fortran/vla-type.f90
 349c7f9dc0c19d0a2315a2283dde7dbb  gdb/testsuite/gdb.fortran/vla-value-sub-arbitrary.exp
-cffbe877c052e60b90dd03b2ca40d7f5  gdb/testsuite/gdb.fortran/nested-funcs.f90
+5be2b4343af7f054fdc09f5a9633f16f  gdb/testsuite/gdb.fortran/nested-funcs.f90
 7fd76fd4c31892532f77a5bcfd507f7f  gdb/testsuite/gdb.fortran/array-bounds.f90
 87efbe3b4938c162e596e59b81e2503e  gdb/testsuite/gdb.fortran/derived-type.f90
 329a8ba845512ec868e9e0c3de3e51d4  gdb/testsuite/gdb.fortran/ptr-indentation.f90
@@ -3267,6 +3267,7 @@ b5c48b320404fe67a6eb43f2b2a55a39  gdb/te
 966dd8d569abfe0e8c1a8a13dc4f8646  gdb/testsuite/gdb.fortran/block-data.exp
 eb1b11af62b865da0e1131c5c418b8e5  gdb/testsuite/gdb.fortran/print-formatted.f90
 8061d9e6f99f63e2360bc8321b37f303  gdb/testsuite/gdb.fortran/library-module.exp
+1dda002ac9e1f2fd5a2c912530bd5ef3  gdb/testsuite/gdb.fortran/nested-funcs-2.exp
 5b4488b46dee8efd670abfdebe93e15d  gdb/testsuite/gdb.fortran/array-element.exp
 fc16b1ac8ba71a42eafdc86f00292cc5  gdb/testsuite/gdb.fortran/module.exp
 f32822ae2e82c1688668c8450fb544d8  gdb/testsuite/gdb.fortran/vla-history.exp
@@ -3288,13 +3289,14 @@ a49e8209cc5e2ee4d9e323004d29531d  gdb/te
 39bb8c8add5476e3ca38f5ee219ddb68  gdb/testsuite/gdb.fortran/common-block.f90
 894cd1c42cc4491dc48b6d6928e8575b  gdb/testsuite/gdb.fortran/exprs.exp
 3e3fb892bb16319e3e80ed39e81a01d2  gdb/testsuite/gdb.fortran/vla-ptype.exp
+8287b34a073eb0050f2da89e82baf1d2  gdb/testsuite/gdb.fortran/nested-funcs-2.f90
 088fc01d2a072fb3d78fcc1e90e52c9f  gdb/testsuite/gdb.fortran/vla-ptr-info.exp
 81112d97fd08cc4836f56e35814a15a9  gdb/testsuite/gdb.fortran/type-kinds.exp
 7bd63ea304ad437c9a8d0a223b91d057  gdb/testsuite/gdb.fortran/multi-dim.exp
 66046bb37d7298553b200ae7577d63b8  gdb/testsuite/gdb.fortran/array-bounds.exp
 9e7e114c093d30d1affc3c20d1d25b7f  gdb/testsuite/gdb.fortran/logical.exp
 8cd7bb4d2ca1586f84d81d5926f7e3f4  gdb/testsuite/gdb.fortran/intrinsics.f90
-6033caaefee9dca5131bb96e0a6d2375  gdb/testsuite/gdb.fortran/nested-funcs.exp
+f4f43b29f917c25a6c9ea5fcc2a376dc  gdb/testsuite/gdb.fortran/nested-funcs.exp
 b8fd51c608bff4b3c1b2180ee1de0ac3  gdb/testsuite/gdb.fortran/intrinsics.exp
 27a94c914021629b022d2f0b280fc369  gdb/testsuite/gdb.fortran/type.f90
 4438989f83a23024994623ff041bdae9  gdb/testsuite/gdb.fortran/vla-value-sub-finish.exp
@@ -3675,11 +3677,11 @@ f3d5bbaa803540a2d5c19000407c7e11  gdb/te
 1fe39382eafa6971c8467f3d331fb7b4  gdb/testsuite/gdb.reverse/next-reverse-bkpt-over-sr.exp
 6dcd0cc3c92dc6ab3b20941fb47faa9a  gdb/testsuite/gdb.reverse/singlejmp-reverse-nodebug.c
 2e0f6d9824a511a9d7a49c691feba4fc  gdb/testsuite/gdb.reverse/break-reverse.c
-ff66174c90bf84eb3035e430c0c2224e  gdb/testsuite/gdb.reverse/sigall-precsave.exp
-25cf805300d1b34802e2e1ed6b41ef9d  gdb/testsuite/gdb.reverse/machinestate-precsave.exp
+980f38d9bc8be5e564b98d4f0ca63b9c  gdb/testsuite/gdb.reverse/sigall-precsave.exp
+3c77a248b741e1b0a4d1a9e1e2aa3f23  gdb/testsuite/gdb.reverse/machinestate-precsave.exp
 2befcef667bf8a487bad0bc9168f5e74  gdb/testsuite/gdb.reverse/i387-env-reverse.exp
 440c35b8bfee3d175d706fc67a337e43  gdb/testsuite/gdb.reverse/waitpid-reverse.exp
-a78fcb1d2c613b48feb76be965c2a7f6  gdb/testsuite/gdb.reverse/break-precsave.exp
+742b63240e14e22daa7e4178e62a8e0c  gdb/testsuite/gdb.reverse/break-precsave.exp
 2d90279530af889a559fc159a7e812ee  gdb/testsuite/gdb.reverse/getresuid-reverse.exp
 3629508292ba345c68dcc7d29802cc9a  gdb/testsuite/gdb.reverse/solib-reverse.exp
 66081d5a8ca53ffce2f02f5ba94afc17  gdb/testsuite/gdb.reverse/shr.h
@@ -3689,11 +3691,11 @@ b4d81322a5026f4a974944a279848f84  gdb/te
 5d97e73f5aca4b205bfe90b6a0259359  gdb/testsuite/gdb.reverse/until-reverse.c
 c1e37f820f9c04d4038ca23c6c31b691  gdb/testsuite/gdb.reverse/watch-reverse.c
 8120118298cdf9bc80f07eff8ed5b411  gdb/testsuite/gdb.reverse/time-reverse.exp
-09f085234a2f4ebb1fd0ec2f5b280c75  gdb/testsuite/gdb.reverse/machinestate.exp
+8d8965bfe8d136f774c0e300f1f491aa  gdb/testsuite/gdb.reverse/machinestate.exp
 4b5e24bf452d8c7dee27e3131d4d244e  gdb/testsuite/gdb.reverse/finish-reverse-bkpt.exp
 0f69f63db5f86daf6c6bf690e5f8f4a9  gdb/testsuite/gdb.reverse/step-reverse.exp
 fda5852b46809d6db2888a609edf8a1e  gdb/testsuite/gdb.reverse/pipe-reverse.exp
-6297cd576dc7fc3ac7860d99beda6a78  gdb/testsuite/gdb.reverse/finish-precsave.exp
+d4644d662f1eecdbd81eb1794b7d9e7a  gdb/testsuite/gdb.reverse/finish-precsave.exp
 d34ebfd4dc2afbc16af474cd877ec078  gdb/testsuite/gdb.reverse/i386-sse-reverse.c
 515f0a43669dda9765482cbba93c62b2  gdb/testsuite/gdb.reverse/i386-reverse.exp
 d5f8a4d67b1e771b51e6729cc0e5a34c  gdb/testsuite/gdb.reverse/finish-reverse.c
@@ -3703,34 +3705,34 @@ fffee51e76123a658dd719ebf222799f  gdb/te
 3324e2bb106a9b9279ac3127170de20b  gdb/testsuite/gdb.reverse/i387-env-reverse.c
 26ec9b152cb8d6309d9898f3a11d74a0  gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.c
 6561ef388116f7c3d2626ba2651da89e  gdb/testsuite/gdb.reverse/consecutive-precsave.exp
-1644967c184e876bcf0eb926d14db32a  gdb/testsuite/gdb.reverse/watch-precsave.exp
+da022f00c2b6adedf8162fba23c855b0  gdb/testsuite/gdb.reverse/watch-precsave.exp
 a76cc9872172eac8f6926ad0d78866e0  gdb/testsuite/gdb.reverse/ms1.c
 dd578e3bdd6518ffc67afe4e1ade2d26  gdb/testsuite/gdb.reverse/waitpid-reverse.c
 e9c59f3349caa66575c3ddb2e4f7b6ca  gdb/testsuite/gdb.reverse/i386-reverse.c
 6ad571b84c82d3fa19fdd14fb58131cd  gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.S
-bd2a632a80ac39c8a304585f00abdb65  gdb/testsuite/gdb.reverse/step-indirect-call-thunk.exp
+4cb1089c325ce3d473e3cb3f20f09300  gdb/testsuite/gdb.reverse/step-indirect-call-thunk.exp
 45ee008407bf492057bcef34850adf2e  gdb/testsuite/gdb.reverse/i387-stack-reverse.exp
 c3b00aaa89d04ebd2dc6712c5859d1b7  gdb/testsuite/gdb.reverse/pipe-reverse.c
 5e493ee979b2e6b70dbd67b39b075496  gdb/testsuite/gdb.reverse/step-precsave.exp
-8e4acc79a2b498f59285c3a2e51f8391  gdb/testsuite/gdb.reverse/break-reverse.exp
+e4a6468a9e88e789bb301cc1fc359cbb  gdb/testsuite/gdb.reverse/break-reverse.exp
 2bfece1a68d28b8e2461b5c981cfd162  gdb/testsuite/gdb.reverse/rerun-prec.exp
 c6821d73a4e35015a187bae037e5970e  gdb/testsuite/gdb.reverse/fstatat-reverse.exp
 c4fb5bfb379c44093bf1885ac3c2b5cd  gdb/testsuite/gdb.reverse/singlejmp-reverse.exp
 ffbef4cfeede8b87606dc0c950bdd0d4  gdb/testsuite/gdb.reverse/consecutive-reverse.c
 904e18982a30c658be5fa47725326344  gdb/testsuite/gdb.reverse/i386-precsave.exp
-101e0012b8aa710c7d2d9efcd13fc80e  gdb/testsuite/gdb.reverse/finish-reverse.exp
+87de7a8195747c84354b2c5cc5e80923  gdb/testsuite/gdb.reverse/finish-reverse.exp
 8ecdc6a9e46a9f5fd4d31fb86edd0237  gdb/testsuite/gdb.reverse/insn-reverse.c
 bf4450b957211dcbf2d3588c0b486da1  gdb/testsuite/gdb.reverse/insn-reverse-x86.c
 91f1d48f2d89dc54a532c8b5bd2caf0d  gdb/testsuite/gdb.reverse/shr1.c
 3f3295147c4369bd5452816f24e5090d  gdb/testsuite/gdb.reverse/insn-reverse-aarch64.c
-3ace3206950ce7880683e305e36242c0  gdb/testsuite/gdb.reverse/sigall-reverse.exp
+0e24c389f9de38022821c6e520a73eee  gdb/testsuite/gdb.reverse/sigall-reverse.exp
 371a65183dc662e41f3ace7a03fb269d  gdb/testsuite/gdb.reverse/recvmsg-reverse.c
-72a81b8ce75b089c22f5b9d89c386970  gdb/testsuite/gdb.reverse/watch-reverse.exp
+f2f6c5e9ab14d8a9489d4da6b7325c91  gdb/testsuite/gdb.reverse/watch-reverse.exp
 be304891f79d409b930648db0ac09d58  gdb/testsuite/gdb.reverse/ur1.c
-c57c14d19a67a5d659a4d9b7b4f4cb9e  gdb/testsuite/gdb.reverse/recvmsg-reverse.exp
+95f4d072647335ec5ab3d1eebb7f8974  gdb/testsuite/gdb.reverse/recvmsg-reverse.exp
 9ffb5811f8beb114a2d5afa1a0b9cb7e  gdb/testsuite/gdb.reverse/step-reverse.c
 e041d9075f633058b46e5465a8b8438c  gdb/testsuite/gdb.reverse/shr2.c
-d60013c077117949dcf9b814f72bd1cc  gdb/testsuite/gdb.reverse/readv-reverse.exp
+372b9955d4e8734c8e54b5ae28904cfe  gdb/testsuite/gdb.reverse/readv-reverse.exp
 4b47c3ef736bb23dd2baed0f8a84f340  gdb/testsuite/gdb.reverse/s390-mvcle.c
 eacbef71e850954eee9281e2cd13dcdb  gdb/testsuite/gdb.reverse/solib-precsave.exp
 7287898ff83b2ad3153f6f7dcdea751e  gdb/testsuite/gdb.reverse/i387-stack-reverse.c
@@ -4083,11 +4085,11 @@ aa47bdd6faacf6f10a56db6d37cec392  gdb/te
 75565aa716f5d584b5df6cbe8967bb60  gdb/testsuite/gdb.linespec/cpls-abi-tag.exp
 d01fe51f6de7b2c746ce40fb0e447cfd  gdb/testsuite/gdb.linespec/thread.c
 b3223223f49dcbf9060028a2e0d275e9  gdb/testsuite/gdb.linespec/linespec.exp
-bb46a41f223b85850541e441cab395f7  gdb/testsuite/gdb.linespec/ls-errs.exp
+80b36d16798c08d09d5c4d4b411edc37  gdb/testsuite/gdb.linespec/ls-errs.exp
 aa70048ab8248000850dbc08fce6c95d  gdb/testsuite/gdb.linespec/break-asm-file.exp
 90ce2c915fd58b029800d682c7615c15  gdb/testsuite/gdb.linespec/break-asm-file1.s
 b74e5ecda791e030b4b51cd4e6b087a2  gdb/testsuite/gdb.linespec/macro-relative.exp
-bdc56db224d93d902a4f10c1b84633e5  gdb/testsuite/gdb.linespec/explicit.exp
+ac3c142d02b76086aefcfd9a9b45c81d  gdb/testsuite/gdb.linespec/explicit.exp
 ca5527bb52cc86f6ce981d6c6b06db11  gdb/testsuite/gdb.linespec/break-asm-file.c
 ad1ce88914607170cb9fb2f19d6068b8  gdb/testsuite/gdb.linespec/3explicit.c
 6305fa2293a9842e4f9c0a079d074217  gdb/testsuite/gdb.linespec/explicit.c
@@ -4300,6 +4302,7 @@ ec735ba9495e7aba73aac5888b2b12e7  gdb/te
 cd1668ced544861eb99b2e5c44e2e3a0  gdb/testsuite/gdb.threads/thread_events.exp
 8d83f834e57b1fb4a92faac9b65ce196  gdb/testsuite/gdb.threads/watchpoint-fork-mt.c
 8132b6ad229ef7e797e663b75fc5d002  gdb/testsuite/gdb.threads/hand-call-in-threads.c
+ed5edfa8fe2ed576c4a01fe7a85efb3a  gdb/testsuite/gdb.threads/stop-with-handle.exp
 c3c311d2fd6d56897b6ac6f0380a0146  gdb/testsuite/gdb.threads/watchpoint-fork.h
 ef9b7f83413c33594484b03b9a089e71  gdb/testsuite/gdb.threads/step-over-lands-on-breakpoint.c
 a6e2141a547a89c06e48889f13b4cc45  gdb/testsuite/gdb.threads/thread_check.c
@@ -4355,6 +4358,7 @@ b760b9cb959f2a3805bfd05522bbad50  gdb/te
 2772957d6bf8c35883fd5637e8fe1f42  gdb/testsuite/gdb.threads/print-threads.exp
 761d0e3aeb60961bc5cda51e2402f74a  gdb/testsuite/gdb.threads/process-dies-while-handling-bp.exp
 f0c7972524767747d4079bc1a2f9d0f1  gdb/testsuite/gdb.threads/multiple-step-overs.c
+0f15bc73943ad0f1b0e1c04af34607e0  gdb/testsuite/gdb.threads/stop-with-handle.c
 708c8b4a71f404245ed70212f3f0114c  gdb/testsuite/gdb.threads/process-dies-while-handling-bp.c
 46f429c76db738fc8a4a9de9534d220e  gdb/testsuite/gdb.threads/signal-command-handle-nopass.c
 3955de857e18263cdaff2fab40e147b4  gdb/testsuite/gdb.threads/next-bp-other-thread.exp
@@ -4418,7 +4422,7 @@ a73456a413ec206c45a1c05bede47b75  gdb/te
 3ae360ac3827f64fb894dcbec57961b3  gdb/testsuite/gdb.go/max-depth.go
 68d17058fa82304a192749f0eadc138d  gdb/testsuite/gdb.go/strings.go
 81b7ed6cb92c627d245bd2efc4b953b9  gdb/testsuite/gdb.go/methods.go
-969524e5edbad0406d56ccecee32b465  gdb/testsuite/ChangeLog
+1003d9ca2db5f7a39996dab9c1caf012  gdb/testsuite/ChangeLog
 b3f11b21e5921c419a43f93720dedf85  gdb/testsuite/gdb.asm/empty.inc
 2f2be836393e53a114f382c2872fd5fc  gdb/testsuite/gdb.asm/asm-source.exp
 f1621bbbb2acbec5adef86d7d9549975  gdb/testsuite/gdb.asm/bfin.inc
@@ -5247,44 +5251,44 @@ eba97cdaede1d4e4e020cbbf33277553  gdb/sy
 1f67f85f1c1012b8cf9bd3d998933b74  gdb/f-valprint.c
 b4661232e1c651351e7aab789eebdb61  gdb/gdb_curses.h
 8108dd8f906f2654fecc74958cf383db  gdb/doc/psrc.sed
-bf6b4c9b0eafefbd99e5617b2df01fed  gdb/doc/gdb.info-3
-896bca9d363f7caa310ba8a5957c3ca3  gdb/doc/gdb.info-4
+26feda779ecef607f450d4b9d0fc9bf9  gdb/doc/gdb.info-3
+eb5a113a79ced47a87ddc67d8e8ee303  gdb/doc/gdb.info-4
 ab0fe311032294b952da80585b8b90e7  gdb/doc/fdl.texi
 16678295b5adc8b919f4a12d3ed4dbb5  gdb/doc/Makefile.in
-97c96f36bf22629661ac37273a3875e1  gdb/doc/gdb.info-7
-782145972eb333d6b2ccb907ab703982  gdb/doc/gdbserver.1
+5c9aee72042e3584b73ae2961fd6c093  gdb/doc/gdb.info-7
+566ddf0520ec24f1cf6f7a846667ce2a  gdb/doc/gdbserver.1
 409e53fb962f88c74cea98080d0da8a3  gdb/doc/guile.texi
 f81a0e00e0cb9e41b078069fb9bedb07  gdb/doc/stack_frame.txt
 a07e6b7f88c558d15d03adeeaca94c74  gdb/doc/stabs.info
-670d3b5b966557567017a065833d59f5  gdb/doc/gdb.info-5
-0d1d5db3bc38353867d31ddf32bb2a90  gdb/doc/gdb.info-8
+dcf21d257d0c8fa1c5dc061d0d37ede3  gdb/doc/gdb.info-5
+49b26c3fcb051efb2bb27bfc64f11d6d  gdb/doc/gdb.info-8
 9137c9e47e1692b8efec8e28482aa6fb  gdb/doc/agentexpr.texi
 66674dc351ba95941f422dc18cae24bb  gdb/doc/.gitignore
-e2da58f6a658ceb401eed7b99aedf4c4  gdb/doc/gdb.info-1
+1b44a03892350b5059c955f5e48045ce  gdb/doc/gdb.info-1
 d5d06eaf9b4d44aa442a4a281aa9aea4  gdb/doc/a4rc.sed
-f731dcaea047a5118e306865fd820903  gdb/doc/gdb.info-6
-1a735d7dc4174526e0d95822927d6d59  gdb/doc/gdb.texinfo
-80ab94429bebf111cda14e2ac196983b  gdb/doc/gdb-add-index.1
+8982641b45cd6953dc8a226dc754a6fe  gdb/doc/gdb.info-6
+ccbab6960fe8eb458945a0fe9ac4e5b4  gdb/doc/gdb.texinfo
+d859b3ea39bc5e82196e215818a7df46  gdb/doc/gdb-add-index.1
 553b7fe1bf4b5d8b96fdb8cd83503de1  gdb/doc/stack_frame.svg
 04c82b1da7e894a6555868e4f86225af  gdb/doc/filter-for-doxygen
 5a0374965ab816741c91c7eaea412912  gdb/doc/Doxyfile-gdb-api.in
 e41a962402414f62e2f16a22a2783703  gdb/doc/annotate.info
-79d5bf7f0ba230db977ac2a4a2381c42  gdb/doc/gdb.info-2
+eb6aa0f6555426c77d5bc4f1851045cb  gdb/doc/gdb.info-2
 fdd79e6125e56c1eb7e28b2a71d5b48e  gdb/doc/refcard.tex
 6076d300a46651562d4ecd0604442414  gdb/doc/stack_frame.png
-88cb2333aec38e816ee02d9de06e0a1f  gdb/doc/gdb.info
+7be881af671a7f6cbaf9d7ac437be82c  gdb/doc/gdb.info
 f5ef40cd45a167ae864b19c4595c4686  gdb/doc/python.texi
 3b39212c16d58cf203006a2a3c3edcd4  gdb/doc/stabs.texinfo
-a4115d85124971de11b66a14a816b653  gdb/doc/ChangeLog
-6ab2fc9af4a8554fb671265b091b5223  gdb/doc/gdb.1
-b097e77a9f714d97c972229c20cf18db  gdb/doc/gcore.1
+8c079e4895ab16982a2e629d64596666  gdb/doc/ChangeLog
+956c8ae72b8e83a0babcc9a7c2c63572  gdb/doc/gdb.1
+ed4d9b0e0ee1a52e507e7a6fd10dfc75  gdb/doc/gcore.1
 d39233c86ed6a6dc9e853ae6a11fe03e  gdb/doc/stack_frame.pdf
 cb7ea97486937341d6ae27968ee40d23  gdb/doc/Doxyfile-base.in
 29393ec87c7921291f54ee7b57ccb1d9  gdb/doc/all-cfg.texi
 bf96494e6e4d346175babd5ef9781882  gdb/doc/gpl.texi
 cd5e3faa9bd1b684a73c7d527cdb4988  gdb/doc/filter-params.pl
 7bfdb0765c5d050d204fbb30aeeba0d8  gdb/doc/stack_frame.eps
-880917d077401285676f08305ed3e952  gdb/doc/gdbinit.5
+24f7d403ec68bf62a3e4e4c13e8041c5  gdb/doc/gdbinit.5
 24d4f8b6396da16d9a8dd98281ac40ff  gdb/doc/Doxyfile-gdb-xref.in
 6f3b23a5f42aba8cbac1bcf7329942e4  gdb/doc/annotate.texinfo
 0b3e26fe6db92700f1e51071ff475193  gdb/doc/doxy-index.in
@@ -5795,7 +5799,7 @@ adc0b8c9ed245cc83198b0c7eb183127  gdb/ui
 7242736b5bba9098c974d0e015b167a5  gdb/std-regs.c
 90d72be4c884a79ded08fa4fbbcb6b9b  gdb/go-lang.h
 9a1fd6216061720bf8556e23cf224721  gdb/i386-windows-nat.c
-b5afc20234417a61b2824f7208018be9  gdb/po/gdb.pot
+0a236bd211e7bfca02933c8021f615ff  gdb/po/gdb.pot
 1851bff0653201a488dcae18dde7efad  gdb/po/gdbtext
 7da5f0db2eb697d3fb85524954abaef5  gdb/break-catch-syscall.c
 28dc5ce78b0d1cdd1769ac6482e74286  gdb/ada-lang.c
@@ -5827,7 +5831,7 @@ e3e2430aebaf80b6aca6759cfa9612d4  gdb/nb
 0d4182edc7beb626c56d423668383a2b  gdb/i386-fbsd-nat.c
 094e893d632874e14e92917b8c57c5fd  gdb/mipsread.c
 d4e47464ef8b510c11c547fb163d603a  gdb/amd64-darwin-tdep.c
-d9882fa466be36ec15188d83bb3eee44  gdb/ChangeLog
+683c512c7cd87047f76fa5d5162614de  gdb/ChangeLog
 2fd8f81fb260df7b31ffaaaa44e1d4b9  gdb/go-typeprint.c
 72844164dd4f7823c2ad86ed48f0b44a  gdb/score-tdep.c
 d53f4e4aa4335ee525083954f4c2293b  gdb/xml-support.h
@@ -5853,7 +5857,7 @@ a685f4c46fd956888d41d71abbc9a0cc  gdb/hp
 410f8ea4e580e26c93b006a69dc79435  gdb/proc-service.list
 232d4608389ab06ecb9d8eb50dc130b7  gdb/gdb-stabs.h
 dcc09de945cf86f1c77e306e5bf5c1ea  gdb/p-exp.c
-fb221984642e12974b3cc5667d58bc9d  gdb/btrace.c
+725cfe2b30fadb81b10d9866a0032b6e  gdb/btrace.c
 0c1bb8b0d2e1453631b78d1d4ba2fa6e  gdb/m68k-tdep.c
 db8c213d18497a0e6a812b0d162b1a8a  gdb/coffread.c
 3629f4a01bae6eb86b9eacda4a317361  gdb/findcmd.c
@@ -6195,7 +6199,7 @@ d54dab3401ff05ddaa799b4e58843913  gdb/ma
 2b3c57e308e207c12b1159656d0f7cb4  gdb/m68k-linux-nat.c
 be7b69d04d3312d5b6820502e5e55d7f  gdb/arm-nbsd-tdep.c
 c04d9e5e211d2865a07560d241ba52d2  gdb/rust-exp.y
-aef598e437e02519a3965db861556348  gdb/linux-nat.c
+3412ded3f3153468e0ec7081d0755755  gdb/linux-nat.c
 a589b8fa2d251d722fc439789006dbf3  gdb/producer.h
 473f33ba921545be6c0c70ad25c103f4  gdb/nds32-tdep.h
 f2a08a5058f2f62a08f8e61839b7ac80  gdb/sh-tdep.h
@@ -6319,7 +6323,7 @@ f8dae424d0493add4a0aea80eef7f1bb  gdb/gd
 c6552e03bdc3ef72ac43e8168617136d  gdb/gdbsupport/version.h
 360510f69fff61631c4c48a3659f6875  gdb/gdbsupport/refcounted-object.h
 96a51cac7bef7bb0e91ba4bd61817321  gdb/gdbsupport/common-exceptions.c
-9d05132b03408f8fc6debd0515ce5ccf  gdb/gdbsupport/btrace-common.c
+f9be875411682aba8ed88f0ca0597bb9  gdb/gdbsupport/btrace-common.c
 79f5e95787248c570a86a7f6a9505847  gdb/gdbsupport/gdb_wait.h
 94780ef1d7d7bceaef3620405a09330a  gdb/gdbsupport/cleanups.c
 8e7b2cdcb73863017317e0aa5bdfaf1a  gdb/gdbsupport/function-view.h
@@ -6378,7 +6382,7 @@ ff200282480b9cd49492ff4c2fc91a34  gdb/gd
 26976478015d2fc22ae85a7f93d6aad2  gdb/gdbsupport/pathstuff.h
 3ddf304a7d731b166cde2ebda665473c  gdb/gdbsupport/default-init-alloc.h
 80cf5d2dc3e037ec721a4e2d6901b98d  gdb/gdbsupport/new-op.c
-1d31003d936cea9ecb9c134f41ad1098  gdb/gdbsupport/btrace-common.h
+19c73edc63f84cb4bbbc0c25ed23d27f  gdb/gdbsupport/btrace-common.h
 11892868404e4f5a0a4780e2a3c16e92  gdb/gdbsupport/gdb_signals.h
 6ded252b05d007fc0839e66e26ece33c  gdb/gdbsupport/gdb_ref_ptr.h
 f2358e2c78b01401dcca389db17f2fa2  gdb/gdbsupport/pathstuff.c
@@ -6918,7 +6922,7 @@ a8cc89ec2010ea9b41758d16b891cb1c  includ
 8617c5fc949175d0aaee0993c55a8de3  include/fopen-bin.h
 d947ad669709a730d3f627ed1932bf51  include/gcc-c-interface.h
 e44328bd57b66d8911813206c5463153  include/leb128.h
-9a28470a7e350c802788e21077f46bc3  include/ctf.h
+7f9fcc517ea3ab1c28623514c37a0279  include/ctf.h
 db564fde8994756b41a82b425e5baba4  include/opcode/hppa.h
 90360e0a6e1eebfb8c71521c2bda3264  include/opcode/mmix.h
 a34ebcadd9ebde14cd94a465c4d69c44  include/opcode/cris.h
@@ -7061,7 +7065,7 @@ ac5c6fe8de400c9792753b5db5b255d5  includ
 ae5154ba0c6bf41452c1e4e3938fde52  include/gdb/callback.h
 d3976907c9252ef4d60b9ac80987eafc  include/hashtab.h
 8673aa12a3493cb537f1220aa799b950  include/gcc-interface.h
-a128f86009d5c9ed1476af87cda6d72c  include/ChangeLog
+44f3ab69dc10309a3c515fb97c08cca9  include/ChangeLog
 88586319cd45959f54a1776d5d769a05  include/dis-asm.h
 2e19107e7906229570c084b790923d48  include/splay-tree.h
 352ce75976e0a5970298d574ffdf743e  include/filenames.h
@@ -7069,7 +7073,7 @@ a52df8b7759338542cfe73e56e69de97  includ
 59530bdf33659b29e73d4adb9f9f6552  include/COPYING
 26291ebb362b400e2ada6f03d9a7dde1  include/xtensa-isa.h
 73d0924b3262c7d67522ec24dc3f1596  include/ChangeLog-2018
-776512ff90f3e4e59db3230bcfb901bf  include/ctf-api.h
+4594b4ceab79b830168f1594b24fbe34  include/ctf-api.h
 a0a94966639af672525c11c3938fa7d7  include/som/internal.h
 7c5255154d5761541c7bf4f94160ccb3  include/som/reloc.h
 c8de48c3d7a8de69489757d4a947bb9e  include/som/ChangeLog-1015
@@ -7183,7 +7187,7 @@ b69b57e5b98d9f30a80c6e9739539b30  includ
 75d1ff50f74ca90cf99a952ee5a6cc0d  include/diagnostics.h
 16a43b00f972676ab7aed849e6921845  include/bout.h
 df72d70431e61fbed5436c090ca7d172  include/demangle.h
-a4dcb67adf7dd119b596a2eebac1ffb7  include/bfdlink.h
+d121d98d9dcc3c763a8769db530dd937  include/bfdlink.h
 def665a8553c0865c88d58a554d87473  include/xregex2.h
 361482dd6b5b5eb7090fff3986fba68a  install-sh
 12ff40e8c89d99dc7b704bac9434124a  intl/plural-exp.c
@@ -7467,8 +7471,8 @@ dee72a6a60e99528b0d17bf3ff9a1e15  ltopti
 bc2f6032c98896249eadb56177c7d357  ltsugar.m4
 c30cd33c496505f13d9fbdb6970c7c33  ltversion.m4
 ff222fca62b56d74a5bc12b9c948fea7  MAINTAINERS
-1b0ed4c105504df945792c2dbaa90872  Makefile.def
-4d5cb76aaa2c8b3194ca0fa02a70578e  Makefile.in
+b378f6e7518ec5c9decca58709de75ac  Makefile.def
+2e464a1e725b541add613f0e9b675273  Makefile.in
 300245558cb72436b3dccc48328e3d14  Makefile.tpl
 5f2a276ee7b8decec541391229d03591  missing
 fbe2467afef81c41c166173adeb0ee20  mkdep
