diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/bfd/version.h ./bfd/version.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/bfd/version.h	2019-12-06 01:49:57.000000000 +0000
+++ ./bfd/version.h	2019-12-07 01:49:40.000000000 +0000
@@ -16,7 +16,7 @@
 
    In releases, the date is not included in either version strings or
    sonames.  */
-#define BFD_VERSION_DATE 20191206
+#define BFD_VERSION_DATE 20191207
 #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-9.0.50.20191206/djunpack.bat ./djunpack.bat
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/djunpack.bat	2019-12-06 01:54:29.000000000 +0000
+++ ./djunpack.bat	2019-12-07 01:53:41.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-9.0.50.20191206
-if "%GDBVER%"=="$package-9.0.50.20191206" GoTo EnvOk
+set GDBVER=$package-9.0.50.20191207
+if "%GDBVER%"=="$package-9.0.50.20191207" 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-9.0.50.20191206/gdb/bcache.c ./gdb/bcache.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/bcache.c	2019-12-06 01:49:59.000000000 +0000
+++ ./gdb/bcache.c	2019-12-07 01:49:42.000000000 +0000
@@ -25,6 +25,8 @@
 
 #include <algorithm>
 
+namespace gdb {
+
 /* The type used to hold a single bcache string.  The user data is
    stored in d.data.  Since it can be any type, it needs to have the
    same alignment as the most strict alignment of any type on the host
@@ -378,3 +380,5 @@ bcache::memory_used ()
     return 0;
   return obstack_memory_used (&m_cache);
 }
+
+} /* namespace gdb */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/bcache.h ./gdb/bcache.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/bcache.h	2019-12-06 01:49:59.000000000 +0000
+++ ./gdb/bcache.h	2019-12-07 01:49:42.000000000 +0000
@@ -136,6 +136,8 @@
   
 */
 
+namespace gdb {
+
 struct bstring;
 
 struct bcache
@@ -222,4 +224,6 @@ private:
   void expand_hash_table ();
 };
 
+} /* namespace gdb */
+
 #endif /* BCACHE_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/block.c ./gdb/block.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/block.c	2019-12-06 01:49:59.000000000 +0000
+++ ./gdb/block.c	2019-12-07 01:49:42.000000000 +0000
@@ -657,6 +657,43 @@ block_iter_match_next (const lookup_name
   return block_iter_match_step (iterator, name, 0);
 }
 
+/* Return true if symbol A is the best match possible for DOMAIN.  */
+
+static bool
+best_symbol (struct symbol *a, const domain_enum domain)
+{
+  return (SYMBOL_DOMAIN (a) == domain
+	  && SYMBOL_CLASS (a) != LOC_UNRESOLVED);
+}
+
+/* Return symbol B if it is a better match than symbol A for DOMAIN.
+   Otherwise return A.  */
+
+static struct symbol *
+better_symbol (struct symbol *a, struct symbol *b, const domain_enum domain)
+{
+  if (a == NULL)
+    return b;
+  if (b == NULL)
+    return a;
+
+  if (SYMBOL_DOMAIN (a) == domain
+      && SYMBOL_DOMAIN (b) != domain)
+    return a;
+  if (SYMBOL_DOMAIN (b) == domain
+      && SYMBOL_DOMAIN (a) != domain)
+    return b;
+
+  if (SYMBOL_CLASS (a) != LOC_UNRESOLVED
+      && SYMBOL_CLASS (b) == LOC_UNRESOLVED)
+    return a;
+  if (SYMBOL_CLASS (b) != LOC_UNRESOLVED
+      && SYMBOL_CLASS (a) == LOC_UNRESOLVED)
+    return b;
+
+  return a;
+}
+
 /* See block.h.
 
    Note that if NAME is the demangled form of a C++ symbol, we will fail
@@ -684,7 +721,9 @@ block_lookup_symbol (const struct block 
 
       ALL_BLOCK_SYMBOLS_WITH_NAME (block, lookup_name, iter, sym)
 	{
-	  if (SYMBOL_DOMAIN (sym) == domain)
+	  /* See comment related to PR gcc/debug/91507 in
+	     block_lookup_symbol_primary.  */
+	  if (best_symbol (sym, domain))
 	    return sym;
 	  /* This is a bit of a hack, but symbol_matches_domain might ignore
 	     STRUCT vs VAR domain symbols.  So if a matching symbol is found,
@@ -692,7 +731,7 @@ block_lookup_symbol (const struct block 
 	     exactly the same domain.  PR 16253.  */
 	  if (symbol_matches_domain (SYMBOL_LANGUAGE (sym),
 				     SYMBOL_DOMAIN (sym), domain))
-	    other = sym;
+	    other = better_symbol (other, sym, domain);
 	}
       return other;
     }
@@ -746,7 +785,34 @@ block_lookup_symbol_primary (const struc
        sym != NULL;
        sym = mdict_iter_match_next (lookup_name, &mdict_iter))
     {
-      if (SYMBOL_DOMAIN (sym) == domain)
+      /* With the fix for PR gcc/debug/91507, we get for:
+	 ...
+	 extern char *zzz[];
+	 char *zzz[ ] = {
+	   "abc",
+	   "cde"
+	 };
+	 ...
+	 DWARF which will result in two entries in the symbol table, a decl
+	 with type char *[] and a def with type char *[2].
+
+	 If we return the decl here, we don't get the value of zzz:
+	 ...
+	 $ gdb a.spec.out -batch -ex "p zzz"
+	 $1 = 0x601030 <zzz>
+	 ...
+	 because we're returning the symbol without location information, and
+	 because the fallback that uses the address from the minimal symbols
+	 doesn't work either because the type of the decl does not specify a
+	 size.
+
+	 To fix this, we prefer def over decl in best_symbol and
+	 better_symbol.
+
+	 In absence of the gcc fix, both def and decl have type char *[], so
+	 the only option to make this work is improve the fallback to use the
+	 size of the minimal symbol.  Filed as PR exp/24989.  */
+      if (best_symbol (sym, domain))
 	return sym;
 
       /* This is a bit of a hack, but symbol_matches_domain might ignore
@@ -755,7 +821,7 @@ block_lookup_symbol_primary (const struc
 	 exactly the same domain.  PR 16253.  */
       if (symbol_matches_domain (SYMBOL_LANGUAGE (sym),
 				 SYMBOL_DOMAIN (sym), domain))
-	other = sym;
+	other = better_symbol (other, sym, domain);
     }
 
   return other;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/ChangeLog ./gdb/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/ChangeLog	2019-12-06 01:49:59.000000000 +0000
+++ ./gdb/ChangeLog	2019-12-07 01:49:42.000000000 +0000
@@ -1,3 +1,36 @@
+2019-12-06  Christian Biesinger  <cbiesinger@google.com>
+
+	* bcache.c: Put in namespace gdb.
+	* bcache.h: Likewise.
+	* gdbtypes.c (check_types_worklist): Update.
+	(types_deeply_equal): Update.
+	* macrotab.c (struct macro_table) <bcache>: Update.
+	(new_macro_table): Update.
+	* macrotab.h (struct bcache): Put this forward declaration
+	inside namespace gdb.
+	(new_macro_table): Update.
+	* objfiles.h (struct objfile_per_bfd_storage) <filename_cache>:
+	Update.
+	<macro_cache>: Update.
+	* psymtab.h: (psymtab_storage) <psymbol_cache>: Update.
+
+2019-12-06  Tom de Vries  <tdevries@suse.de>
+
+	PR symtab/24971
+	* block.c (best_symbol, better_symbol): New function.
+	(block_lookup_symbol_primary, block_lookup_symbol): Prefer def over
+	decl.
+
+2019-12-06  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+	* gdbtypes.h: Define the REFERENCE_SEE_THROUGH_BADNESS value.
+	* gdbtypes.c (rank_one_type): Use REFERENCE_SEE_THROUGH_BADNESS
+	for ranking see-through reference cases.
+
+2019-12-06  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
+	* stack.c (faas_command): Check a command is provided.
+	* thread.c (taas_command, tfaas_command): Likewise.
+
 2019-12-05  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
 	* inferior.c (prune_inferiors):  Only call delete_inferior,
 	Do not modify the inferior list.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/doc/gcore.1 ./gdb/doc/gcore.1
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/doc/gcore.1	2019-12-06 01:54:21.000000000 +0000
+++ ./gdb/doc/gcore.1	2019-12-07 01:53:33.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GCORE 1"
-.TH GCORE 1 "2019-12-06" "gdb-9.0.50.20191206-git" "GNU Development Tools"
+.TH GCORE 1 "2019-12-07" "gdb-9.0.50.20191207-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-9.0.50.20191206/gdb/doc/gdb.1 ./gdb/doc/gdb.1
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/doc/gdb.1	2019-12-06 01:54:20.000000000 +0000
+++ ./gdb/doc/gdb.1	2019-12-07 01:53:33.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDB 1"
-.TH GDB 1 "2019-12-06" "gdb-9.0.50.20191206-git" "GNU Development Tools"
+.TH GDB 1 "2019-12-07" "gdb-9.0.50.20191207-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-9.0.50.20191206/gdb/doc/gdb-add-index.1 ./gdb/doc/gdb-add-index.1
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/doc/gdb-add-index.1	2019-12-06 01:54:21.000000000 +0000
+++ ./gdb/doc/gdb-add-index.1	2019-12-07 01:53:34.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDB-ADD-INDEX 1"
-.TH GDB-ADD-INDEX 1 "2019-12-06" "gdb-9.0.50.20191206-git" "GNU Development Tools"
+.TH GDB-ADD-INDEX 1 "2019-12-07" "gdb-9.0.50.20191207-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-9.0.50.20191206/gdb/doc/gdb.info ./gdb/doc/gdb.info
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/doc/gdb.info	2019-12-06 01:54:18.000000000 +0000
+++ ./gdb/doc/gdb.info	2019-12-07 01:53:30.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 9.0.50.20191206-git.
+Source-Level Debugger' for GDB (GDB) Version 9.0.50.20191207-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-9.0.50.20191206/gdb/doc/gdb.info-1 ./gdb/doc/gdb.info-1
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/doc/gdb.info-1	2019-12-06 01:54:04.000000000 +0000
+++ ./gdb/doc/gdb.info-1	2019-12-07 01:53:17.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 9.0.50.20191206-git.
+Source-Level Debugger' for GDB (GDB) Version 9.0.50.20191207-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 9.0.50.20191206-git.
+   This is the Tenth Edition, for GDB (GDB) Version 9.0.50.20191207-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 9.0.50.20191206-git, Copyright 1999 Free Software Foundation, Inc...
+     GDB 9.0.50.20191207-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-9.0.50.20191206/gdb/doc/gdb.info-2 ./gdb/doc/gdb.info-2
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/doc/gdb.info-2	2019-12-06 01:54:06.000000000 +0000
+++ ./gdb/doc/gdb.info-2	2019-12-07 01:53:19.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 9.0.50.20191206-git.
+Source-Level Debugger' for GDB (GDB) Version 9.0.50.20191207-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-9.0.50.20191206/gdb/doc/gdb.info-3 ./gdb/doc/gdb.info-3
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/doc/gdb.info-3	2019-12-06 01:54:08.000000000 +0000
+++ ./gdb/doc/gdb.info-3	2019-12-07 01:53:21.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 9.0.50.20191206-git.
+Source-Level Debugger' for GDB (GDB) Version 9.0.50.20191207-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-9.0.50.20191206/gdb/doc/gdb.info-4 ./gdb/doc/gdb.info-4
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/doc/gdb.info-4	2019-12-06 01:54:11.000000000 +0000
+++ ./gdb/doc/gdb.info-4	2019-12-07 01:53:23.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 9.0.50.20191206-git.
+Source-Level Debugger' for GDB (GDB) Version 9.0.50.20191207-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-9.0.50.20191206/gdb/doc/gdb.info-5 ./gdb/doc/gdb.info-5
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/doc/gdb.info-5	2019-12-06 01:54:13.000000000 +0000
+++ ./gdb/doc/gdb.info-5	2019-12-07 01:53:25.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 9.0.50.20191206-git.
+Source-Level Debugger' for GDB (GDB) Version 9.0.50.20191207-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-9.0.50.20191206/gdb/doc/gdb.info-6 ./gdb/doc/gdb.info-6
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/doc/gdb.info-6	2019-12-06 01:54:15.000000000 +0000
+++ ./gdb/doc/gdb.info-6	2019-12-07 01:53:28.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 9.0.50.20191206-git.
+Source-Level Debugger' for GDB (GDB) Version 9.0.50.20191207-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
@@ -4704,7 +4704,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-9.0.50.20191206-git/gdb/gdb.info', and it refers to subordinate
+'gdb-9.0.50.20191207-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'
@@ -4714,8 +4714,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-9.0.50.20191206-git', in the case of version
-9.0.50.20191206-git), you can make the Info file by typing:
+directory ('gdb-9.0.50.20191207-git', in the case of version
+9.0.50.20191207-git), you can make the Info file by typing:
 
      cd gdb
      make gdb.info
@@ -4740,7 +4740,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-9.0.50.20191206-git/gdb')
+main source directory (for example, to 'gdb-9.0.50.20191207-git/gdb')
 and type:
 
      make gdb.dvi
@@ -4749,8 +4749,8 @@ and type:
 
    ---------- Footnotes ----------
 
-   (1) In 'gdb-9.0.50.20191206-git/gdb/refcard.ps' of the version
-9.0.50.20191206-git release.
+   (1) In 'gdb-9.0.50.20191207-git/gdb/refcard.ps' of the version
+9.0.50.20191207-git release.
 
 
 File: gdb.info,  Node: Installing GDB,  Next: Maintenance Commands,  Prev: Formatting Documentation,  Up: Top
@@ -4901,35 +4901,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 9.0.50.20191206-git distribution is in
-the 'gdb-9.0.50.20191206-git' directory.  That directory contains:
+   For example, the GDB version 9.0.50.20191207-git distribution is in
+the 'gdb-9.0.50.20191207-git' directory.  That directory contains:
 
-'gdb-9.0.50.20191206-git/configure (and supporting files)'
+'gdb-9.0.50.20191207-git/configure (and supporting files)'
      script for configuring GDB and all its supporting libraries
 
-'gdb-9.0.50.20191206-git/gdb'
+'gdb-9.0.50.20191207-git/gdb'
      the source specific to GDB itself
 
-'gdb-9.0.50.20191206-git/bfd'
+'gdb-9.0.50.20191207-git/bfd'
      source for the Binary File Descriptor library
 
-'gdb-9.0.50.20191206-git/include'
+'gdb-9.0.50.20191207-git/include'
      GNU include files
 
-'gdb-9.0.50.20191206-git/libiberty'
+'gdb-9.0.50.20191207-git/libiberty'
      source for the '-liberty' free software library
 
-'gdb-9.0.50.20191206-git/opcodes'
+'gdb-9.0.50.20191207-git/opcodes'
      source for the library of opcode tables and disassemblers
 
-'gdb-9.0.50.20191206-git/readline'
+'gdb-9.0.50.20191207-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-9.0.50.20191206-git' directory.
+the 'gdb-9.0.50.20191207-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
@@ -4937,7 +4937,7 @@ platform on which GDB will run as an arg
 
    For example:
 
-     cd gdb-9.0.50.20191206-git
+     cd gdb-9.0.50.20191207-git
      ./configure
      make
 
@@ -4985,13 +4985,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 9.0.50.20191206-git, you can build GDB in a
+   For example, with version 9.0.50.20191207-git, you can build GDB in a
 separate directory for a Sun 4 like this:
 
-     cd gdb-9.0.50.20191206-git
+     cd gdb-9.0.50.20191207-git
      mkdir ../gdb-sun4
      cd ../gdb-sun4
-     ../gdb-9.0.50.20191206-git/configure
+     ../gdb-9.0.50.20191207-git/configure
      make
 
    When 'configure' builds a configuration using a remote source
@@ -5002,7 +5002,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-9.0.50.20191206-git/gdb/configure', you are configuring only one
+'../gdb-9.0.50.20191207-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'.
 
@@ -5018,8 +5018,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-9.0.50.20191206-git' (or in a separate configured directory
-configured with '--srcdir=DIRNAME/gdb-9.0.50.20191206-git'), you will
+'gdb-9.0.50.20191207-git' (or in a separate configured directory
+configured with '--srcdir=DIRNAME/gdb-9.0.50.20191207-git'), you will
 build all the required libraries, and then build GDB.
 
    When you have multiple hosts or targets configured in separate
@@ -5064,7 +5064,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-9.0.50.20191206-git', for version 9.0.50.20191206-git).
+('gdb-9.0.50.20191207-git', for version 9.0.50.20191207-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-9.0.50.20191206/gdb/doc/gdb.info-7 ./gdb/doc/gdb.info-7
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/doc/gdb.info-7	2019-12-06 01:54:17.000000000 +0000
+++ ./gdb/doc/gdb.info-7	2019-12-07 01:53:30.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 9.0.50.20191206-git.
+Source-Level Debugger' for GDB (GDB) Version 9.0.50.20191207-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-9.0.50.20191206/gdb/doc/gdb.info-8 ./gdb/doc/gdb.info-8
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/doc/gdb.info-8	2019-12-06 01:54:17.000000000 +0000
+++ ./gdb/doc/gdb.info-8	2019-12-07 01:53:30.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 9.0.50.20191206-git.
+Source-Level Debugger' for GDB (GDB) Version 9.0.50.20191207-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-9.0.50.20191206/gdb/doc/gdbinit.5 ./gdb/doc/gdbinit.5
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/doc/gdbinit.5	2019-12-06 01:54:21.000000000 +0000
+++ ./gdb/doc/gdbinit.5	2019-12-07 01:53:34.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDBINIT 5"
-.TH GDBINIT 5 "2019-12-06" "gdb-9.0.50.20191206-git" "GNU Development Tools"
+.TH GDBINIT 5 "2019-12-07" "gdb-9.0.50.20191207-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-9.0.50.20191206/gdb/doc/gdbserver.1 ./gdb/doc/gdbserver.1
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/doc/gdbserver.1	2019-12-06 01:54:21.000000000 +0000
+++ ./gdb/doc/gdbserver.1	2019-12-07 01:53:33.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDBSERVER 1"
-.TH GDBSERVER 1 "2019-12-06" "gdb-9.0.50.20191206-git" "GNU Development Tools"
+.TH GDBSERVER 1 "2019-12-07" "gdb-9.0.50.20191207-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-9.0.50.20191206/gdb/gdbtypes.c ./gdb/gdbtypes.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/gdbtypes.c	2019-12-06 01:49:59.000000000 +0000
+++ ./gdb/gdbtypes.c	2019-12-07 01:49:42.000000000 +0000
@@ -60,6 +60,7 @@ const struct rank VOID_PTR_CONVERSION_BA
 const struct rank BOOL_CONVERSION_BADNESS = {3,0};
 const struct rank BASE_CONVERSION_BADNESS = {2,0};
 const struct rank REFERENCE_CONVERSION_BADNESS = {2,0};
+const struct rank REFERENCE_SEE_THROUGH_BADNESS = {0,1};
 const struct rank NULL_POINTER_CONVERSION_BADNESS = {2,0};
 const struct rank NS_POINTER_CONVERSION_BADNESS = {10,0};
 const struct rank NS_INTEGER_POINTER_CONVERSION_BADNESS = {3,0};
@@ -3812,7 +3813,7 @@ check_types_equal (struct type *type1, s
 
 static bool
 check_types_worklist (std::vector<type_equality_entry> *worklist,
-		      struct bcache *cache)
+		      gdb::bcache *cache)
 {
   while (!worklist->empty ())
     {
@@ -3848,7 +3849,7 @@ types_deeply_equal (struct type *type1, 
   if (type1 == type2)
     return true;
 
-  struct bcache cache (nullptr, nullptr);
+  gdb::bcache cache (nullptr, nullptr);
   worklist.emplace_back (type1, type2);
   return check_types_worklist (&worklist, &cache);
 }
@@ -4338,10 +4339,10 @@ rank_one_type (struct type *parm, struct
 
   if (TYPE_IS_REFERENCE (arg))
     return (sum_ranks (rank_one_type (parm, TYPE_TARGET_TYPE (arg), NULL),
-                       REFERENCE_CONVERSION_BADNESS));
+                       REFERENCE_SEE_THROUGH_BADNESS));
   if (TYPE_IS_REFERENCE (parm))
     return (sum_ranks (rank_one_type (TYPE_TARGET_TYPE (parm), arg, NULL),
-                       REFERENCE_CONVERSION_BADNESS));
+                       REFERENCE_SEE_THROUGH_BADNESS));
   if (overload_debug)
   /* Debugging only.  */
     fprintf_filtered (gdb_stderr, 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/gdbtypes.h ./gdb/gdbtypes.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/gdbtypes.h	2019-12-06 01:49:59.000000000 +0000
+++ ./gdb/gdbtypes.h	2019-12-07 01:49:42.000000000 +0000
@@ -2105,6 +2105,7 @@ extern const struct rank BASE_CONVERSION
 /* * Badness of converting from non-reference to reference.  Subrank
    is the type of reference conversion being done.  */
 extern const struct rank REFERENCE_CONVERSION_BADNESS;
+extern const struct rank REFERENCE_SEE_THROUGH_BADNESS;
 /* * Conversion to rvalue reference.  */
 #define REFERENCE_CONVERSION_RVALUE 1
 /* * Conversion to const lvalue reference.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/macrotab.c ./gdb/macrotab.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/macrotab.c	2019-12-06 01:50:00.000000000 +0000
+++ ./gdb/macrotab.c	2019-12-07 01:49:43.000000000 +0000
@@ -40,7 +40,7 @@ struct macro_table
 
   /* The bcache we should use to hold macro names, argument names, and
      definitions, or zero if we should use xmalloc.  */
-  struct bcache *bcache;
+  gdb::bcache *bcache;
 
   /* The main source file for this compilation unit --- the one whose
      name was given to the compiler.  This is the root of the
@@ -1025,7 +1025,7 @@ macro_for_each_in_scope (struct macro_so
 
 
 struct macro_table *
-new_macro_table (struct obstack *obstack, struct bcache *b,
+new_macro_table (struct obstack *obstack, gdb::bcache *b,
 		 struct compunit_symtab *cust)
 {
   struct macro_table *t;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/macrotab.h ./gdb/macrotab.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/macrotab.h	2019-12-06 01:50:00.000000000 +0000
+++ ./gdb/macrotab.h	2019-12-07 01:49:43.000000000 +0000
@@ -23,9 +23,12 @@
 #include "gdbsupport/function-view.h"
 
 struct obstack;
-struct bcache;
 struct compunit_symtab;
 
+namespace gdb {
+struct bcache;
+}
+
 /* How do we represent a source location?  I mean, how should we
    represent them within GDB; the user wants to use all sorts of
    ambiguous abbreviations, like "break 32" and "break foo.c:32"
@@ -170,7 +173,7 @@ struct macro_source_file
    the same source location (although 'gcc -DFOO -UFOO -DFOO=2' does
    do that in GCC 4.1.2.).  */
 struct macro_table *new_macro_table (struct obstack *obstack,
-                                     struct bcache *bcache,
+                                     gdb::bcache *bcache,
 				     struct compunit_symtab *cust);
 
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/objfiles.h ./gdb/objfiles.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/objfiles.h	2019-12-06 01:50:00.000000000 +0000
+++ ./gdb/objfiles.h	2019-12-07 01:49:43.000000000 +0000
@@ -244,11 +244,11 @@ struct objfile_per_bfd_storage
 
   /* Byte cache for file names.  */
 
-  struct bcache filename_cache;
+  gdb::bcache filename_cache;
 
   /* Byte cache for macros.  */
 
-  struct bcache macro_cache;
+  gdb::bcache macro_cache;
 
   /* The gdbarch associated with the BFD.  Note that this gdbarch is
      determined solely from BFD information, without looking at target
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/po/gdb.pot ./gdb/po/gdb.pot
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/po/gdb.pot	2019-12-06 01:53:53.000000000 +0000
+++ ./gdb/po/gdb.pot	2019-12-07 01:53:06.000000000 +0000
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-06 01:53+0000\n"
+"POT-Creation-Date: 2019-12-07 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"
@@ -3124,104 +3124,104 @@ msgstr ""
 #. i18n: Like "Percentage of duplicates, by count: (not applicable)".
 #. i18n: "Average entry size: (not applicable)".
 #. i18n: "Average hash chain length: (not applicable)".
-#: bcache.c:239 bcache.c:338 bcache.c:368
+#: bcache.c:241 bcache.c:340 bcache.c:370
 msgid "(not applicable)\n"
 msgstr ""
 
-#: bcache.c:319
+#: bcache.c:321
 #, possible-c-format
 msgid "  M_Cached '%s' statistics:\n"
 msgstr ""
 
-#: bcache.c:320
+#: bcache.c:322
 #, possible-c-format
 msgid "    Total object count:  %ld\n"
 msgstr ""
 
-#: bcache.c:321
+#: bcache.c:323
 #, possible-c-format
 msgid "    Unique object count: %lu\n"
 msgstr ""
 
-#: bcache.c:322
+#: bcache.c:324
 msgid "    Percentage of duplicates, by count: "
 msgstr ""
 
-#: bcache.c:326
+#: bcache.c:328
 #, possible-c-format
 msgid "    Total object size:   %ld\n"
 msgstr ""
 
-#: bcache.c:327
+#: bcache.c:329
 #, possible-c-format
 msgid "    Unique object size:  %ld\n"
 msgstr ""
 
-#: bcache.c:328
+#: bcache.c:330
 msgid "    Percentage of duplicates, by size:  "
 msgstr ""
 
-#: bcache.c:332
+#: bcache.c:334
 #, possible-c-format
 msgid "    Max entry size:     %d\n"
 msgstr ""
 
-#: bcache.c:333
+#: bcache.c:335
 msgid "    Average entry size: "
 msgstr ""
 
-#: bcache.c:339
+#: bcache.c:341
 #, possible-c-format
 msgid "    Median entry size:  %d\n"
 msgstr ""
 
-#: bcache.c:342
+#: bcache.c:344
 #, possible-c-format
 msgid "    Total memory used by bcache, including overhead: %ld\n"
 msgstr ""
 
-#: bcache.c:345
+#: bcache.c:347
 msgid "    Percentage memory overhead: "
 msgstr ""
 
-#: bcache.c:347
+#: bcache.c:349
 msgid "    Net memory savings:         "
 msgstr ""
 
-#: bcache.c:351
+#: bcache.c:353
 #, possible-c-format
 msgid "    Hash table size:           %3d\n"
 msgstr ""
 
-#: bcache.c:353
+#: bcache.c:355
 #, possible-c-format
 msgid "    Hash table expands:        %lu\n"
 msgstr ""
 
-#: bcache.c:355
+#: bcache.c:357
 #, possible-c-format
 msgid "    Hash table hashes:         %lu\n"
 msgstr ""
 
-#: bcache.c:357
+#: bcache.c:359
 #, possible-c-format
 msgid "    Half hash misses:          %lu\n"
 msgstr ""
 
-#: bcache.c:359
+#: bcache.c:361
 msgid "    Hash table population:     "
 msgstr ""
 
-#: bcache.c:361
+#: bcache.c:363
 #, possible-c-format
 msgid "    Median hash chain length:  %3d\n"
 msgstr ""
 
-#: bcache.c:363
+#: bcache.c:365
 msgid "    Average hash chain length: "
 msgstr ""
 
-#: bcache.c:369
+#: bcache.c:371
 #, possible-c-format
 msgid "    Maximum hash chain length: %3d\n"
 msgstr ""
@@ -12769,7 +12769,7 @@ msgid "No registers."
 msgstr ""
 
 #: frame.c:1607 stack.c:1956 stack.c:1984 stack.c:3196 stack.c:3244
-#: stack.c:3259 thread.c:1859
+#: stack.c:3259 thread.c:1863
 msgid "No stack."
 msgstr ""
 
@@ -13532,89 +13532,89 @@ msgid ""
 "won't be propagated to spawned programs.\n"
 msgstr ""
 
-#: gdbtypes.c:136
+#: gdbtypes.c:137
 #, possible-c-format
 msgid ""
 "Resolution of opaque struct/class/union types (if set before loading "
 "symbols) is %s.\n"
 msgstr ""
 
-#: gdbtypes.c:147
+#: gdbtypes.c:148
 #, possible-c-format
 msgid "Debugging of C++ overloading is %s.\n"
 msgstr ""
 
-#: gdbtypes.c:157
+#: gdbtypes.c:158
 #, possible-c-format
 msgid "Strict type checking is %s.\n"
 msgstr ""
 
-#: gdbtypes.c:592
+#: gdbtypes.c:593
 #, possible-c-format
 msgid "Unknown address space specifier: \"%s\""
 msgstr ""
 
-#: gdbtypes.c:1547
+#: gdbtypes.c:1548
 #, possible-c-format
 msgid "Invalid anonymous type %s [in module %s], GCC PR debug/47510 bug?"
 msgstr ""
 
-#: gdbtypes.c:1570
+#: gdbtypes.c:1571
 #, possible-c-format
 msgid "No type named %s."
 msgstr ""
 
-#: gdbtypes.c:1611 objc-lang.c:96
+#: gdbtypes.c:1612 objc-lang.c:96
 #, possible-c-format
 msgid "No struct type named %s."
 msgstr ""
 
-#: gdbtypes.c:1615 gdbtypes.c:1690 objc-lang.c:103
+#: gdbtypes.c:1616 gdbtypes.c:1691 objc-lang.c:103
 #, possible-c-format
 msgid "This context has class, union or enum %s, not a struct."
 msgstr ""
 
-#: gdbtypes.c:1633
+#: gdbtypes.c:1634
 #, possible-c-format
 msgid "No union type named %s."
 msgstr ""
 
 #. If we get here, it's not a union.
-#: gdbtypes.c:1641
+#: gdbtypes.c:1642
 #, possible-c-format
 msgid "This context has class, struct or enum %s, not a union."
 msgstr ""
 
-#: gdbtypes.c:1656
+#: gdbtypes.c:1657
 #, possible-c-format
 msgid "No enum type named %s."
 msgstr ""
 
-#: gdbtypes.c:1660
+#: gdbtypes.c:1661
 #, possible-c-format
 msgid "This context has class, struct or union %s, not an enum."
 msgstr ""
 
-#: gdbtypes.c:1686
+#: gdbtypes.c:1687
 #, possible-c-format
 msgid "No template type named %s."
 msgstr ""
 
-#: gdbtypes.c:1716
+#: gdbtypes.c:1717
 #, possible-c-format
 msgid "Type %s is not a structure or union type."
 msgstr ""
 
-#: gdbtypes.c:1752
+#: gdbtypes.c:1753
 #, possible-c-format
 msgid "Type %s has no component named %s."
 msgstr ""
 
-#: gdbtypes.c:1917
+#: gdbtypes.c:1918
 msgid "stub type has NULL name"
 msgstr ""
 
-#: gdbtypes.c:2075
+#: gdbtypes.c:2076
 msgid ""
 "bit strides that are not a multiple of the byte size are currently not "
 "supported"
@@ -13623,68 +13623,68 @@ msgstr ""
 #. Could be a bug in our code, but it could also happen
 #. if the DWARF info is not correct.  Issue a warning,
 #. and assume no byte/bit stride (leave bit_stride = 0).
-#: gdbtypes.c:2157
+#: gdbtypes.c:2158
 #, possible-c-format
 msgid "cannot determine array stride for type %s"
 msgstr ""
 
-#: gdbtypes.c:2247
+#: gdbtypes.c:2248
 msgid "Cannot determine struct field location (invalid location kind)"
 msgstr ""
 
-#: gdbtypes.c:2699
+#: gdbtypes.c:2700
 #, possible-c-format
 msgid "Internal: Cannot demangle mangled name `%s'."
 msgstr ""
 
-#: gdbtypes.c:3787
+#: gdbtypes.c:3788
 #, possible-c-format
 msgid "Unsupported field kind %d by check_types_equal"
 msgstr ""
 
-#: gdbtypes.c:4457
+#: gdbtypes.c:4458
 #, possible-c-format
 msgid ") length %d\n"
 msgstr ""
 
-#: gdbtypes.c:4606
+#: gdbtypes.c:4607
 msgid " <same as already seen type>\n"
 msgstr ""
 
-#: gdbtypes.c:5053
+#: gdbtypes.c:5054
 #, possible-c-format
 msgid "Unexpected type field location kind: %d"
 msgstr ""
 
-#: gdbtypes.c:5698
+#: gdbtypes.c:5699
 msgid "Set debugging of C++ overloading."
 msgstr ""
 
-#: gdbtypes.c:5699
+#: gdbtypes.c:5700
 msgid "Show debugging of C++ overloading."
 msgstr ""
 
-#: gdbtypes.c:5700
+#: gdbtypes.c:5701
 msgid "When enabled, ranking of the functions is displayed."
 msgstr ""
 
-#: gdbtypes.c:5709
+#: gdbtypes.c:5710
 msgid ""
 "Set resolution of opaque struct/class/union types (if set before loading "
 "symbols)."
 msgstr ""
 
-#: gdbtypes.c:5711
+#: gdbtypes.c:5712
 msgid ""
 "Show resolution of opaque struct/class/union types (if set before loading "
 "symbols)."
 msgstr ""
 
-#: gdbtypes.c:5720
+#: gdbtypes.c:5721
 msgid "Set strict type checking."
 msgstr ""
 
-#: gdbtypes.c:5721
+#: gdbtypes.c:5722
 msgid "Show strict type checking."
 msgstr ""
 
@@ -21484,7 +21484,7 @@ msgstr ""
 msgid "Regexp is too long: %s"
 msgstr ""
 
-#: objc-lang.c:604 objc-lang.c:758 thread.c:1913
+#: objc-lang.c:604 objc-lang.c:758 thread.c:1917
 #, possible-c-format
 msgid "Invalid regexp (%s): %s"
 msgstr ""
@@ -26045,7 +26045,7 @@ msgstr ""
 msgid "No bookmark #%d."
 msgstr ""
 
-#: reverse.c:240 thread.c:1909
+#: reverse.c:240 thread.c:1913
 msgid "Command requires an argument."
 msgstr ""
 
@@ -28236,15 +28236,15 @@ msgid "Show printing of non-scalar frame
 msgstr ""
 
 #. show_cmd_cb
-#: stack.c:165 stack.c:3613
+#: stack.c:165 stack.c:3615
 msgid "Set whether to print frame arguments in raw form."
 msgstr ""
 
-#: stack.c:166 stack.c:3614
+#: stack.c:166 stack.c:3616
 msgid "Show whether to print frame arguments in raw form."
 msgstr ""
 
-#: stack.c:167 stack.c:3615
+#: stack.c:167 stack.c:3617
 msgid ""
 "If set, frame arguments are printed in raw form, bypassing any\n"
 "pretty-printers for that value."
@@ -28419,7 +28419,11 @@ msgstr ""
 msgid "Invalid COUNT argument."
 msgstr ""
 
-#: stack.c:3345
+#: stack.c:3285
+msgid "Please specify a command to apply on all frames"
+msgstr ""
+
+#: stack.c:3347
 msgid ""
 "Make selected stack frame return to its caller.\n"
 "Control remains in the debugger, but when you continue\n"
@@ -28427,31 +28431,31 @@ msgid ""
 "If an argument is given, it is an expression for the value to return."
 msgstr ""
 
-#: stack.c:3351
+#: stack.c:3353
 msgid ""
 "Select and print stack frame that called this one.\n"
 "An argument says how many frames up to go."
 msgstr ""
 
-#: stack.c:3354
+#: stack.c:3356
 msgid ""
 "Same as the `up' command, but does not print anything.\n"
 "This is useful in command scripts."
 msgstr ""
 
-#: stack.c:3358
+#: stack.c:3360
 msgid ""
 "Select and print stack frame called by this one.\n"
 "An argument says how many frames down to go."
 msgstr ""
 
-#: stack.c:3363
+#: stack.c:3365
 msgid ""
 "Same as the `down' command, but does not print anything.\n"
 "This is useful in command scripts."
 msgstr ""
 
-#: stack.c:3368 stack.c:3434
+#: stack.c:3370 stack.c:3436
 msgid ""
 "Select and print a stack frame.\n"
 "With no argument, print the selected stack frame.  (See also \"info frame"
@@ -28459,7 +28463,7 @@ msgid ""
 "A single numerical argument specifies the frame to select."
 msgstr ""
 
-#: stack.c:3388
+#: stack.c:3390
 msgid ""
 "Apply a command to a number of frames.\n"
 "Usage: frame apply COUNT [OPTION]... COMMAND\n"
@@ -28467,14 +28471,14 @@ msgid ""
 "frames.\n"
 msgstr ""
 
-#: stack.c:3401
+#: stack.c:3403
 msgid ""
 "Apply a command to all frames.\n"
 "\n"
 "Usage: frame apply all [OPTION]... COMMAND\n"
 msgstr ""
 
-#: stack.c:3413
+#: stack.c:3415
 msgid ""
 "Apply a command to a list of frames.\n"
 "\n"
@@ -28482,7 +28486,7 @@ msgid ""
 "LEVEL is a space-separated list of levels of frames to apply COMMAND on.\n"
 msgstr ""
 
-#: stack.c:3426
+#: stack.c:3428
 msgid ""
 "Apply a command to all frames (ignoring errors and empty output).\n"
 "Usage: faas [OPTION]... COMMAND\n"
@@ -28490,14 +28494,14 @@ msgid ""
 "See \"help frame apply all\" for available options."
 msgstr ""
 
-#: stack.c:3442
+#: stack.c:3444
 msgid ""
 "Select and print a stack frame by stack address.\n"
 "\n"
 "Usage: frame address STACK-ADDRESS"
 msgstr ""
 
-#: stack.c:3449
+#: stack.c:3451
 msgid ""
 "View a stack frame that might be outside the current backtrace.\n"
 "\n"
@@ -28505,7 +28509,7 @@ msgid ""
 "       frame view STACK-ADDRESS PC-ADDRESS"
 msgstr ""
 
-#: stack.c:3457
+#: stack.c:3459
 msgid ""
 "Select and print a stack frame by function name.\n"
 "\n"
@@ -28514,27 +28518,27 @@ msgid ""
 "The innermost frame that visited function NAME is selected."
 msgstr ""
 
-#: stack.c:3468
+#: stack.c:3470
 msgid ""
 "Select and print a stack frame by level.\n"
 "\n"
 "Usage: frame level LEVEL"
 msgstr ""
 
-#: stack.c:3475
+#: stack.c:3477
 msgid ""
 "Select a stack frame without printing anything.\n"
 "A single numerical argument specifies the frame to select."
 msgstr ""
 
-#: stack.c:3482
+#: stack.c:3484
 msgid ""
 "Select a stack frame by stack address.\n"
 "\n"
 "Usage: select-frame address STACK-ADDRESS"
 msgstr ""
 
-#: stack.c:3491
+#: stack.c:3493
 msgid ""
 "Select a stack frame that might be outside the current backtrace.\n"
 "\n"
@@ -28542,21 +28546,21 @@ msgid ""
 "       select-frame view STACK-ADDRESS PC-ADDRESS"
 msgstr ""
 
-#: stack.c:3500
+#: stack.c:3502
 msgid ""
 "Select a stack frame by function name.\n"
 "\n"
 "Usage: select-frame function NAME"
 msgstr ""
 
-#: stack.c:3509
+#: stack.c:3511
 msgid ""
 "Select a stack frame by level.\n"
 "\n"
 "Usage: select-frame level LEVEL"
 msgstr ""
 
-#: stack.c:3520
+#: stack.c:3522
 msgid ""
 "Print backtrace of all stack frames, or innermost COUNT frames.\n"
 "Usage: backtrace [OPTION]... [QUALIFIER]... [COUNT | -COUNT]\n"
@@ -28573,11 +28577,11 @@ msgid ""
 "With a negative COUNT, print outermost -COUNT frames."
 msgstr ""
 
-#: stack.c:3545
+#: stack.c:3547
 msgid "Backtrace of the stack, or innermost COUNT frames."
 msgstr ""
 
-#: stack.c:3549
+#: stack.c:3551
 msgid ""
 "All about the selected stack frame.\n"
 "With no arguments, displays information about the currently selected stack\n"
@@ -28585,14 +28589,14 @@ msgid ""
 "the information is then printed about the specified frame."
 msgstr ""
 
-#: stack.c:3557
+#: stack.c:3559
 msgid ""
 "Print information about a stack frame selected by stack address.\n"
 "\n"
 "Usage: info frame address STACK-ADDRESS"
 msgstr ""
 
-#: stack.c:3564
+#: stack.c:3566
 msgid ""
 "Print information about a stack frame outside the current backtrace.\n"
 "\n"
@@ -28600,59 +28604,59 @@ msgid ""
 "       info frame view STACK-ADDRESS PC-ADDRESS"
 msgstr ""
 
-#: stack.c:3572
+#: stack.c:3574
 msgid ""
 "Print information about a stack frame selected by function name.\n"
 "\n"
 "Usage: info frame function NAME"
 msgstr ""
 
-#: stack.c:3580
+#: stack.c:3582
 msgid ""
 "Print information about a stack frame selected by level.\n"
 "\n"
 "Usage: info frame level LEVEL"
 msgstr ""
 
-#: stack.c:3587
+#: stack.c:3589
 msgid ""
 "All local variables of current stack frame or those matching REGEXPs.\n"
 "Usage: info locals [-q] [-t TYPEREGEXP] [NAMEREGEXP]\n"
 "Prints the local variables of the current stack frame.\n"
 msgstr ""
 
-#: stack.c:3591
+#: stack.c:3593
 msgid "local variables"
 msgstr ""
 
-#: stack.c:3595
+#: stack.c:3597
 msgid ""
 "All argument variables of current stack frame or those matching REGEXPs.\n"
 "Usage: info args [-q] [-t TYPEREGEXP] [NAMEREGEXP]\n"
 "Prints the argument variables of the current stack frame.\n"
 msgstr ""
 
-#: stack.c:3599
+#: stack.c:3601
 msgid "argument variables"
 msgstr ""
 
-#: stack.c:3604
+#: stack.c:3606
 msgid ""
 "Select the stack frame that contains NAME.\n"
 "Usage: func NAME"
 msgstr ""
 
-#: stack.c:3623
+#: stack.c:3625
 msgid ""
 "Set whether to disassemble next source line or insn when execution stops."
 msgstr ""
 
-#: stack.c:3625
+#: stack.c:3627
 msgid ""
 "Show whether to disassemble next source line or insn when execution stops."
 msgstr ""
 
-#: stack.c:3627
+#: stack.c:3629
 msgid ""
 "If ON, GDB will display disassembly of the next source line, in addition\n"
 "to displaying the source line itself.  If the next source line cannot\n"
@@ -30605,56 +30609,64 @@ msgstr ""
 msgid "Thread %s has terminated."
 msgstr ""
 
-#: thread.c:1843 thread.c:1891
+#: thread.c:1822
+msgid "Please specify a command to apply on all threads"
+msgstr ""
+
+#: thread.c:1833
+msgid "Please specify a command to apply on all frames of all threads"
+msgstr ""
+
+#: thread.c:1847 thread.c:1895
 msgid "No thread selected"
 msgstr ""
 
-#: thread.c:1850
+#: thread.c:1854
 #, possible-c-format
 msgid "[Current thread is %s (%s) (exited)]\n"
 msgstr ""
 
-#: thread.c:1854
+#: thread.c:1858
 #, possible-c-format
 msgid "[Current thread is %s (%s)]\n"
 msgstr ""
 
-#: thread.c:1920
+#: thread.c:1924
 #, possible-c-format
 msgid "Thread %s has name '%s'\n"
 msgstr ""
 
-#: thread.c:1928
+#: thread.c:1932
 #, possible-c-format
 msgid "Thread %s has target name '%s'\n"
 msgstr ""
 
-#: thread.c:1936
+#: thread.c:1940
 #, possible-c-format
 msgid "Thread %s has target id '%s'\n"
 msgstr ""
 
-#: thread.c:1944
+#: thread.c:1948
 #, possible-c-format
 msgid "Thread %s has extra info '%s'\n"
 msgstr ""
 
-#: thread.c:1950
+#: thread.c:1954
 #, possible-c-format
 msgid "No threads match '%s'\n"
 msgstr ""
 
-#: thread.c:1960
+#: thread.c:1964
 #, possible-c-format
 msgid "Printing of thread events is %s.\n"
 msgstr ""
 
-#: thread.c:1970
+#: thread.c:1974
 #, possible-c-format
 msgid "Thread ID %s has terminated."
 msgstr ""
 
-#: thread.c:2123
+#: thread.c:2127
 msgid ""
 "Display currently known threads.\n"
 "Usage: info threads [OPTION]... [ID]...\n"
@@ -30665,27 +30677,27 @@ msgid ""
 "Otherwise, all threads are displayed."
 msgstr ""
 
-#: thread.c:2136
+#: thread.c:2140
 msgid ""
 "Use this command to switch between threads.\n"
 "The new thread ID must be currently known."
 msgstr ""
 
-#: thread.c:2153
+#: thread.c:2157
 msgid ""
 "Apply a command to a list of threads.\n"
 "Usage: thread apply ID... [OPTION]... COMMAND\n"
 "ID is a space-separated list of IDs of threads to apply COMMAND on.\n"
 msgstr ""
 
-#: thread.c:2169
+#: thread.c:2173
 msgid ""
 "Apply a command to all threads.\n"
 "\n"
 "Usage: thread apply all [OPTION]... COMMAND\n"
 msgstr ""
 
-#: thread.c:2181
+#: thread.c:2185
 msgid ""
 "Apply a command to all threads (ignoring errors and empty output).\n"
 "Usage: taas [OPTION]... COMMAND\n"
@@ -30693,7 +30705,7 @@ msgid ""
 "See \"help thread apply all\" for available options."
 msgstr ""
 
-#: thread.c:2188
+#: thread.c:2192
 msgid ""
 "Apply a command to all frames of all threads (ignoring errors and empty "
 "output).\n"
@@ -30703,25 +30715,25 @@ msgid ""
 "See \"help frame apply all\" for available options."
 msgstr ""
 
-#: thread.c:2196
+#: thread.c:2200
 msgid ""
 "Set the current thread's name.\n"
 "Usage: thread name [NAME]\n"
 "If NAME is not given, then any existing name is removed."
 msgstr ""
 
-#: thread.c:2200
+#: thread.c:2204
 msgid ""
 "Find threads that match a regular expression.\n"
 "Usage: thread find REGEXP\n"
 "Will display thread ids whose name, target ID, or extra info matches REGEXP."
 msgstr ""
 
-#: thread.c:2209
+#: thread.c:2213
 msgid "Set printing of thread events (such as thread start and exit)."
 msgstr ""
 
-#: thread.c:2210
+#: thread.c:2214
 msgid "Show printing of thread events (such as thread start and exit)."
 msgstr ""
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/psymtab.h ./gdb/psymtab.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/psymtab.h	2019-12-06 01:50:00.000000000 +0000
+++ ./gdb/psymtab.h	2019-12-07 01:49:43.000000000 +0000
@@ -120,7 +120,7 @@ public:
   /* A byte cache where we can stash arbitrary "chunks" of bytes that
      will not change.  */
 
-  struct bcache psymbol_cache;
+  gdb::bcache psymbol_cache;
 
   /* Vectors of all partial symbols read in from file.  The actual data
      is stored in the objfile_obstack.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/stack.c ./gdb/stack.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/stack.c	2019-12-06 01:50:00.000000000 +0000
+++ ./gdb/stack.c	2019-12-07 01:49:43.000000000 +0000
@@ -3281,6 +3281,8 @@ frame_apply_command (const char* cmd, in
 static void
 faas_command (const char *cmd, int from_tty)
 {
+  if (cmd == NULL || *cmd == '\0')
+    error (_("Please specify a command to apply on all frames"));
   std::string expanded = std::string ("frame apply all -s ") + cmd;
   execute_command (expanded.c_str (), from_tty);
 }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/testsuite/ChangeLog ./gdb/testsuite/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/testsuite/ChangeLog	2019-12-06 01:50:00.000000000 +0000
+++ ./gdb/testsuite/ChangeLog	2019-12-07 01:49:43.000000000 +0000
@@ -1,3 +1,22 @@
+2019-12-06  Tom de Vries  <tdevries@suse.de>
+
+	* gdb.dwarf2/varval.exp: Add decl before def test.
+
+2019-12-06  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+	* gdb.cp/rvalue-ref-overload.exp: Minor cleanup.
+
+2019-12-06  Tankut Baris Aktemur  <tankut.baris.aktemur@intel.com>
+
+	* gdb.cp/rvalue-ref-overload.cc: Add a case that involves both
+	CV and reference conversion for overload resolution.
+	* gdb.cp/rvalue-ref-overload.exp: Test it.
+
+2019-12-06  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
+
+	* gdb.threads/pthreads.exp: Test taas and tfaas without command.
+	* gdb.base/frameapply.exp: Test faas without command.
+
 2019-12-04  Andrew Burgess  <andrew.burgess@embecosm.com>
 
 	* lib/gdb.exp (gdb_compile): Add -J compiler option when building
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/testsuite/gdb.base/frameapply.exp ./gdb/testsuite/gdb.base/frameapply.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/testsuite/gdb.base/frameapply.exp	2019-12-06 01:50:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/frameapply.exp	2019-12-07 01:49:43.000000000 +0000
@@ -215,3 +215,5 @@ gdb_test "frame apply level 4-2 p 1" "in
 gdb_test "frame apply level 0-3" \
     "Please specify a command to apply on the selected frames" \
     "missing command"
+gdb_test "faas" "Please specify a command to apply on all frames" \
+    "missing command for faas"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/testsuite/gdb.cp/rvalue-ref-overload.cc ./gdb/testsuite/gdb.cp/rvalue-ref-overload.cc
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/testsuite/gdb.cp/rvalue-ref-overload.cc	2019-12-06 01:50:00.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/rvalue-ref-overload.cc	2019-12-07 01:49:43.000000000 +0000
@@ -35,6 +35,8 @@ public:
 
   int overload1arg (foo_lval_ref);
   int overload1arg (foo_rval_ref);
+  int overloadConst (const foo &);
+  int overloadConst (const foo &&);
 };
 
 void
@@ -71,6 +73,11 @@ main ()
   // result = 1 + 2 + 3 + 3 = 9
   int result = f (i) + f (ci) + f (0) + f (std::move (i));
 
+  /* Overload resolution below requires both a CV-conversion
+     and reference conversion.  */
+  int test_const // = 3
+    = foo_rr_instance1.overloadConst (arg);
+
   marker1 (); // marker1-returns-here
   return result;
 }
@@ -84,3 +91,5 @@ foo::~foo ()                       {}
 
 int foo::overload1arg (foo_lval_ref arg)           { return 1; }
 int foo::overload1arg (foo_rval_ref arg)           { return 2; }
+int foo::overloadConst (const foo &arg)            { return 3; }
+int foo::overloadConst (const foo &&arg)           { return 4; }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/testsuite/gdb.cp/rvalue-ref-overload.exp ./gdb/testsuite/gdb.cp/rvalue-ref-overload.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/testsuite/gdb.cp/rvalue-ref-overload.exp	2019-12-06 01:50:00.000000000 +0000
+++ ./gdb/testsuite/gdb.cp/rvalue-ref-overload.exp	2019-12-07 01:49:43.000000000 +0000
@@ -49,20 +49,20 @@ cp_test_ptype_class "foo_rr_instance1" "
 	{ method public "~foo();" }
 	{ method public "int overload1arg(foo_lval_ref);" }
 	{ method public "int overload1arg(foo_rval_ref);" }
+	{ method public "int overloadConst(const foo &);" }
+	{ method public "int overloadConst(const foo &&);" }
     }
 
-gdb_test "print foo_rr_instance1.overload1arg(arg)" \
-    "\\$\[0-9\]+ = 1" \
-    "print call overloaded func foo & arg"
-
-gdb_test "print foo_rr_instance1.overload1arg(static_cast<foo&&>(arg))" \
-    "\\$\[0-9\]+ = 2" \
-    "print call overloaded func foo && arg"
+gdb_test "print foo_rr_instance1.overload1arg(arg)" "1"
+
+gdb_test "print foo_rr_instance1.overload1arg(static_cast<foo&&>(arg))" "2"
+
+gdb_test "print foo_rr_instance1.overloadConst(arg)" "3"
 
 # Test lvalue vs rvalue function overloads
-gdb_test "print f (i)" "= 1" "lvalue reference overload"
+gdb_test "print f (i)" "1" "lvalue reference overload"
 
-gdb_test "print f (ci)" "= 2" "lvalue reference to const overload"
+gdb_test "print f (ci)" "2" "lvalue reference to const overload"
 
 setup_kfail "c++/15372" "*-*-*"
-gdb_test "print f (3)" "= 3" "rvalue reference overload"
+gdb_test "print f (3)" "3" "rvalue reference overload"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/testsuite/gdb.dwarf2/varval.exp ./gdb/testsuite/gdb.dwarf2/varval.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/testsuite/gdb.dwarf2/varval.exp	2019-12-06 01:50:00.000000000 +0000
+++ ./gdb/testsuite/gdb.dwarf2/varval.exp	2019-12-07 01:49:43.000000000 +0000
@@ -55,7 +55,8 @@ proc setup_exec { arg_bad } {
 		    var_b_label var_c_label var_p_label var_bad_label \
 		    varval_label var_s_label var_untyped_label \
 		    var_a_abstract_label var_a_concrete_label \
-		    varval2_label
+		    varval2_label varval3_def_label varval3_decl_label \
+		    int_array_label int_array_of_1_label
 
 		set int_size [get_sizeof "int" -1]
 
@@ -171,6 +172,32 @@ proc setup_exec { arg_bad } {
 		    {DW_AT_location {DW_OP_addr [gdb_target_symbol "var_b"]} SPECIAL_expr}
 		}
 
+		int_array_label: DW_TAG_array_type {
+		    {DW_AT_type :${int_label}}
+		} {
+		    DW_TAG_subrange_type {}
+		}
+		varval3_decl_label: DW_TAG_variable {
+		    {DW_AT_name "varval3"}
+		    {DW_AT_type :${int_array_label}}
+		    {DW_AT_external 1 DW_FORM_flag}
+		    {DW_AT_declaration 1 DW_FORM_flag}
+		}
+		int_array_of_1_label: DW_TAG_array_type {
+		    {DW_AT_type :${int_label}}
+		} {
+		    DW_TAG_subrange_type {
+			{DW_AT_type        :$int_label}
+			{DW_AT_upper_bound 0 DW_FORM_data1}
+		    }
+		}
+		varval3_def_label: DW_TAG_variable {
+		    {DW_AT_name "varval3"}
+		    {DW_AT_external 1 DW_FORM_flag}
+		    {DW_AT_type :${int_array_of_1_label}}
+		    {DW_AT_location {DW_OP_addr [gdb_target_symbol "var_a"]} SPECIAL_expr}
+		}
+
 		DW_TAG_subprogram {
 		    {MACRO_AT_func { "main" "${srcdir}/${subdir}/${srcfile}" }}
 		    {DW_AT_type :${int_label}}
@@ -277,19 +304,24 @@ proc setup_exec { arg_bad } {
     if [prepare_for_testing "failed to prepare" ${executable} [list ${asm_file} ${srcfile}] {}] {
 	return -1
     }
-
-    # DW_OP_GNU_variable_value implementation requires a valid frame.
-    if ![runto_main] {
-	return -1
-    }
 }
 
 if { [setup_exec 0] == -1 } {
     return -1
 }
 
+with_test_prefix "pre-main" {
+    gdb_test "print varval3" "= \\{8\\}" ""
+}
+
+# DW_OP_GNU_variable_value implementation requires a valid frame.
+if ![runto_main] {
+    return -1
+}
+
 gdb_test "print varval" "= 8"
 gdb_test "print varval2" "= 8"
+gdb_test "print varval3" "= \\{8\\}"
 gdb_test "print constval" "= 53"
 gdb_test "print mixedval" "= 42"
 gdb_test "print pointerval" "= \\(int \\*\\) $hex <var_b>"
@@ -311,6 +343,10 @@ if { [setup_exec 1] == -1 } {
     return -1
 }
 
+# DW_OP_GNU_variable_value implementation requires a valid frame.
+if ![runto_main] {
+    return -1
+}
 gdb_test "print badval" "value has been optimized out"
 gdb_test "print bad_die_val1" \
          "invalid dwarf2 offset 0xabcdef11"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/testsuite/gdb.threads/pthreads.exp ./gdb/testsuite/gdb.threads/pthreads.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/testsuite/gdb.threads/pthreads.exp	2019-12-06 01:50:00.000000000 +0000
+++ ./gdb/testsuite/gdb.threads/pthreads.exp	2019-12-07 01:49:43.000000000 +0000
@@ -334,10 +334,14 @@ proc check_qcs {} {
 	    ] \
 	"run a failing command except in one frame of thread 2,3, -s to silently continue.  Do not show thread and frame info"
 
-    # Check invalid flag combinations.
+    # Check invalid flag combinations and errors.
     gdb_test "thread apply all -c -s p 1" \
 	"thread apply all: -c and -s are mutually exclusive" \
 	"check -c and -s cannot be used simultaneously"
+    gdb_test "taas" "Please specify a command to apply on all threads" \
+	"missing command for taas"
+    gdb_test "tfaas" "Please specify a command to apply on all frames of all threads" \
+	"missing command for tfaas"
 
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/thread.c ./gdb/thread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/gdb/thread.c	2019-12-06 01:50:00.000000000 +0000
+++ ./gdb/thread.c	2019-12-07 01:49:43.000000000 +0000
@@ -1818,6 +1818,8 @@ thread_apply_command (const char *tidlis
 static void
 taas_command (const char *cmd, int from_tty)
 {
+  if (cmd == NULL || *cmd == '\0')
+    error (_("Please specify a command to apply on all threads"));
   std::string expanded = std::string ("thread apply all -s ") + cmd;
   execute_command (expanded.c_str (), from_tty);
 }
@@ -1827,6 +1829,8 @@ taas_command (const char *cmd, int from_
 static void
 tfaas_command (const char *cmd, int from_tty)
 {
+  if (cmd == NULL || *cmd == '\0')
+    error (_("Please specify a command to apply on all frames of all threads"));
   std::string expanded
     = std::string ("thread apply all -s -- frame apply all -s ") + cmd;
   execute_command (expanded.c_str (), from_tty);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/md5.sum ./md5.sum
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/md5.sum	2019-12-06 01:54:29.000000000 +0000
+++ ./md5.sum	2019-12-07 01:53:41.000000000 +0000
@@ -36,7 +36,7 @@ a8bf329c24203303d1343c3eed58c07b  bfd/el
 5cb0eef365977eb8c7430c04738a9e2c  bfd/wasm-module.c
 ce93ef6cd4c0ba0799b9d6d75b36638a  bfd/elf64-mips.c
 c4d082a9c0c27456afe3357c4987b675  bfd/cpu-m9s12x.c
-05c36dded4d8184b2fbf1954184e7bf4  bfd/version.h
+0369dfe9811c2d61d248a820826af70a  bfd/version.h
 f635e95e06957e744083b2160029e168  bfd/cpu-tilegx.c
 f2af796af1efd1971472837a26010b6f  bfd/coff-mcore.c
 89637e92fbef834ef0c545805106bcc4  bfd/cpu-avr.c
@@ -756,7 +756,7 @@ f58a6ef9094881fb0797296e47d6358a  gdb/i3
 02e431732534d52ead450b6d33a6ebba  gdb/maint.h
 c53d011c44de38f7035cdc4592a6c648  gdb/microblaze-linux-tdep.c
 3883017d85f3d418e11b1e486c651f83  gdb/unwind_stop_reasons.def
-f9d1b7b29f9ffcfbb22f8ea1288155dd  gdb/bcache.h
+270a9f5aad16278236d04147afdf278b  gdb/bcache.h
 3724de6d692ecabe045b076296ce0a98  gdb/objfile-flags.h
 f8eeb7d8ca92555d4f09fc6e25ff33f6  gdb/ui-style.c
 b27dfa5b4181f6b8684d3bbea927cb80  gdb/contrib/expect-read1.c
@@ -781,12 +781,12 @@ a76da13e8bc37fdb10451c8e325b8baf  gdb/bt
 ed316f4adf752b73da1c357437cfa771  gdb/x86-bsd-nat.c
 2cc0e89d09628e04609b0d799c1784bf  gdb/windows-nat.h
 abd6c78ba2ba4e76bbdfe089c8f88265  gdb/sparc64-linux-tdep.c
-6a584324a12e1321bfa557d89f0d910e  gdb/gdbtypes.h
+4779b1ab4581745256ef253d157db1f7  gdb/gdbtypes.h
 a3e2eab3f675ede38d26697497bc0000  gdb/sim-regno.h
 e6441bf52ce0c783b9536b4cede70f4e  gdb/mips64-obsd-tdep.c
 08cfa0e1d1851e99aae2024bcf989b74  gdb/ia64-libunwind-tdep.c
 161075dc6935d2df14e3616460c60d25  gdb/rs6000-aix-tdep.c
-5b7d600fa479574abbf7c34722f49b28  gdb/macrotab.c
+4208d961a8455c6c3d06cae96636537f  gdb/macrotab.c
 5c1eb5863bd908ee8d3cbc89841b2329  gdb/rust-lang.h
 eea46dc745ad41c3c792bcd632b2fc18  gdb/agent.c
 526536cf30b137dcebfaaa604fa55615  gdb/ChangeLog-1994
@@ -1035,7 +1035,7 @@ cd657a4e8ed2d45e7bd6bac5a702c10c  gdb/cl
 0658d32a1f1c82c01c24cc55cca65d34  gdb/valprint.h
 0110a020b84a78ca16939ce417bf9caf  gdb/amd64-fbsd-nat.c
 ef066d07ce477b1c1eacd6ca754bb7a8  gdb/ravenscar-thread.h
-5428f48895880bce0f5531497de5acc0  gdb/objfiles.h
+aaa82b382f9fc70dc98b25237dc5f652  gdb/objfiles.h
 429546b995763d93b68e72b3c3e0b543  gdb/reply_mig_hack.awk
 0affd1e5b89d0a34bd8be605a4c4c42e  gdb/nto-tdep.h
 24096aca3294cab3717506c2c69a7272  gdb/msg_reply.defs
@@ -1150,7 +1150,7 @@ e3eacfa14bfda41e07058fd6c5cabdc6  gdb/da
 e432650f349837ea0344c360fdbc4092  gdb/sparc64-nbsd-tdep.c
 f971d36e35ec0c3fce64b819d7891f15  gdb/ChangeLog-1993
 97cf02bb61361edc782a95cfc85a6deb  gdb/regcache.c
-1cf32c1dc17ab8f2a21e63ce12ecb109  gdb/thread.c
+7df96f040c2f0143864fda00b9dc1360  gdb/thread.c
 60b4873a6bdd481029ee36a2c1c9280b  gdb/gdb_buildall.sh
 22f9ab581da39cb6855ad86fcd1af298  gdb/target-descriptions.c
 14f14413e6f9397edd41ce8b7da5aee5  gdb/target.c
@@ -1160,7 +1160,7 @@ aa2a7f6fd9f90abd11c4788816931fa6  gdb/i3
 f0f0f42873330be830a2ed8ee825e2bc  gdb/frame.h
 cf7a4b2f598a72e543dd03779502a87f  gdb/darwin-nat.c
 cd48a447305aa41ba9525cdf1cdbc876  gdb/symfile-debug.c
-4ab35895f5bcfd25d8b616d20cc13f2a  gdb/stack.c
+bd803d570c171081a07a26dc11df213a  gdb/stack.c
 dceecd1f6b79c70b072c20fe1322e39f  gdb/ser-tcp.c
 aef891e489ec61945aa539060447dd83  gdb/vax-tdep.h
 923e62f97e0d12603992f06db4646984  gdb/ptrace.m4
@@ -1180,7 +1180,7 @@ db8b760630f344c7331dcd04ed1f16c1  gdb/aa
 5849b004ac8a54dad31586d8124b58ec  gdb/break-catch-throw.c
 3456e2eb17d78fe98353c160e67c309d  gdb/rs6000-aix-tdep.h
 fe457323b648ee915db69d8eca7fe933  gdb/gnu-v2-abi.c
-2de51d4fc608e690e8089edf45526f70  gdb/block.c
+524a2a1e6b6bf6c3054823af9373b275  gdb/block.c
 46d4d315ccc5bbd3d3c8a7489262aa53  gdb/.gitignore
 78ade55423ae602ce2cba2cfe099b65e  gdb/alpha-bsd-tdep.h
 5d142d839ac9dbde744d4ca119fd796b  gdb/x86-tdep.c
@@ -1259,7 +1259,7 @@ ba791ae012c88482992494d24cfb73bd  gdb/gd
 45ec9abd1b2d4826e8e0f221a7f1474a  gdb/sentinel-frame.c
 e626c8d9e613c75ce8e3d3a606d2e89c  gdb/score-tdep.h
 7292a61746f040ef1b0503033e56bd9b  gdb/coff-pe-read.c
-c851fd60fdfebca395ebf64123ea94f2  gdb/bcache.c
+cae5fb3c4bb703a86ed8f11863f16187  gdb/bcache.c
 e82e1a53dbb63d792fc8645192a4b2cb  gdb/gdb-gdb.gdb.in
 a900d20b330fb8bb2bfe7b3275055a04  gdb/rust-exp.c
 3003aeb2f0a62020daf165042967653a  gdb/i386-linux-tdep.h
@@ -1512,7 +1512,7 @@ e5803325cf92401f3a7638513c2c4639  gdb/te
 4195d3718293b642b8ead0ca9e2e1448  gdb/testsuite/gdb.cp/nsusing.cc
 f6f98a1cd66f0c2a9e1be299c914bf47  gdb/testsuite/gdb.cp/align.exp
 0a1de27ae133d3d51404caa05c9c59e0  gdb/testsuite/gdb.cp/demangle.exp
-4a0a9e315ffbe1b96cb6583c0a15b9df  gdb/testsuite/gdb.cp/rvalue-ref-overload.cc
+1c1aa4330868952b5dd52de24254535f  gdb/testsuite/gdb.cp/rvalue-ref-overload.cc
 d6ed226431adc34de1f41f2c2bc2168a  gdb/testsuite/gdb.cp/overload.cc
 eec8d6f0d95309501de1537ecc22af8a  gdb/testsuite/gdb.cp/destrprint.exp
 5ab1dc11161266de97c8c541e83f9137  gdb/testsuite/gdb.cp/ref-params.exp
@@ -1692,7 +1692,7 @@ fa68c66356324fc27903bd0b487b5727  gdb/te
 5aa100b253777f14d000cbac2d0a5c31  gdb/testsuite/gdb.cp/namespace-nested-import.cc
 1b230ab8da1b477237f0e769d5bd1af3  gdb/testsuite/gdb.cp/operator.cc
 02176d52bd4fef7223ffe44feabf3540  gdb/testsuite/gdb.cp/minsym-fallback.cc
-151a1802f27cf24d16a5326d16d9ccf6  gdb/testsuite/gdb.cp/rvalue-ref-overload.exp
+f16f0ae64fdc106ae64db537f085df0f  gdb/testsuite/gdb.cp/rvalue-ref-overload.exp
 b4e27711f6e1b4b16df591b4acd7bdf1  gdb/testsuite/gdb.cp/hang3.cc
 feb819b43dbe4b5c8af03a9f050c6d04  gdb/testsuite/gdb.cp/virtbase.cc
 5eebbdbf1092b43b40e5ff4130959eb4  gdb/testsuite/gdb.cp/virtfunc.cc
@@ -3009,7 +3009,7 @@ cbca4021b81834df64f23994321f8658  gdb/te
 44d14e004dfe93f30e08d9dfe79a1835  gdb/testsuite/gdb.base/watch-vfork.exp
 0feec0a0e975168b7e6bb9d8f92a25b4  gdb/testsuite/gdb.base/noreturn-return.c
 0b4e499f872cfeaab21e0b173c718ca9  gdb/testsuite/gdb.base/lineinc1.h
-358c21963d6a28985745ce1f6b164a14  gdb/testsuite/gdb.base/frameapply.exp
+65011f8b35f81667b0304a7704bd3d91  gdb/testsuite/gdb.base/frameapply.exp
 aa0440e5086c8d58feedaef0af5fc0d4  gdb/testsuite/gdb.base/dprintf-next.c
 e97692b1e8aa59fb622c3636e877c35e  gdb/testsuite/gdb.base/shr1.c
 7de13b24548f6a29b1e84492b3f44b9f  gdb/testsuite/gdb.base/step-symless.c
@@ -3626,7 +3626,7 @@ f20450392941ec91f2bdf88ee73157a0  gdb/te
 261286880f14012a947686db1cf2d857  gdb/testsuite/gdb.dwarf2/dw2-anon-mptr.S
 9413d614a82ea8a31593569668c01644  gdb/testsuite/gdb.dwarf2/watch-notconst.c
 8bfd91f66c2fdd8859c75ebe0f86c6c1  gdb/testsuite/gdb.dwarf2/dw2-noloc.exp
-63fcf8039e8b320593fd1e3ce0a1f707  gdb/testsuite/gdb.dwarf2/varval.exp
+41c26b05caa1814fe2ea241ef8876bc6  gdb/testsuite/gdb.dwarf2/varval.exp
 ed0a15ff3cc30121f65c188809a7c109  gdb/testsuite/gdb.dwarf2/dw2-cu-size.S
 99bee9618cc8cf3efae34b607602a8e7  gdb/testsuite/gdb.dwarf2/variant.exp
 c83967e85db3718566affa58c9fb460d  gdb/testsuite/gdb.dwarf2/dw2-inline-param.exp
@@ -4275,7 +4275,7 @@ ff8b646fd14d27e9192d922a83987306  gdb/te
 82962b92e540353c8a584d70bae20817  gdb/testsuite/gdb.threads/attach-into-signal.exp
 462a279b61a728340bc505bd2873f931  gdb/testsuite/gdb.threads/attach-many-short-lived-threads.exp
 fd28d9c559efa7def4dec225297041de  gdb/testsuite/gdb.threads/interrupted-hand-call.exp
-f03bb898d34f2b7ed0bdcea62e640c1e  gdb/testsuite/gdb.threads/pthreads.exp
+f295ad40ec1c3f1c32b950edf7fa9e2a  gdb/testsuite/gdb.threads/pthreads.exp
 093c6279466030c1bb91888ebabdd9f9  gdb/testsuite/gdb.threads/watchpoint-fork-parent.c
 c10009079428641acf3c19959c3bff7f  gdb/testsuite/gdb.threads/signal-while-stepping-over-bp-other-thread.c
 ff5bdcfa74d17ba00d6c2cecfcdc2b2b  gdb/testsuite/gdb.threads/leader-exit.c
@@ -4449,7 +4449,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
-7d36bda7ce0409bfd2d37bc38d818d34  gdb/testsuite/ChangeLog
+d08c4742b6e4fc751bece9ba5dd05ecc  gdb/testsuite/ChangeLog
 b3f11b21e5921c419a43f93720dedf85  gdb/testsuite/gdb.asm/empty.inc
 f2ba3acca1442df88b4c0ee97da94c54  gdb/testsuite/gdb.asm/asm-source.exp
 f1621bbbb2acbec5adef86d7d9549975  gdb/testsuite/gdb.asm/bfin.inc
@@ -5284,44 +5284,44 @@ e80b03a7b7627b45d3215a1080f61615  gdb/sy
 518eeb650ede533c76597c3a1c3b5b5f  gdb/f-valprint.c
 b4661232e1c651351e7aab789eebdb61  gdb/gdb_curses.h
 8108dd8f906f2654fecc74958cf383db  gdb/doc/psrc.sed
-61d8c068c29f792b21e4824c524cbf7a  gdb/doc/gdb.info-3
-9b22d3f1c6aea016e6fdbea2b2c6b1c3  gdb/doc/gdb.info-4
+b4f70eed96ff6b6d628c19988a1b4df2  gdb/doc/gdb.info-3
+4dc7499057c947da170034f35c0c1fc5  gdb/doc/gdb.info-4
 ab0fe311032294b952da80585b8b90e7  gdb/doc/fdl.texi
 5db562992b3f0178f803b66c2b2337fd  gdb/doc/Makefile.in
-0974535639d3f08090b761d5745ddfd9  gdb/doc/gdb.info-7
-f53b9f68a380c026e06ada04ec66a3c8  gdb/doc/gdbserver.1
+ef42ed94bf1f8ce69d01138eb55212f2  gdb/doc/gdb.info-7
+cf2c46dacb210e4c8cf62678f00676d9  gdb/doc/gdbserver.1
 34e70c52a663f6a691f6ceb17e8b3e48  gdb/doc/guile.texi
 f81a0e00e0cb9e41b078069fb9bedb07  gdb/doc/stack_frame.txt
 a07e6b7f88c558d15d03adeeaca94c74  gdb/doc/stabs.info
-946fd1245e1c34a6aa15be56423f9dc3  gdb/doc/gdb.info-5
-ff57d7c1602e4d5f7bfa3941b4f510f3  gdb/doc/gdb.info-8
+f69491c5b23032c804891a3502149ca7  gdb/doc/gdb.info-5
+e68ac9b7d17b0e43ea3c6bf3fbde7b5a  gdb/doc/gdb.info-8
 9137c9e47e1692b8efec8e28482aa6fb  gdb/doc/agentexpr.texi
 66674dc351ba95941f422dc18cae24bb  gdb/doc/.gitignore
-0b1fd4ae9e324c7c7dbd1f160729ca35  gdb/doc/gdb.info-1
+ba7fbc940e9a9fb072ace5fabc9efb92  gdb/doc/gdb.info-1
 d5d06eaf9b4d44aa442a4a281aa9aea4  gdb/doc/a4rc.sed
-0813919f410ea1fdfd9be025c94682e8  gdb/doc/gdb.info-6
+9bea9bc573d14115834a76fa1c108159  gdb/doc/gdb.info-6
 e56d1d100677e3f5949bacad8189c328  gdb/doc/gdb.texinfo
-2491281f14eb8c8885e8e5f3a08e9908  gdb/doc/gdb-add-index.1
+e3f9250ea839eb5b09935759b7c63712  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
-995da9d603e0b4f3b7b226d279c478c6  gdb/doc/gdb.info-2
+0fad1ff03b268929722b3f732f20ca2d  gdb/doc/gdb.info-2
 fdd79e6125e56c1eb7e28b2a71d5b48e  gdb/doc/refcard.tex
 6076d300a46651562d4ecd0604442414  gdb/doc/stack_frame.png
-abd3687a2dd2165c6c3adaf1bd5f8fa4  gdb/doc/gdb.info
+1866e6266981ad8273601a88882493c3  gdb/doc/gdb.info
 8bb39bf41da6a03890e05a9ab1b373b9  gdb/doc/python.texi
 9927faec0d3464d1bc485cd0c69a4a46  gdb/doc/stabs.texinfo
 452fabbb30b88f1fc182fc8e5e31ba27  gdb/doc/ChangeLog
-2f1a7b13f6136e72f68ef48e7d3b4e1a  gdb/doc/gdb.1
-a191de8872889a2e19996f452a570639  gdb/doc/gcore.1
+ee0a432cae07abdd9f6d8e0d3a2eed7a  gdb/doc/gdb.1
+18e928b266d96dc3b5ebea5c8ceee490  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
-a108e156a5004ae09fabbce818ed508b  gdb/doc/gdbinit.5
+64cd79104411a4b256cacec04aa0c139  gdb/doc/gdbinit.5
 24d4f8b6396da16d9a8dd98281ac40ff  gdb/doc/Doxyfile-gdb-xref.in
 6f3b23a5f42aba8cbac1bcf7329942e4  gdb/doc/annotate.texinfo
 0b3e26fe6db92700f1e51071ff475193  gdb/doc/doxy-index.in
@@ -5756,7 +5756,7 @@ ff2b2264d3bc2c96926dca89c1596eff  gdb/pr
 dce587078c693a6ff096e9ac8c76f247  gdb/maint.c
 c086e7b7f948f2285c1cbb4d6656689c  gdb/x86-bsd-nat.h
 a8282658401449c6beef61c9f36f145b  gdb/moxie-tdep.c
-109ab549ccf01205d017e16709bd2428  gdb/gdbtypes.c
+bf3c3ec5c0473b669b8c26b26e27eeb4  gdb/gdbtypes.c
 c5ffbe634b4abf2108700a75ba62aa0f  gdb/ppc-obsd-nat.c
 11e488d83e18c4036892ff4450937c16  gdb/mips-nbsd-nat.c
 8de7206d485292751ca31a6de7590c3b  gdb/elfread.c
@@ -5819,7 +5819,7 @@ a30b3bcd800fc48da1db92bda3997d83  gdb/xm
 545feaf2e5f7058f4c0f5c7f783cfe0c  gdb/h8300-tdep.c
 3f2b067e9465033157280f313b6b21bd  gdb/extension-priv.h
 6204b5556c2197f43279ccac157be052  gdb/s390-linux-tdep.h
-a7cefd8a667b2f8669db7b3fa3a9485b  gdb/psymtab.h
+081b67211d770031ce4508f65f365047  gdb/psymtab.h
 adc0b8c9ed245cc83198b0c7eb183127  gdb/ui-style.h
 a88e31ebdc95dea2e182e90fa3596b09  gdb/varobj.c
 412413deb71791bf338df744b63b8778  gdb/alpha-linux-tdep.c
@@ -5831,7 +5831,7 @@ a88e31ebdc95dea2e182e90fa3596b09  gdb/va
 7242736b5bba9098c974d0e015b167a5  gdb/std-regs.c
 90d72be4c884a79ded08fa4fbbcb6b9b  gdb/go-lang.h
 9a1fd6216061720bf8556e23cf224721  gdb/i386-windows-nat.c
-7052991e3a215ae513bc8c66e1200382  gdb/po/gdb.pot
+c993a71c789fda48ee66d7ea8c18c5f7  gdb/po/gdb.pot
 1851bff0653201a488dcae18dde7efad  gdb/po/gdbtext
 7da5f0db2eb697d3fb85524954abaef5  gdb/break-catch-syscall.c
 f7aa291f013990b620f171fbd5c9d9b2  gdb/ada-lang.c
@@ -5863,7 +5863,7 @@ e3e2430aebaf80b6aca6759cfa9612d4  gdb/nb
 0d4182edc7beb626c56d423668383a2b  gdb/i386-fbsd-nat.c
 094e893d632874e14e92917b8c57c5fd  gdb/mipsread.c
 d4e47464ef8b510c11c547fb163d603a  gdb/amd64-darwin-tdep.c
-43dd1f8e5ea1777d9105fae50d87059b  gdb/ChangeLog
+1c79940afb10ad90bf0e07aba23cda8e  gdb/ChangeLog
 2fd8f81fb260df7b31ffaaaa44e1d4b9  gdb/go-typeprint.c
 6bdae112ab8858c8b8eb3e32bc9b5b45  gdb/score-tdep.c
 170c97d0320940cea4fda1d1cb413687  gdb/xml-support.h
@@ -5917,7 +5917,7 @@ a086afe75c944455b65364d97f311063  gdb/bu
 0baa5eacc7f007963a9c7fc46ff0c233  gdb/target-descriptions.h
 e47d0045a9290ea002fc3da491cfee00  gdb/corefile.c
 490a02742eb8fb6a6ca024bf4b0e8959  gdb/x86-linux-nat.c
-9de6c0597a68018d17c7d91d2ace0c97  gdb/macrotab.h
+283bf2b9f35f1184f098c1eabf1fbc58  gdb/macrotab.h
 ba166849b3d810d87a0b74402fcdbf01  gdb/progspace.h
 071369803c3aba386e15e14a3328bf55  gdb/regformats/s390-tevx-linux64.dat
 44fa14e15b931dc63422873dc3a5aae1  gdb/regformats/nios2-linux.dat
@@ -12194,8 +12194,8 @@ b6e69eedb6360fc61b5d5bb482d202f1  sim/RE
 3ae304c0209434ae4e25d96e24881808  sim/arm/iwmmxt.h
 b477b716ac521b659f7837c5a7602fca  sim/arm/Makefile.in
 11df2e587b349a09a16286de5bbe3c56  sim/arm/thumbemu.c
-b000177b171279f3122f078ee33cf960  sim/arm/wrapper.c
-03701bfdfbd35ac30572fb81bc255b2a  sim/arm/armemu.c
+fe8b7037850e606e1ef981a446e93a8a  sim/arm/wrapper.c
+ec3d54ff8f131a8e1253fbc53b029782  sim/arm/armemu.c
 79b3f19a4a961715ed1b3fc266e073d6  sim/arm/config.in
 e7dd365f1ca1a58020c813d6e9369075  sim/arm/configure.ac
 a62a77605003de7a8ba75d8247fd77b7  sim/arm/README
@@ -12204,15 +12204,16 @@ c4ed795d8dc06d6f8eade00f7540db80  sim/ar
 1962b9f2ca398038033e6e62d5fa0905  sim/arm/armdefs.h
 b11fe314e23f138704804aedc06e483d  sim/arm/iwmmxt.c
 68468963c3ef325838864f7216f70da9  sim/arm/armvirt.c
+0e698c14e78685b085e85d24f9abc64f  sim/arm/maverick.h
 46cac1156b87b55c6ac594921dba9f82  sim/arm/armos.h
 aa86cbc835a69895d241d450d689efbb  sim/arm/configure
 4ab55a35c7007d58ee370d38587e6907  sim/arm/aclocal.m4
 094764c9d200b64d8715f1d3da494b3f  sim/arm/dbg_rdi.h
-1b74e169746ed00b93ba59f8259cc4a1  sim/arm/ChangeLog
+e02360fa81250cf9999bfd87ed24ad9f  sim/arm/ChangeLog
 45f7109e49ca9fbc7ba02c7380552958  sim/arm/armsupp.c
-ba916bda4bab6270d7dbacbee802374b  sim/arm/arminit.c
+abc067aa665bd2d6fce1e375cbdbfeff  sim/arm/arminit.c
 d32239bcb673463ab874e80d47fae504  sim/arm/COPYING
-bb64c836e5184187e20b3874b237f80f  sim/arm/maverick.c
+f8502806140e9c9e5eba185a07ee9973  sim/arm/maverick.c
 843495b2b85c8316a43a2efeeaa3fb29  sim/arm/armos.c
 baea1fbca873f544abe03808cf41ebdf  sim/arm/armemu.h
 6f042fd0ab0ce8cd9c92d3c98654527d  sim/arm/sim-main.h
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/sim/arm/armemu.c ./sim/arm/armemu.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/sim/arm/armemu.c	2019-12-06 01:50:02.000000000 +0000
+++ ./sim/arm/armemu.c	2019-12-07 01:49:45.000000000 +0000
@@ -1140,10 +1140,6 @@ handle_VFP_move (ARMul_State * state, AR
 
 /* EMULATION of ARM6.  */
 
-/* The PC pipeline value depends on whether ARM
-   or Thumb instructions are being executed.  */
-ARMword isize;
-
 ARMword
 #ifdef MODE32
 ARMul_Emulate32 (ARMul_State * state)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/sim/arm/arminit.c ./sim/arm/arminit.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/sim/arm/arminit.c	2019-12-06 01:50:02.000000000 +0000
+++ ./sim/arm/arminit.c	2019-12-07 01:49:45.000000000 +0000
@@ -40,6 +40,10 @@ unsigned ARMul_MultTable[32] =
 ARMword ARMul_ImmedTable[4096];	/* immediate DP LHS values */
 char ARMul_BitList[256];	/* number of bits in a byte table */
 
+/* The PC pipeline value depends on whether ARM
+   or Thumb instructions are being executed.  */
+ARMword isize;
+
 /***************************************************************************\
 *         Call this routine once to set up the emulator's tables.           *
 \***************************************************************************/
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/sim/arm/ChangeLog ./sim/arm/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/sim/arm/ChangeLog	2019-12-06 01:50:02.000000000 +0000
+++ ./sim/arm/ChangeLog	2019-12-07 01:49:45.000000000 +0000
@@ -1,3 +1,17 @@
+2019-12-06  Luis Machado  <luis.machado@linaro.org>
+
+	* armemu.c (isize): Move this declaration ...
+	* arminit.c (isize): ... here.
+	* maverick.h: New file.
+	* wrapper.c: Include "maverick.h".
+	(<struct maverick_regs>, <union maverick_acc_regs>): Remove and update
+	comment.
+	(sim_create_inferior): Cast variables to proper type.
+	* maverick.c: Include "maverick.h".
+	(<struct maverick_regs>, <union maverick_acc_regs>): Move
+	declarations to maverick.h and update comment.
+	(DSPsc, DSPacc, DSPregs): Adjust comment.
+
 2018-01-02  Nick Clifton  <nickc@redhat.com>
 
 	PR 22663
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/sim/arm/maverick.c ./sim/arm/maverick.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/sim/arm/maverick.c	2019-12-06 01:50:02.000000000 +0000
+++ ./sim/arm/maverick.c	2019-12-07 01:49:45.000000000 +0000
@@ -19,6 +19,7 @@
 #include "armdefs.h"
 #include "ansidecl.h"
 #include "armemu.h"
+#include "maverick.h"
 
 /*#define CIRRUS_DEBUG 1	*/
 #if CIRRUS_DEBUG
@@ -30,36 +31,10 @@
 #define POS64(i) ( (~(i)) >> 63 )
 #define NEG64(i) ( (i) >> 63 )
 
-/* Define Co-Processor instruction handlers here.  */
-
-/* Here's ARMulator's DSP definition.  A few things to note:
-   1) it has 16 64-bit registers and 4 72-bit accumulators
-   2) you can only access its registers with MCR and MRC.  */
-
-/* We can't define these in here because this file might not be linked
-   unless the target is arm9e-*.  They are defined in wrapper.c.
-   Eventually the simulator should be made to handle any coprocessor
-   at run time.  */
-struct maverick_regs
-{
-  union
-  {
-    int i;
-    float f;
-  } upper;
-
-  union
-  {
-    int i;
-    float f;
-  } lower;
-};
-
-union maverick_acc_regs
-{
-  long double ld;		/* Acc registers are 72-bits.  */
-};
-
+/* These variables are defined here and made extern in maverick.h for use
+   in wrapper.c for now.
+   Eventually the simulator should be made to handle any coprocessor at run
+   time.  */
 struct maverick_regs DSPregs[16];
 union maverick_acc_regs DSPacc[4];
 ARMword DSPsc;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/sim/arm/maverick.h ./sim/arm/maverick.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/sim/arm/maverick.h	1970-01-01 00:00:00.000000000 +0000
+++ ./sim/arm/maverick.h	2019-12-07 01:49:45.000000000 +0000
@@ -0,0 +1,46 @@
+/*  maverick.h -- Cirrus/DSP co-processor interface header
+    Copyright (C) 2003-2019 Free Software Foundation, Inc.
+    Contributed by Aldy Hernandez (aldyh@redhat.com).
+
+    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/>. */
+
+/* Define Co-Processor instruction handlers here.  */
+
+/* Here's ARMulator's DSP definition.  A few things to note:
+   1) it has 16 64-bit registers and 4 72-bit accumulators
+   2) you can only access its registers with MCR and MRC.  */
+
+struct maverick_regs
+{
+  union
+  {
+    int i;
+    float f;
+  } upper;
+
+  union
+  {
+    int i;
+    float f;
+  } lower;
+};
+
+union maverick_acc_regs
+{
+  long double ld;		/* Acc registers are 72-bits.  */
+};
+
+extern struct maverick_regs DSPregs[16];
+extern union maverick_acc_regs DSPacc[4];
+extern ARMword DSPsc;
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/sim/arm/wrapper.c ./sim/arm/wrapper.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191206/sim/arm/wrapper.c	2019-12-06 01:50:02.000000000 +0000
+++ ./sim/arm/wrapper.c	2019-12-07 01:49:45.000000000 +0000
@@ -37,6 +37,7 @@
 #include "gdb/signals.h"
 #include "libiberty.h"
 #include "iwmmxt.h"
+#include "maverick.h"
 
 /* TODO: This should get pulled from the SIM_DESC.  */
 host_callback *sim_callback;
@@ -101,38 +102,6 @@ print_insn (ARMword instr)
   fprintf (stderr, " %*s\n", size, opbuf);
 }
 
-/* Cirrus DSP registers.
-
-   We need to define these registers outside of maverick.c because
-   maverick.c might not be linked in unless --target=arm9e-* in which
-   case wrapper.c will not compile because it tries to access Cirrus
-   registers.  This should all go away once we get the Cirrus and ARM
-   Coprocessor to coexist in armcopro.c-- aldyh.  */
-
-struct maverick_regs
-{
-  union
-  {
-    int i;
-    float f;
-  } upper;
-
-  union
-  {
-    int i;
-    float f;
-  } lower;
-};
-
-union maverick_acc_regs
-{
-  long double ld;		/* Acc registers are 72-bits.  */
-};
-
-struct maverick_regs     DSPregs[16];
-union maverick_acc_regs  DSPacc[4];
-ARMword DSPsc;
-
 static void
 init (void)
 {
@@ -236,7 +205,7 @@ sim_create_inferior (SIM_DESC sd ATTRIBU
 {
   int argvlen = 0;
   int mach;
-  char **arg;
+  char * const *arg;
 
   init ();
 
