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.20191211/bfd/bfd-in2.h ./bfd/bfd-in2.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/bfd/bfd-in2.h	2019-12-11 01:49:16.000000000 +0000
+++ ./bfd/bfd-in2.h	2019-12-15 01:49:37.000000000 +0000
@@ -654,9 +654,9 @@ void bfd_set_filename (bfd *abfd, char *
 #define bfd_put_signed_8 \
   bfd_put_8
 #define bfd_get_8(abfd, ptr) \
-  (*(const unsigned char *) (ptr) & 0xff)
+  ((bfd_vma) *(const unsigned char *) (ptr) & 0xff)
 #define bfd_get_signed_8(abfd, ptr) \
-  (((*(const unsigned char *) (ptr) & 0xff) ^ 0x80) - 0x80)
+  ((((bfd_signed_vma) *(const unsigned char *) (ptr) & 0xff) ^ 0x80) - 0x80)
 
 #define bfd_put_16(abfd, val, ptr) \
   BFD_SEND (abfd, bfd_putx16, ((val),(ptr)))
@@ -700,7 +700,7 @@ bfd_vma bfd_getl24 (const void *p);
   BFD_SEND (abfd, bfd_getx_signed_64, (ptr))
 
 #define bfd_get(bits, abfd, ptr)                       \
-  ((bits) == 8 ? (bfd_vma) bfd_get_8 (abfd, ptr)       \
+  ((bits) == 8 ? bfd_get_8 (abfd, ptr)                 \
    : (bits) == 16 ? bfd_get_16 (abfd, ptr)             \
    : (bits) == 32 ? bfd_get_32 (abfd, ptr)             \
    : (bits) == 64 ? bfd_get_64 (abfd, ptr)             \
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.20191211/bfd/ChangeLog ./bfd/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/bfd/ChangeLog	2019-12-11 01:49:16.000000000 +0000
+++ ./bfd/ChangeLog	2019-12-15 01:49:37.000000000 +0000
@@ -1,3 +1,34 @@
+2019-12-13  Alan Modra  <amodra@gmail.com>
+
+	PR 25237
+	* elf.c: (assign_file_positions_for_load_sections): Attempt to
+	keep meaningless p_offset for PT_LOAD segments without file
+	contents within file size.
+
+2019-12-12  Alan Modra  <amodra@gmail.com>
+
+	* libbfd.c (bfd_get): Don't cast result of bfd_get_8.
+	* bfd-in2.h: Regenerate.
+
+2019-12-11  Alan Modra  <amodra@gmail.com>
+
+	* elf32-rx.c (elf32_rx_relax_section): Avoid signed overflow.
+	* libaout.h (N_SET_INFO, N_SET_FLAGS): Likewise.
+	* netbsd.h (write_object_contents): Likewise.
+	* elf32-arm.c (bfd_elf32_arm_vfp11_erratum_scan): Likewise.
+	* libhppa.h (HPPA_R_CONSTANT): Don't signed extend with shifts.
+	(stm32l4xx_create_replacing_stub_vldm): Don't truncate high bits
+	with shifts.
+	* elf32-nds32.h (R_NDS32_RELAX_ENTRY_DISABLE_RELAX_FLAG): Define
+	using 1u shifted left.  Ditto for other macros.
+	* mmo.c (LOP): Make unsigned.
+
+2019-12-11  Alan Modra  <amodra@gmail.com>
+
+	* libbfd.c (bfd_get_8): Return a bfd_vma.
+	(bfd_get_signed_8): Return a bfd_signed_vma.
+	* bfd-in2.h: Regenerate.
+
 2019-12-11  Alan Modra  <amodra@gmail.com>
 
 	* xtensa-modules.c (Field_* functions): Don't mask using shifts.
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.20191211/bfd/doc/bfd.info ./bfd/doc/bfd.info
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/bfd/doc/bfd.info	2019-12-11 01:51:27.000000000 +0000
+++ ./bfd/doc/bfd.info	2019-12-15 01:51:56.000000000 +0000
@@ -9325,9 +9325,9 @@ less than a 'bfd_vma', use 'gcc -Wconver
      #define bfd_put_signed_8 \
        bfd_put_8
      #define bfd_get_8(abfd, ptr) \
-       (*(const unsigned char *) (ptr) & 0xff)
+       ((bfd_vma) *(const unsigned char *) (ptr) & 0xff)
      #define bfd_get_signed_8(abfd, ptr) \
-       (((*(const unsigned char *) (ptr) & 0xff) ^ 0x80) - 0x80)
+       ((((bfd_signed_vma) *(const unsigned char *) (ptr) & 0xff) ^ 0x80) - 0x80)
 
      #define bfd_put_16(abfd, val, ptr) \
        BFD_SEND (abfd, bfd_putx16, ((val),(ptr)))
@@ -9371,7 +9371,7 @@ less than a 'bfd_vma', use 'gcc -Wconver
        BFD_SEND (abfd, bfd_getx_signed_64, (ptr))
 
      #define bfd_get(bits, abfd, ptr)                       \
-       ((bits) == 8 ? (bfd_vma) bfd_get_8 (abfd, ptr)       \
+       ((bits) == 8 ? bfd_get_8 (abfd, ptr)                 \
         : (bits) == 16 ? bfd_get_16 (abfd, ptr)             \
         : (bits) == 32 ? bfd_get_32 (abfd, ptr)             \
         : (bits) == 64 ? bfd_get_64 (abfd, ptr)             \
@@ -14677,35 +14677,35 @@ Node: bfd_target271938
 Node: Architectures299273
 Node: Opening and Closing330730
 Node: Internal349193
-Node: File Caching355998
-Node: Linker Functions357916
-Node: Creating a Linker Hash Table359590
-Node: Adding Symbols to the Hash Table361329
-Node: Differing file formats362229
-Node: Adding symbols from an object file363954
-Node: Adding symbols from an archive366104
-Node: Performing the Final Link368450
-Node: Information provided by the linker369691
-Node: Relocating the section contents370845
-Node: Writing the symbol table372597
-Node: Hash Tables379751
-Node: Creating and Freeing a Hash Table380949
-Node: Looking Up or Entering a String382199
-Node: Traversing a Hash Table383452
-Node: Deriving a New Hash Table Type384241
-Node: Define the Derived Structures385307
-Node: Write the Derived Creation Routine386388
-Node: Write Other Derived Routines389013
-Node: BFD back ends390328
-Node: What to Put Where390598
-Node: aout390778
-Node: coff397060
-Node: elf425211
-Node: mmo425612
-Node: File layout426482
-Node: Symbol-table432395
-Node: mmo section mapping436158
-Node: GNU Free Documentation License439812
-Node: BFD Index464876
+Node: File Caching356025
+Node: Linker Functions357943
+Node: Creating a Linker Hash Table359617
+Node: Adding Symbols to the Hash Table361356
+Node: Differing file formats362256
+Node: Adding symbols from an object file363981
+Node: Adding symbols from an archive366131
+Node: Performing the Final Link368477
+Node: Information provided by the linker369718
+Node: Relocating the section contents370872
+Node: Writing the symbol table372624
+Node: Hash Tables379778
+Node: Creating and Freeing a Hash Table380976
+Node: Looking Up or Entering a String382226
+Node: Traversing a Hash Table383479
+Node: Deriving a New Hash Table Type384268
+Node: Define the Derived Structures385334
+Node: Write the Derived Creation Routine386415
+Node: Write Other Derived Routines389040
+Node: BFD back ends390355
+Node: What to Put Where390625
+Node: aout390805
+Node: coff397087
+Node: elf425238
+Node: mmo425639
+Node: File layout426509
+Node: Symbol-table432422
+Node: mmo section mapping436185
+Node: GNU Free Documentation License439839
+Node: BFD Index464903
 
 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-9.0.50.20191211/bfd/doc/libbfd.texi ./bfd/doc/libbfd.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/bfd/doc/libbfd.texi	2019-12-11 01:51:19.000000000 +0000
+++ ./bfd/doc/libbfd.texi	2019-12-15 01:51:48.000000000 +0000
@@ -50,9 +50,9 @@ To detect calling these with less than a
 #define bfd_put_signed_8 \
   bfd_put_8
 #define bfd_get_8(abfd, ptr) \
-  (*(const unsigned char *) (ptr) & 0xff)
+  ((bfd_vma) *(const unsigned char *) (ptr) & 0xff)
 #define bfd_get_signed_8(abfd, ptr) \
-  (((*(const unsigned char *) (ptr) & 0xff) ^ 0x80) - 0x80)
+  ((((bfd_signed_vma) *(const unsigned char *) (ptr) & 0xff) ^ 0x80) - 0x80)
 
 #define bfd_put_16(abfd, val, ptr) \
   BFD_SEND (abfd, bfd_putx16, ((val),(ptr)))
@@ -96,7 +96,7 @@ bfd_vma bfd_getl24 (const void *p);
   BFD_SEND (abfd, bfd_getx_signed_64, (ptr))
 
 #define bfd_get(bits, abfd, ptr)                       \
-  ((bits) == 8 ? (bfd_vma) bfd_get_8 (abfd, ptr)       \
+  ((bits) == 8 ? bfd_get_8 (abfd, ptr)                 \
    : (bits) == 16 ? bfd_get_16 (abfd, ptr)             \
    : (bits) == 32 ? bfd_get_32 (abfd, ptr)             \
    : (bits) == 64 ? bfd_get_64 (abfd, ptr)             \
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.20191211/bfd/elf32-arm.c ./bfd/elf32-arm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/bfd/elf32-arm.c	2019-12-11 01:49:17.000000000 +0000
+++ ./bfd/elf32-arm.c	2019-12-15 01:49:37.000000000 +0000
@@ -8506,14 +8506,14 @@ bfd_elf32_arm_vfp11_erratum_scan (bfd *a
 	    {
 	      unsigned int next_i = i + 4;
 	      unsigned int insn = bfd_big_endian (abfd)
-		? (contents[i] << 24)
-		  | (contents[i + 1] << 16)
-		  | (contents[i + 2] << 8)
-		  | contents[i + 3]
-		: (contents[i + 3] << 24)
-		  | (contents[i + 2] << 16)
-		  | (contents[i + 1] << 8)
-		  | contents[i];
+		? (((unsigned) contents[i] << 24)
+		   | (contents[i + 1] << 16)
+		   | (contents[i + 2] << 8)
+		   | contents[i + 3])
+		: (((unsigned) contents[i + 3] << 24)
+		   | (contents[i + 2] << 16)
+		   | (contents[i + 1] << 8)
+		   | contents[i]);
 	      unsigned int writemask = 0;
 	      enum bfd_arm_vfp11_pipe vpipe;
 
@@ -19356,7 +19356,7 @@ stm32l4xx_create_replacing_stub_vldm (st
 				      const bfd_byte *const initial_insn_addr,
 				      bfd_byte *const base_stub_contents)
 {
-  int num_words = ((unsigned int) initial_insn << 24) >> 24;
+  int num_words = initial_insn & 0xff;
   bfd_byte *current_stub_contents = base_stub_contents;
 
   BFD_ASSERT (is_thumb2_vldm (initial_insn));
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.20191211/bfd/elf32-nds32.h ./bfd/elf32-nds32.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/bfd/elf32-nds32.h	2019-12-11 01:49:17.000000000 +0000
+++ ./bfd/elf32-nds32.h	2019-12-15 01:49:37.000000000 +0000
@@ -31,45 +31,45 @@ extern "C" {
 /* Relocation flags for R_NDS32_ERLAX_ENTRY.  */
 
 /* Set if relax on this section is done or disabled.  */
-#define R_NDS32_RELAX_ENTRY_DISABLE_RELAX_FLAG			(1 << 31)
+#define R_NDS32_RELAX_ENTRY_DISABLE_RELAX_FLAG			(1u << 31)
 /* Optimize for performance.  */
-#define R_NDS32_RELAX_ENTRY_OPTIMIZE_FLAG			(1 << 30)
+#define R_NDS32_RELAX_ENTRY_OPTIMIZE_FLAG			(1u << 30)
 /* Optimize for size.  Branch destination 4-byte adjustment
    may be disabled.  */
-#define R_NDS32_RELAX_ENTRY_OPTIMIZE_FOR_SPACE_FLAG		(1 << 29)
+#define R_NDS32_RELAX_ENTRY_OPTIMIZE_FOR_SPACE_FLAG		(1u << 29)
 /* To distinguish the assembly code generated by compiler
    or written manually.  */
-#define R_NDS32_RELAX_ENTRY_VERBATIM_FLAG			(1 << 28)
+#define R_NDS32_RELAX_ENTRY_VERBATIM_FLAG			(1u << 28)
 /* Two bits for ICT to comply with files without directive.  */
 /* ICT small model.  */
-#define R_NDS32_RELAX_ENTRY_ICT_SMALL                           (0x2 << 4)
+#define R_NDS32_RELAX_ENTRY_ICT_SMALL                           (0x2u << 4)
 /* ICT large model.  */
-#define R_NDS32_RELAX_ENTRY_ICT_LARGE                           (0x3 << 4)
+#define R_NDS32_RELAX_ENTRY_ICT_LARGE                           (0x3u << 4)
 /* Mask for get ict bits.  */
-#define R_NDS32_RELAX_ENTRY_ICT_MASK                            (0x3 << 4)
+#define R_NDS32_RELAX_ENTRY_ICT_MASK                            (0x3u << 4)
 
 
 /* Relocation flags for R_NDS32_INSN16.  */
 
 /* Tag the nop16 can be removed.  */
-#define R_NDS32_INSN16_CONVERT_FLAG				(1 << 0)
+#define R_NDS32_INSN16_CONVERT_FLAG				(1u << 0)
 /* Convert a gp-relative access (e.g., lwi.gp)
    to fp-as-gp access (lwi37.fp).
    This value is used by linker internally only.
    It's fine to change the vlaue.  */
-#define R_NDS32_INSN16_FP7U2_FLAG				(1 << 1)
+#define R_NDS32_INSN16_FP7U2_FLAG				(1u << 1)
 
 /* Relocation flags for R_NDS32_RELAX_REGION_OMIT_FP_START/END.  */
 
 /* OMIT_FP_FLAG marks the region for applying fp-as-gp
    optimization.  */
-#define R_NDS32_RELAX_REGION_OMIT_FP_FLAG			(1 << 0)
+#define R_NDS32_RELAX_REGION_OMIT_FP_FLAG			(1u << 0)
 /* NOT_OMIT_FP_FLAG is set if this region is not worth
    for fp-as-gp.  */
-#define R_NDS32_RELAX_REGION_NOT_OMIT_FP_FLAG			(1 << 1)
+#define R_NDS32_RELAX_REGION_NOT_OMIT_FP_FLAG			(1u << 1)
 /* A Innermost loop region.  Some optimizations is suppressed
    in this region due to performance drop.  */
-#define R_NDS32_RELAX_REGION_INNERMOST_LOOP_FLAG		(1 << 4)
+#define R_NDS32_RELAX_REGION_INNERMOST_LOOP_FLAG		(1u << 4)
 
 /* Tag range for LOADSTORE relocation.  */
 enum
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.20191211/bfd/elf32-rx.c ./bfd/elf32-rx.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/bfd/elf32-rx.c	2019-12-11 01:49:17.000000000 +0000
+++ ./bfd/elf32-rx.c	2019-12-15 01:49:37.000000000 +0000
@@ -2932,9 +2932,9 @@ elf32_rx_relax_section (bfd *		       ab
 		  break;
 		case 0:
 #if RX_OPCODE_BIG_ENDIAN
-		  imm_val = (ip[0] << 24) | (ip[1] << 16) | (ip[2] << 8) | ip[3];
+		  imm_val = ((unsigned) ip[0] << 24) | (ip[1] << 16) | (ip[2] << 8) | ip[3];
 #else
-		  imm_val = (ip[3] << 24) | (ip[2] << 16) | (ip[1] << 8) | ip[0];
+		  imm_val = ((unsigned) ip[3] << 24) | (ip[2] << 16) | (ip[1] << 8) | ip[0];
 #endif
 		  break;
 		}
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.20191211/bfd/elf.c ./bfd/elf.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/bfd/elf.c	2019-12-11 01:49:17.000000000 +0000
+++ ./bfd/elf.c	2019-12-15 01:49:37.000000000 +0000
@@ -5752,7 +5752,15 @@ assign_file_positions_for_load_sections 
 	  || (p->p_type == PT_NOTE && bfd_get_format (abfd) == bfd_core))
 	{
 	  if (!m->includes_filehdr && !m->includes_phdrs)
-	    p->p_offset = off;
+	    {
+	      p->p_offset = off;
+	      if (no_contents)
+		/* Put meaningless p_offset for PT_LOAD segments
+		   without file contents somewhere within the first
+		   page, in an attempt to not point past EOF.  */
+		p->p_offset = off % (p->p_align > maxpagesize
+				     ? p->p_align : maxpagesize);
+	    }
 	  else
 	    {
 	      file_ptr adjust;
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.20191211/bfd/libaout.h ./bfd/libaout.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/bfd/libaout.h	2019-12-11 01:49:17.000000000 +0000
+++ ./bfd/libaout.h	2019-12-15 01:49:38.000000000 +0000
@@ -309,7 +309,7 @@ enum machine_type
 # define N_SET_INFO(execp, magic, type, flags) \
 ((execp)->a_info = ((magic) & 0xffff) \
  | (((int)(type) & 0xff) << 16) \
- | (((flags) & 0xff) << 24))
+ | (((flags) & 0xffu) << 24))
 #endif
 
 #ifndef N_SET_DYNAMIC
@@ -332,7 +332,7 @@ enum machine_type
 #ifndef N_SET_FLAGS
 # define N_SET_FLAGS(execp, flags) \
 ((execp)->a_info = \
- ((execp)->a_info & 0x00ffffff) | (((flags) & 0xff) << 24))
+ ((execp)->a_info & 0x00ffffff) | (((flags) & 0xffu) << 24))
 #endif
 
 typedef struct aout_symbol
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.20191211/bfd/libbfd.c ./bfd/libbfd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/bfd/libbfd.c	2019-12-11 01:49:17.000000000 +0000
+++ ./bfd/libbfd.c	2019-12-15 01:49:38.000000000 +0000
@@ -449,9 +449,9 @@ DESCRIPTION
 .#define bfd_put_signed_8 \
 .  bfd_put_8
 .#define bfd_get_8(abfd, ptr) \
-.  (*(const unsigned char *) (ptr) & 0xff)
+.  ((bfd_vma) *(const unsigned char *) (ptr) & 0xff)
 .#define bfd_get_signed_8(abfd, ptr) \
-.  (((*(const unsigned char *) (ptr) & 0xff) ^ 0x80) - 0x80)
+.  ((((bfd_signed_vma) *(const unsigned char *) (ptr) & 0xff) ^ 0x80) - 0x80)
 .
 .#define bfd_put_16(abfd, val, ptr) \
 .  BFD_SEND (abfd, bfd_putx16, ((val),(ptr)))
@@ -495,7 +495,7 @@ DESCRIPTION
 .  BFD_SEND (abfd, bfd_getx_signed_64, (ptr))
 .
 .#define bfd_get(bits, abfd, ptr)			\
-.  ((bits) == 8 ? (bfd_vma) bfd_get_8 (abfd, ptr)	\
+.  ((bits) == 8 ? bfd_get_8 (abfd, ptr)			\
 .   : (bits) == 16 ? bfd_get_16 (abfd, ptr)		\
 .   : (bits) == 32 ? bfd_get_32 (abfd, ptr)		\
 .   : (bits) == 64 ? bfd_get_64 (abfd, ptr)		\
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.20191211/bfd/libhppa.h ./bfd/libhppa.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/bfd/libhppa.h	2019-12-11 01:49:17.000000000 +0000
+++ ./bfd/libhppa.h	2019-12-15 01:49:38.000000000 +0000
@@ -148,7 +148,7 @@ enum hppa_reloc_expr_type_alt
 #define HPPA_R_ARG_RELOC(a)	\
   (((a) >> 22) & 0x3ff)
 #define HPPA_R_CONSTANT(a)	\
-  ((((bfd_signed_vma)(a)) << (BFD_ARCH_SIZE-22)) >> (BFD_ARCH_SIZE-22))
+  ((((bfd_signed_vma) (a) & 0x3fffff) ^ 0x200000) - 0x200000)
 #define HPPA_R_ADDEND(r, c)	\
   (((r) << 22) + ((c) & 0x3fffff))
 
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.20191211/bfd/mmo.c ./bfd/mmo.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/bfd/mmo.c	2019-12-11 01:49:17.000000000 +0000
+++ ./bfd/mmo.c	2019-12-15 01:49:38.000000000 +0000
@@ -207,7 +207,7 @@ EXAMPLE
 #include "elf/mmix.h"
 #include "opcode/mmix.h"
 
-#define LOP 0x98
+#define LOP 0x98u
 #define LOP_QUOTE 0
 #define LOP_LOC 1
 #define LOP_SKIP 2
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.20191211/bfd/netbsd.h ./bfd/netbsd.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/bfd/netbsd.h	2019-12-11 01:49:17.000000000 +0000
+++ ./bfd/netbsd.h	2019-12-15 01:49:38.000000000 +0000
@@ -104,7 +104,7 @@ MY (write_object_contents) (bfd *abfd)
   /* XXX aren't there any macro to change byteorder of a word independent of
      the host's or target's endiannesses?  */
   execp->a_info
-    = (execp->a_info & 0xff) << 24 | (execp->a_info & 0xff00) << 8
+    = (execp->a_info & 0xffu) << 24 | (execp->a_info & 0xff00) << 8
       | (execp->a_info & 0xff0000) >> 8 | (execp->a_info & 0xff000000) >> 24;
 #endif
 
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.20191211/bfd/version.h ./bfd/version.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/bfd/version.h	2019-12-11 01:49:17.000000000 +0000
+++ ./bfd/version.h	2019-12-15 01:49:38.000000000 +0000
@@ -16,7 +16,7 @@
 
    In releases, the date is not included in either version strings or
    sonames.  */
-#define BFD_VERSION_DATE 20191211
+#define BFD_VERSION_DATE 20191215
 #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.20191211/cpu/ChangeLog ./cpu/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/cpu/ChangeLog	2019-12-11 01:49:17.000000000 +0000
+++ ./cpu/ChangeLog	2019-12-15 01:49:38.000000000 +0000
@@ -1,5 +1,11 @@
 2019-12-11  Alan Modra  <amodra@gmail.com>
 
+	* epiphany.cpu (f-sdisp11): Don't sign extend with shifts.
+	* lm32.cpu (f-branch, f-vall): Likewise.
+	* m32.cpu (f-lab-8-16): Likewise.
+
+2019-12-11  Alan Modra  <amodra@gmail.com>
+
 	* epiphany.cpu (f-simm8, f-simm24): Use multiply rather than
 	shift left to avoid UB on left shift of negative values.
 
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.20191211/cpu/epiphany.cpu ./cpu/epiphany.cpu
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/cpu/epiphany.cpu	2019-12-11 01:49:17.000000000 +0000
+++ ./cpu/epiphany.cpu	2019-12-15 01:49:38.000000000 +0000
@@ -228,10 +228,11 @@
 		(set (ifield f-disp3)  (and SI (ifield f-sdisp11) 7)))
       (sequence ()			;decode
 		(set (ifield f-sdisp11)
-		     (sra SI (sll SI (or SI (sll (ifield f-disp8) 3)
-					 (ifield f-disp3))
-				  21)
-			  21)))
+		     (sub SI (xor (and (or (sll (ifield f-disp8) 3)
+					   (ifield f-disp3))
+				       #x7ff)
+				  #x400)
+			  #x400)))
       )
 
 (dnmf f-imm16 "Short immediate for move/add/sub" () UINT (f-imm8 f-imm-27-8)
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.20191211/cpu/lm32.cpu ./cpu/lm32.cpu
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/cpu/lm32.cpu	2019-12-11 01:49:17.000000000 +0000
+++ ./cpu/lm32.cpu	2019-12-15 01:49:38.000000000 +0000
@@ -128,11 +128,15 @@
 
 (df f-branch "branch offset field" (PCREL-ADDR) 15 16 INT
         ((value pc) (sra SI (sub SI value pc) 2))
-        ((value pc) (add SI pc (sra SI (sll SI value 16) 14)))
+	((value pc) (add SI pc (sub (xor (sll (and value #xffff) 2)
+					 #x20000)
+				    #x20000)))
 )
 (df f-call "call offset field" (PCREL-ADDR) 25 26 INT 
         ((value pc) (sra SI (sub SI value pc) 2))
-        ((value pc) (add SI pc (sra SI (sll SI value 6) 4)))
+	((value pc) (add SI pc (sub (xor (sll (and value #x3ffffff) 2)
+					 #x8000000)
+				    #x8000000)))
 )
 
 
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.20191211/cpu/m32c.cpu ./cpu/m32c.cpu
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/cpu/m32c.cpu	2019-12-11 01:49:17.000000000 +0000
+++ ./cpu/m32c.cpu	2019-12-15 01:49:38.000000000 +0000
@@ -956,9 +956,12 @@
 )
 (df  f-lab-8-16 "16 bit pc relative signed offset" (PCREL-ADDR SIGN-OPT all-isas) 8 16 UINT
      ((value pc) (or SI (sll (and (sub value (add pc 1)) #xff) 8)
-		     (srl (and (sub value (add pc 1)) #xffff) 8)))
-     ((value pc) (add SI (or (srl (and value #xffff) 8)
-			     (sra (sll (and value #xff) 24) 16)) (add pc 1)))
+		     (srl (and (sub value (add pc 1)) #xff00) 8)))
+     ((value pc) (add SI (sub (xor (or (srl (and value #xff00) 8)
+				       (sll (and value #xff) 8))
+				    #x8000)
+			       #x8000)
+		      (add pc 1)))
  )
 (df  f-lab-8-24 "24 bit absolute" (all-isas ABS-ADDR) 8 24 UINT
      ((value pc) (or SI
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.20191211/djunpack.bat ./djunpack.bat
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/djunpack.bat	2019-12-11 01:53:32.000000000 +0000
+++ ./djunpack.bat	2019-12-15 01:53:47.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.20191211
-if "%GDBVER%"=="$package-9.0.50.20191211" GoTo EnvOk
+set GDBVER=$package-10.0.50.20191215
+if "%GDBVER%"=="$package-10.0.50.20191215" 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.20191211/gdb/bsd-kvm.c ./gdb/bsd-kvm.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/bsd-kvm.c	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/bsd-kvm.c	2019-12-15 01:49:39.000000000 +0000
@@ -114,14 +114,13 @@ bsd_kvm_target_open (const char *arg, in
 
   if (arg)
     {
-      char *temp;
-
       filename = tilde_expand (arg);
       if (filename[0] != '/')
 	{
-	  temp = concat (current_directory, "/", filename, (char *)NULL);
+	  gdb::unique_xmalloc_ptr<char> temp (gdb_abspath (filename));
+
 	  xfree (filename);
-	  filename = temp;
+	  filename = temp.release ();
 	}
     }
 
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.20191211/gdb/ChangeLog ./gdb/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/ChangeLog	2019-12-11 01:49:18.000000000 +0000
+++ ./gdb/ChangeLog	2019-12-15 01:49:39.000000000 +0000
@@ -1,3 +1,351 @@
+2019-12-14  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+	https://bugzilla.redhat.com/show_bug.cgi?id=1728147
+	PR gdb/23613
+	* bsd-kvm.c (bsd_kvm_target_open): Use 'gdb_abspath'.
+	* corelow.c: Include 'gdbsupport/pathstuff.h'.
+	(core_target_open): Use 'gdb_abspath'.
+	* gdbsupport/pathstuff.c (gdb_abspath): Guard against
+	'current_directory == NULL' case.
+	* gdbsupport/pathstuff.h (gdb_abspath): Expand comment and
+	explain what happens when 'current_directory' is NULL.
+	* go32-nat.c (go32_nat_target::wait): Check if
+	'current_directory' is NULL before call to 'chdir'.
+	* source.c (add_path): Use 'gdb_abspath'.
+	* top.c: Include 'gdbsupport/pathstuff.h'.
+	(init_history): Use 'gdb_abspath'.
+	(set_history_filename): Likewise.
+	* tracefile-tfile.c: Include 'gdbsupport/pathstuff.h'.
+	(tfile_target_open): Use 'gdb_abspath'.
+
+2019-12-13  Tom Tromey  <tromey@adacore.com>
+
+	* contrib/ari/gdb_ari.sh: Remove check for multiple calls to
+	warning or error.
+
+2019-12-13  Tom Tromey  <tromey@adacore.com>
+
+	* contrib/ari/gdb_ari.sh: Remove call to "fix" for "long long".
+
+2019-12-13  Tom Tromey  <tromey@adacore.com>
+
+	* contrib/ari/gdb_ari.sh: Handle -Wno- prefix.
+
+2019-12-13  Tom Tromey  <tromey@adacore.com>
+
+	* contrib/ari/gdb_ari.sh (usage): Use GNU style.
+
+2019-12-13  Tom Tromey  <tromey@adacore.com>
+
+	* gdbsupport/common-utils.c (string_printf, string_vprintf)
+	(string_vappendf): Add ARI comment.
+
+2019-12-13  Tom Tromey  <tromey@adacore.com>
+
+	* contrib/ari/gdb_ari.sh: Remove "fix" call for
+	floatformat_to_double.
+	* target-float.c (host_float_ops<T>::from_target): Add ARI
+	comment.
+
+2019-12-13  Tom Tromey  <tromey@adacore.com>
+
+	* contrib/ari/gdb_ari.sh: Remove "fix" call for abort.
+	* utils.c (abort_with_message, dump_core, internal_vproblem): Add
+	ARI marker to abort.
+	* event-top.c (handle_sigsegv): Add ARI marker to abort.
+
+2019-12-13  Tom Tromey  <tromey@adacore.com>
+
+	* contrib/ari/gdb_ari.sh: Fix floatformat_from_double text.
+
+2019-12-13  Tom Tromey  <tromey@adacore.com>
+
+	* contrib/ari/gdb_ari.sh: Remove ATTRIBUTE_UNUSED check.
+
+2019-12-13  Tom Tromey  <tromey@adacore.com>
+
+	* contrib/ari/gdb_ari.sh: Remove "boolean" and "var_boolean"
+	checks.
+
+2019-12-13  Tom Tromey  <tromey@adacore.com>
+
+	* gdbsupport/safe-iterator.h (class basic_safe_range) <begin,
+	end>: No longer "const".
+
+2019-12-13  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* jit.c: Fix indentation, replace spaces with tabs where
+	applicable.
+
+2019-12-13  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+	* configure.tgt: Match msp430-*-elf* targets when configuring GDB.
+
+2019-12-12  Tom Tromey  <tom@tromey.com>
+
+	* objfiles.h (struct objfile) <partial_symtabs>: Now a
+	unique_ptr.
+
+2019-12-12  Tom Tromey  <tom@tromey.com>
+
+	* progspace.h (objfile_list): New typedef.
+	(class unwrapping_objfile_iterator)
+	(struct unwrapping_objfile_range): Newl
+	(struct program_space) <objfiles_range>: Change type.
+	<objfiles>: Change return type.
+	<add_objfile>: Change type of "objfile" parameter.
+	<objfiles_list>: Now a list of shared_ptr.
+	* progspace.c (program_space::add_objfile): Change type of
+	"objfile".  Update.
+	(program_space::remove_objfile): Update.
+	* objfiles.h (struct objfile) <~objfile>: Make public.
+	* objfiles.c (objfile::make): Update.
+	(objfile::unlink): Don't call delete.
+
+2019-12-12  Tom Tromey  <tom@tromey.com>
+
+	* symfile.c (symbol_file_clear): Update.
+	* progspace.h (struct program_space) <free_all_objfiles>: Declare
+	method.
+	* progspace.c (program_space::free_all_objfiles): New method.
+	* objfiles.h (free_all_objfiles): Don't declare.
+	* objfiles.c (free_all_objfiles): Move to program_space.
+
+2019-12-12  Tom Tromey  <tom@tromey.com>
+
+	* progspace.c (program_space::add_objfile)
+	(program_space::remove_objfile): Update.
+	(program_space::multi_objfile_p): Remove.
+	* objfiles.h (struct objfile) <next>: Remove.
+	* objfiles.c (objfile::objfile): Update.
+	(put_objfile_before): Update.
+	(unlink_objfile): Update.
+	* progspace.h (object_files): Remove.
+	(struct program_space) <objfiles_head>: Remove.
+	<objfiles_list>: New member.
+	<objfiles_range, objfiles_safe_range>: Change type.
+	(objfiles): Change return type.
+	(objfiles_safe): Update.
+	(multi_objfile_p): Rewrite and inline.
+	(object_files): Remove macro.
+
+2019-12-12  Tom Tromey  <tom@tromey.com>
+
+	* gdbsupport/safe-iterator.h (basic_safe_iterator): Simplify.  Add
+	second constructor.
+	(basic_safe_range): New class.
+
+2019-12-12  Tom Tromey  <tom@tromey.com>
+
+	* progspace.c (program_space::multi_objfile_p): New method.
+	* printcmd.c (info_symbol_command): Update.
+	* maint.c (maintenance_translate_address): Update.
+	* objfiles.h (MULTI_OBJFILE_P): Remove.
+	* progspace.h (struct program_space) <multi_objfile_p>: New
+	method.
+
+2019-12-12  Tom Tromey  <tom@tromey.com>
+
+	* progspace.h (struct program_space) <remove_objfile>: Declare.
+	* progspace.c (program_space::remove_objfile): New method.
+	* objfiles.c (unlink_objfile): Remove.
+	(objfile::unlink): Call remove_objfile.
+	(objfile): Don't call unlink_objfile.
+
+2019-12-12  Tom Tromey  <tom@tromey.com>
+
+	* progspace.h (struct program_space) <add_objfile>: Declare
+	method.
+	* progspace.c (program_space::add_objfile): New method.
+	* objfiles.c (~objfile): Don't unlink objfile.
+	(put_objfile_before): Remove.
+	(add_separate_debug_objfile): Don't call put_objfile_before.
+	(objfile::make): Call add_objfile.  Set new_objfiles_available on
+	the per-program-space data.
+
+2019-12-12  Tom Tromey  <tom@tromey.com>
+
+	* symfile.c (syms_from_objfile_1): Use objfile_up.
+	(syms_from_objfile_1, remove_symbol_file_command): Call unlink
+	method.
+	(reread_symbols): Use objfile_up.
+	* solib.c (update_solib_list, reload_shared_libraries_1): Call
+	unlink method.
+	* objfiles.h (struct objfile) <~objfile>: Now private.
+	<unlink>: New method.
+	(struct objfile_deleter): New.
+	(objfile_up): New typedef.
+	* objfiles.c (objfile::unlink): New method.
+	(free_objfile_separate_debug, free_all_objfiles)
+	(objfile_purge_solibs): Use it.
+	* jit.c (jit_unregister_code): Remove.
+	(jit_inferior_exit_hook, jit_event_handler): Call unlink on
+	objfile.
+	* compile/compile-object-run.c (do_module_cleanup): Call unlink on
+	objfile.
+	* compile/compile-object-load.c (compile_object_load): Use
+	objfile_up.
+
+2019-12-12  Tom Tromey  <tom@tromey.com>
+
+	* symfile.c (symbol_file_add_with_addrs): Pass "parent" to
+	objfile::make.
+	* objfiles.h (struct objjfile) <make>: No longer inline.
+	(add_separate_debug_objfile): Don't declare.
+	* objfiles.c (add_separate_debug_objfile): Now static.
+	(objfile::make): Move from objfiles.h.  Call
+	add_separate_debug_objfile.  Add "parent" parameter.
+
+2019-12-12  Tom Tromey  <tom@tromey.com>
+
+	* symfile.c (symbol_file_add_with_addrs): Use objfile::make.
+	* objfiles.h (struct objfile): Make constructor private.
+	<make>: New static method.
+	* jit.c (jit_object_close_impl): Update.
+
+2019-12-12  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* jit.c (jit_reader_try_read_symtab): Replace xmalloc/xfree with
+	gdb::byte_vector.
+
+2019-12-12  Tom Tromey  <tromey@adacore.com>
+
+	* xml-support.c (xml_fetch_content_from_file): Don't call
+	malloc_failure.
+	* utils.h (class gdb_argv): Remove malloc_failure comment.
+	* utils.c (gdb_argv::reset): Don't call malloc_failure.
+
+2019-12-12  Tom Tromey  <tromey@adacore.com>
+
+	* Makefile.in (ALL_TARGET_OBS): Add riscv-ravenscar-thread.o.
+	(HFILES_NO_SRCDIR): Add riscv-ravenscar-thread.h.
+	(ALLDEPFILES): Add riscv-ravenscar-thread.c.
+	* configure.tgt (riscv-*-*): Add riscv-ravenscar-thread.o.
+	* riscv-ravenscar-thread.c: New file.
+	* riscv-ravenscar-thread.h: New file.
+	* riscv-tdep.c (riscv_gdbarch_init): Call
+	register_riscv_ravenscar_ops.
+
+2019-12-12  Tom Tromey  <tromey@adacore.com>
+
+	* gdbsupport/thread-pool.c (set_thread_name): Use
+	ATTRIBUTE_UNUSED.
+
+2019-12-12  Luis Machado  <luis.machado@linaro.org>
+
+	* gdbsupport/safe-strerror.c: Don't include diagnostics.h.
+	(select_strerror_r): Use ATTRIBUTE_UNUSED instead of the diagnostics
+	macros.
+
+2019-12-11  Tom Tromey  <tom@tromey.com>
+
+	* tui/tui-win.c (tui_set_win_height_command): Call
+	tui_adjust_window_height.
+	(tui_adjust_win_heights, new_height_ok): Remove.
+	* tui/tui-layout.h (tui_adjust_window_height): Declare.
+	* tui/tui-layout.c (tui_adjust_window_height): New function.
+
+2019-12-11  Tom Tromey  <tom@tromey.com>
+
+	* tui/tui-win.c (tui_resize_all): Remove code, call
+	tui_apply_current_layout.
+
+2019-12-11  Tom Tromey  <tom@tromey.com>
+
+	* tui/tui-layout.h (tui_apply_current_layout): Declare.
+	* tui/tui-layout.c (standard_layouts, applied_layout): New
+	globals.
+	(tui_apply_current_layout): New function.
+	(show_layout): Set applied_layout.  Call
+	tui_apply_current_layout.
+	(show_source_command, show_disasm_command)
+	(show_source_disasm_command, show_data)
+	(show_source_or_disasm_and_command): Remove.
+	(initialize_layouts): New function.
+	(_initialize_tui_layout): Call initialize_layouts.
+
+2019-12-11  Tom Tromey  <tom@tromey.com>
+
+	* tui/tui-layout.h (class tui_layout_base)
+	(class tui_layout_window, class tui_layout_split): New.
+	* tui/tui-layout.c (tui_get_window_by_name)
+	(tui_layout_window::clone, tui_layout_window::apply)
+	(tui_layout_window::get_sizes, tui_layout_window::add_split)
+	(tui_layout_split::add_window, tui_layout_split::clone)
+	(tui_layout_split::get_sizes)
+	(tui_layout_split::set_weights_from_heights)
+	(tui_layout_split::adjust_size, tui_layout_split::apply): New
+	functions.
+	(tui_layout_split::add_split, tui_layout_split::add_split)
+	(tui_layout_split::set_weights_from_heights)
+	(tui_layout_split::set_weights_from_heights): New functions.
+
+2019-12-11  Tom Tromey  <tom@tromey.com>
+
+	* tui/tui-wingeneral.c (tui_gen_win_info::make_window): Update.
+	* tui/tui-win.c (tui_adjust_win_heights, tui_resize_all): Update.
+	* tui/tui-layout.c (tui_gen_win_info::resize): Update.
+	* tui/tui-data.h (struct tui_point): Remove.
+	(struct tui_gen_win_info) <origin>: Remove.
+	<x, y>: New fields.
+	* tui/tui-command.c (tui_cmd_window::resize): Update.
+
+2019-12-11  Tom Tromey  <tom@tromey.com>
+
+	* tui/tui-stack.h (struct tui_locator_window) <min_height>:
+	Implement.
+	* tui/tui-regs.h (struct tui_data_item_window) <min_height>:
+	Implement.
+	* tui/tui-data.h (struct tui_gen_win_info) <min_height>: New
+	method.
+	(struct tui_win_info) <min_height>: Implement.
+
+2019-12-11  Tom Tromey  <tom@tromey.com>
+
+	* tui/tui-data.h (struct tui_gen_win_info) <can_box>: New method.
+	(struct tui_win_info) <can_box>: Update.
+
+2019-12-11  Tom Tromey  <tom@tromey.com>
+
+	* tui/tui-stack.h (struct tui_locator_window) <max_height>: New
+	method.
+	* tui/tui-regs.h (struct tui_data_item_window) <max_height>: New
+	method.
+	* tui/tui-data.h (struct tui_gen_win_info) <max_height>: New
+	method.
+	(struct tui_win_info) <max_height>: Now override.
+
+2019-12-11  Joel Brobecker  <brobecker@adacore.com>
+
+	* NEWS: Create a new section for the next release branch.
+	Rename the section of the current branch, now that it has
+	been cut.
+
+2019-12-11  Joel Brobecker  <brobecker@adacore.com>
+
+	GDB 9 branch created (27f7b2f64062ac9e52afc60509263c2702a9ebd0):
+	* version.in: Bump version to 10.0.50.DATE-git.
+
+2019-12-11  Tom Tromey  <tromey@adacore.com>
+
+	PR build/25268:
+	* gdbsupport/thread-pool.c (set_thread_name): New function.
+	(thread_pool::set_thread_count): Don't call pthread_setname_np.
+	(thread_pool::thread_function): Call set_thread_name.
+
+2019-12-11  Tom Tromey  <tromey@adacore.com>
+
+	* fbsd-tdep.c (fbsd_core_info_proc_status): Cast result of
+	bfd_get_signed_8.
+
+2019-12-11  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
+
+	* NEWS: Document -raw-values option and the related setting commands.
+	* printcmd.c (print_command_parse_format): Do not set opts->raw off,
+	only set it on when /r is given.
+	* valprint.c (value_print_option_defs): New element raw-values.
+	* Makefile.in: Add the new file.
+
 2019-12-10  Christian Biesinger  <cbiesinger@google.com>
 
 	* gdbsupport/safe-strerror.c: Supress the unused function warning
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.20191211/gdb/compile/compile-object-load.c ./gdb/compile/compile-object-load.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/compile/compile-object-load.c	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/compile/compile-object-load.c	2019-12-15 01:49:39.000000000 +0000
@@ -632,9 +632,9 @@ compile_object_load (const compile_file_
 
   /* SYMFILE_VERBOSE is not passed even if FROM_TTY, user is not interested in
      "Reading symbols from ..." message for automatically generated file.  */
-  std::unique_ptr<struct objfile> objfile_holder
-    (symbol_file_add_from_bfd (abfd.get (), filename.get (),
-			       0, NULL, 0, NULL));
+  objfile_up objfile_holder (symbol_file_add_from_bfd (abfd.get (),
+						       filename.get (),
+						       0, NULL, 0, NULL));
   objfile = objfile_holder.get ();
 
   func_sym = lookup_global_symbol_from_objfile (objfile,
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.20191211/gdb/compile/compile-object-run.c ./gdb/compile/compile-object-run.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/compile/compile-object-run.c	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/compile/compile-object-run.c	2019-12-15 01:49:39.000000000 +0000
@@ -86,7 +86,7 @@ do_module_cleanup (void *arg, int regist
     if ((objfile->flags & OBJF_USERLOADED) == 0
         && (strcmp (objfile_name (objfile), data->objfile_name_string) == 0))
       {
-	delete objfile;
+	objfile->unlink ();
 
 	/* It may be a bit too pervasive in this dummy_frame dtor callback.  */
 	clear_symtab_users (0);
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.20191211/gdb/configure.tgt ./gdb/configure.tgt
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/configure.tgt	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/configure.tgt	2019-12-15 01:49:39.000000000 +0000
@@ -85,7 +85,8 @@ ia64*-*-*)
 	;;
 
 riscv*-*-*)
-	cpu_obs="riscv-tdep.o arch/riscv.o";;
+	cpu_obs="riscv-tdep.o arch/riscv.o \
+	         ravenscar-thread.o riscv-ravenscar-thread.o";;
 
 x86_64-*-*)
 	cpu_obs="${i386_tobjs} ${amd64_tobjs}";;
@@ -453,7 +454,7 @@ mn10300-*-*)
 	gdb_sim=../sim/mn10300/libsim.a
 	;;
 
-msp430*-*-elf)
+msp430-*-elf*)
 	gdb_target_obs="msp430-tdep.o"
 	gdb_sim=../sim/msp430/libsim.a
 	;;
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.20191211/gdb/contrib/ari/gdb_ari.sh ./gdb/contrib/ari/gdb_ari.sh
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/contrib/ari/gdb_ari.sh	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/contrib/ari/gdb_ari.sh	2019-12-15 01:49:39.000000000 +0000
@@ -52,7 +52,7 @@ usage ()
 Error: $1
 
 Usage:
-    $0 --print-doc --print-idx -Wall -Werror -W<category> <file> ...
+    $0 --print-doc --print-idx -Wall -Werror -WCATEGORY FILE ...
 Options:
   --print-doc    Print a list of all potential problems, then exit.
   --print-idx    Include the problems IDX (index or key) in every message.
@@ -60,7 +60,8 @@ Options:
   -Werror        Treat all problems as errors.
   -Wall          Report all problems.
   -Wari          Report problems that should be fixed in new code.
-  -W<category>   Report problems in the specifed category.  Valid categories
+  -WCATEGORY     Report problems in the specifed category.  The category
+                 can be prefixed with "no-".  Valid categories
                  are: ${all}
 EOF
     exit 1
@@ -102,6 +103,10 @@ fi
 # Validate all errors and warnings.
 for w in ${warning} ${error}
 do
+    case "$w" in
+	no-*) w=`echo x$w | sed -e 's/xno-//'`;;
+    esac
+
     case " ${all} " in
     *" ${w} "* ) ;;
     * ) usage "Unknown option -W${w}" ;;
@@ -123,11 +128,19 @@ do
 done
 for w in ${warning}
 do
-    warnings="${warnings} warning[ari_${w}] = 1;"
+    val=1
+    case "$w" in
+	no-*) w=`echo x$w | sed -e 's/xno-//'`; val=0 ;;
+    esac
+    warnings="${warnings} warning[ari_${w}] = $val;"
 done
 for e in ${error}
 do
-    errors="${errors} error[ari_${e}]  = 1;"
+    val=1
+    case "$e" in
+	no-*) e=`echo x$e | sed -e 's/xno-//'`; val=0 ;;
+    esac
+    errors="${errors} error[ari_${e}]  = $val;"
 done
 
 if [ "$AWK" = "" ] ; then
@@ -574,24 +587,11 @@ Do not use strerror(), instead use safe_
 BEGIN { doc["long long"] = "\
 Do not use `long long'\'', instead use LONGEST"
     category["long long"] = ari_code
-    # defs.h needs two such patterns for LONGEST and ULONGEST definitions
-    fix("long long", "gdb/defs.h", 2)
 }
 /(^|[^_[:alnum:]])long[[:space:]]+long([^_[:alnum:]]|$)/ {
     fail("long long")
 }
 
-BEGIN { doc["ATTRIBUTE_UNUSED"] = "\
-Do not use ATTRIBUTE_UNUSED, do not bother (GDB is compiled with -Werror and, \
-consequently, is not able to tolerate false warnings.  Since -Wunused-param \
-produces such warnings, neither that warning flag nor ATTRIBUTE_UNUSED \
-are used by GDB"
-    category["ATTRIBUTE_UNUSED"] = ari_regression
-}
-/(^|[^_[:alnum:]])ATTRIBUTE_UNUSED([^_[:alnum:]]|$)/ {
-    fail("ATTRIBUTE_UNUSED")
-}
-
 BEGIN { doc["ATTR_FORMAT"] = "\
 Do not use ATTR_FORMAT, use ATTRIBUTE_PRINTF instead"
     category["ATTR_FORMAT"] = ari_regression
@@ -619,21 +619,6 @@ Do not use NORETURN, use ATTRIBUTE_NORET
 
 # General problems
 
-BEGIN { doc["multiple messages"] = "\
-Do not use multiple calls to warning or error, instead use a single call"
-    category["multiple messages"] = ari_gettext
-}
-FNR == 1 {
-    warning_fnr = -1
-}
-/(^|[^_[:alnum:]])(warning|error)[[:space:]]*\(/ {
-    if (FNR == warning_fnr + 1) {
-	fail("multiple messages")
-    } else {
-	warning_fnr = FNR
-    }
-}
-
 # Commented out, but left inside sources, just in case.
 # BEGIN { doc["inline"] = "\
 # Do not use the inline attribute; \
@@ -658,7 +643,6 @@ FNR == 1 {
 BEGIN { doc["abort"] = "\
 Do not use abort, instead use internal_error; GDB should never abort"
     category["abort"] = ari_regression
-    fix("abort", "gdb/utils.c", 3)
 }
 /(^|[^_[:alnum:]])abort[[:space:]]*\(/ {
     fail("abort")
@@ -822,7 +806,6 @@ get_frame_locals_address, or get_frame_a
 BEGIN { doc["floatformat_to_double"] = "\
 Do not use floatformat_to_double() from libierty, \
 instead use floatformat_to_doublest()"
-    fix("floatformat_to_double", "gdb/doublest.c", 1)
     category["floatformat_to_double"] = ari_regression
 }
 /(^|[^_[:alnum:]])floatformat_to_double[[:space:]]*\(/ {
@@ -831,7 +814,7 @@ instead use floatformat_to_doublest()"
 
 BEGIN { doc["floatformat_from_double"] = "\
 Do not use floatformat_from_double() from libierty, \
-instead use floatformat_from_doublest()"
+instead use host_float_ops<T>::from_target()"
     category["floatformat_from_double"] = ari_regression
 }
 /(^|[^_[:alnum:]])floatformat_from_double[[:space:]]*\(/ {
@@ -1110,18 +1093,6 @@ Do not use strnicmp(), instead use strnc
     fail("strnicmp")
 }
 
-# Boolean expressions and conditionals
-
-BEGIN { doc["boolean"] = "\
-Do not use `boolean'\'',  use `bool'\'' instead"
-    category["boolean"] = ari_regression
-}
-/(^|[^_[:alnum:]])boolean([^_[:alnum:]]|$)/ {
-    if (is_yacc_or_lex == 0) {
-       fail("boolean")
-    }
-}
-
 # Typedefs that are either redundant or can be reduced to `struct
 # type *''.
 # Must be placed before if assignment otherwise ARI exceptions
@@ -1143,20 +1114,6 @@ Do not use strlen dirent.d_name, instead
     fail("strlen d_name")
 }
 
-BEGIN { doc["var_boolean"] = "\
-Replace var_boolean with add_setshow_boolean_cmd"
-    category["var_boolean"] = ari_regression
-    fix("var_boolean", "gdb/command.h", 1)
-    # fix only uses the last directory level
-    fix("var_boolean", "cli/cli-decode.c", 2)
-}
-/(^|[^_[:alnum:]])var_boolean([^_[:alnum:]]|$)/ {
-    if (($0 !~ /(^|[^_[:alnum:]])case *var_boolean:/) \
-        && ($0 !~ /(^|[^_[:alnum:]])[=!]= *var_boolean/)) {
-	fail("var_boolean")
-    }
-}
-
 BEGIN { doc["generic_use_struct_convention"] = "\
 Replace generic_use_struct_convention with nothing, \
 EXTRACT_STRUCT_VALUE_ADDRESS is a predicate"
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.20191211/gdb/corelow.c ./gdb/corelow.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/corelow.c	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/corelow.c	2019-12-15 01:49:39.000000000 +0000
@@ -44,6 +44,7 @@
 #include "completer.h"
 #include "gdbsupport/filestuff.h"
 #include "build-id.h"
+#include "gdbsupport/pathstuff.h"
 
 #ifndef O_LARGEFILE
 #define O_LARGEFILE 0
@@ -395,8 +396,7 @@ core_target_open (const char *arg, int f
 
   gdb::unique_xmalloc_ptr<char> filename (tilde_expand (arg));
   if (!IS_ABSOLUTE_PATH (filename.get ()))
-    filename.reset (concat (current_directory, "/",
-			    filename.get (), (char *) NULL));
+    filename = gdb_abspath (filename.get ());
 
   flags = O_BINARY | O_LARGEFILE;
   if (write_files)
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.20191211/gdb/doc/ChangeLog ./gdb/doc/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/doc/ChangeLog	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/doc/ChangeLog	2019-12-15 01:49:39.000000000 +0000
@@ -1,3 +1,22 @@
+2019-12-14  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+	* python.texi (Symbols In Python): Remove duplicate description of
+	gdb.lookup_global_symbol.
+
+2019-12-11  Simon Marchi  <simon.marchi@efficios.com>
+
+	* gdb.texinfo (Writing JIT Debug Info Readers): Fix typo.
+
+2019-12-11  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
+
+	* gdb.texinfo (Command Options): Use -p and -pretty in the example,
+	as -r is ambiguous.  Update the print - TAB TAB completion result.
+	(Data): Document new option -raw-values.  Use -p and -pretty in the
+	 example, as -r is ambiguous.
+	(Print Settings): Document set print raw values.
+	(Pretty-Printer Commands): Document interaction between enabled
+	pretty printers and -raw-values/-raw-frame-arguments.
+
 2019-12-10  Tom Tromey  <tom@tromey.com>
 
 	* python.texi (gdb.prompt): Use correct quotes in example.
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.20191211/gdb/doc/gcore.1 ./gdb/doc/gcore.1
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/doc/gcore.1	2019-12-11 01:53:22.000000000 +0000
+++ ./gdb/doc/gcore.1	2019-12-15 01:53:39.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GCORE 1"
-.TH GCORE 1 "2019-12-11" "gdb-9.0.50.20191211-git" "GNU Development Tools"
+.TH GCORE 1 "2019-12-15" "gdb-10.0.50.20191215-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.20191211/gdb/doc/gdb.1 ./gdb/doc/gdb.1
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/doc/gdb.1	2019-12-11 01:53:22.000000000 +0000
+++ ./gdb/doc/gdb.1	2019-12-15 01:53:38.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDB 1"
-.TH GDB 1 "2019-12-11" "gdb-9.0.50.20191211-git" "GNU Development Tools"
+.TH GDB 1 "2019-12-15" "gdb-10.0.50.20191215-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.20191211/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.20191211/gdb/doc/gdb-add-index.1	2019-12-11 01:53:23.000000000 +0000
+++ ./gdb/doc/gdb-add-index.1	2019-12-15 01:53:39.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDB-ADD-INDEX 1"
-.TH GDB-ADD-INDEX 1 "2019-12-11" "gdb-9.0.50.20191211-git" "GNU Development Tools"
+.TH GDB-ADD-INDEX 1 "2019-12-15" "gdb-10.0.50.20191215-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.20191211/gdb/doc/gdb.info ./gdb/doc/gdb.info
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/doc/gdb.info	2019-12-11 01:53:19.000000000 +0000
+++ ./gdb/doc/gdb.info	2019-12-15 01:53:35.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.20191211-git.
+Source-Level Debugger' for GDB (GDB) Version 10.0.50.20191215-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
@@ -38,789 +38,790 @@ developing GNU and promoting software fr
 
 
 Indirect:
-gdb.info-1: 1716
-gdb.info-2: 302421
-gdb.info-3: 604551
-gdb.info-4: 902922
-gdb.info-5: 1212237
-gdb.info-6: 1511190
-gdb.info-7: 1840568
-gdb.info-8: 2229874
+gdb.info-1: 1717
+gdb.info-2: 302445
+gdb.info-3: 602094
+gdb.info-4: 902048
+gdb.info-5: 1212854
+gdb.info-6: 1511808
+gdb.info-7: 1841212
+gdb.info-8: 2230519
 
 Tag Table:
 (Indirect)
-Node: Top1716
-Node: Summary5188
-Node: Free Software7049
-Node: Free Documentation7789
-Node: Contributors12723
-Node: Sample Session21602
-Node: Invocation28454
-Node: Invoking GDB28997
-Node: File Options31339
-Ref: --readnever34410
-Node: Mode Options34884
-Ref: -nx35111
-Ref: -nh36868
-Node: Startup43192
-Ref: Home Directory Init File44038
-Ref: Option -init-eval-command44148
-Ref: Init File in the Current Directory during Startup44488
-Ref: Startup-Footnote-146684
-Node: Quitting GDB46793
-Node: Shell Commands47690
-Ref: pipe48617
-Node: Logging Output50131
-Node: Commands51257
-Node: Command Syntax52018
-Node: Command Settings54190
-Node: Completion57203
-Ref: Completion-Footnote-164143
-Node: Command Options64303
-Node: Help66635
-Node: Running73149
-Node: Compilation74378
-Node: Starting76457
-Ref: set exec-wrapper82247
-Ref: set startup-with-shell83336
-Ref: set auto-connect-native-target84397
-Node: Arguments88793
-Node: Environment90062
-Ref: set environment91944
-Ref: unset environment93126
-Node: Working Directory94132
-Ref: set cwd command94704
-Ref: cd command95644
-Node: Input/Output96338
-Node: Attach98398
-Node: Kill Process100864
-Node: Inferiors and Programs101845
-Node: Threads109577
-Ref: thread numbers111688
-Ref: thread ID lists112578
-Ref: global thread numbers113618
-Ref: thread apply all117470
-Ref: set libthread-db-search-path122309
-Node: Forks124363
-Node: Checkpoint/Restart130881
-Ref: Checkpoint/Restart-Footnote-1135409
-Node: Stopping135444
-Node: Breakpoints136707
-Node: Set Breaks139964
-Node: Set Watchpoints158923
-Node: Set Catchpoints168305
-Ref: catch syscall173803
-Node: Delete Breaks181568
-Node: Disabling183504
-Node: Conditions186884
-Node: Break Commands192531
-Node: Dynamic Printf195751
-Node: Save Breakpoints200055
-Node: Static Probe Points201230
-Ref: Static Probe Points-Footnote-1205408
-Ref: Static Probe Points-Footnote-2205568
-Node: Error in Breakpoints205708
-Node: Breakpoint-related Warnings206444
-Node: Continuing and Stepping208771
-Ref: range stepping218551
-Node: Skipping Over Functions and Files219631
-Node: Signals225480
-Ref: stepping and signal handlers229914
-Ref: stepping into signal handlers230710
-Ref: extra signal information231943
-Node: Thread Stops234409
-Node: All-Stop Mode235508
-Node: Non-Stop Mode239475
-Node: Background Execution242888
-Node: Thread-Specific Breakpoints245104
-Node: Interrupted System Calls247120
-Node: Observer Mode248634
-Node: Reverse Execution252070
-Ref: Reverse Execution-Footnote-1256988
-Ref: Reverse Execution-Footnote-2257615
-Node: Process Record and Replay257665
-Node: Stack279054
-Node: Frames280671
-Node: Backtrace283009
-Ref: backtrace-command283346
-Ref: set backtrace past-main289793
-Ref: set backtrace past-entry290121
-Ref: set backtrace limit290688
-Ref: Backtrace-Footnote-1291312
-Node: Selection291500
-Node: Frame Info296283
-Node: Frame Apply302421
-Ref: frame apply302607
-Node: Frame Filter Management306840
-Ref: disable frame-filter all307368
-Node: Source311676
-Node: List312742
-Node: Specify Location315444
-Node: Linespec Locations316065
-Node: Explicit Locations319464
-Node: Address Locations322676
-Node: Edit324427
-Ref: Edit-Footnote-1325903
-Node: Search326138
-Node: Source Path326946
-Ref: set substitute-path335887
-Node: Machine Code338107
-Node: Data348451
-Ref: print options349290
-Node: Expressions359094
-Node: Ambiguous Expressions361197
-Node: Variables364427
-Node: Arrays371025
-Node: Output Formats373556
-Ref: Output Formats-Footnote-1376929
-Node: Memory377086
-Ref: addressable memory unit383271
-Node: Auto Display384765
-Node: Print Settings389307
-Ref: set print address389605
-Ref: set print symbol393267
-Ref: set print array393755
-Ref: set print array-indexes394083
-Ref: set print elements394569
-Ref: set print frame-arguments395234
-Ref: set print raw-frame-arguments397403
-Ref: set print entry-values397819
-Ref: set print frame-info402198
-Ref: set print repeats403864
-Ref: set print max-depth404506
-Ref: set print null-stop406198
-Ref: set print pretty406522
-Ref: set print union407714
-Ref: set print object410020
-Ref: set print static-members410814
-Ref: set print vtbl411491
-Node: Pretty Printing411875
-Node: Pretty-Printer Introduction412389
-Node: Pretty-Printer Example414144
-Node: Pretty-Printer Commands414922
-Node: Value History417346
-Node: Convenience Vars419768
-Node: Convenience Funs427410
-Node: Registers435925
-Ref: standard registers437133
-Ref: Registers-Footnote-1442084
-Node: Floating Point Hardware442479
-Node: Vector Unit443011
-Node: OS Information443398
-Ref: linux info os infotypes445422
-Node: Memory Region Attributes450013
-Node: Dump/Restore Files454677
-Node: Core File Generation457080
-Ref: set use-coredump-filter458640
-Ref: set dump-excluded-mappings460088
-Node: Character Sets460370
-Node: Caching Target Data466735
-Ref: Caching Target Data-Footnote-1469463
-Node: Searching Memory469701
-Node: Value Sizes472844
-Node: Optimized Code474496
-Node: Inline Functions476173
-Node: Tail Call Frames478800
-Ref: set debug entry-values480937
-Node: Macros485001
-Ref: Macros-Footnote-1492577
-Node: Tracepoints492730
-Node: Set Tracepoints494792
-Node: Create and Delete Tracepoints497730
-Node: Enable and Disable Tracepoints504078
-Node: Tracepoint Passcounts505318
-Node: Tracepoint Conditions506729
-Node: Trace State Variables508423
-Node: Tracepoint Actions510618
-Node: Listing Tracepoints517401
-Node: Listing Static Tracepoint Markers519103
-Node: Starting and Stopping Trace Experiments520951
-Ref: disconnected tracing522696
-Node: Tracepoint Restrictions527116
-Node: Analyze Collected Data530885
-Node: tfind532191
-Node: tdump536673
-Node: save tracepoints539188
-Node: Tracepoint Variables539684
-Node: Trace Files540812
-Node: Overlays543188
-Node: How Overlays Work543908
-Ref: A code overlay546463
-Node: Overlay Commands549876
-Node: Automatic Overlay Debugging554058
-Node: Overlay Sample Program556197
-Node: Languages557934
-Node: Setting559097
-Node: Filenames560798
-Node: Manually561609
-Node: Automatically562818
-Node: Show563879
-Ref: show language564167
-Node: Checks565201
-Node: Type Checking566206
-Node: Range Checking568035
-Node: Supported Languages570436
-Node: C571773
-Node: C Operators572737
-Node: C Constants577076
-Node: C Plus Plus Expressions579955
-Node: C Defaults583315
-Node: C Checks583983
-Node: Debugging C584543
-Node: Debugging C Plus Plus585027
-Node: Decimal Floating Point589914
-Node: D591184
-Node: Go591442
-Node: Objective-C592536
-Node: Method Names in Commands592999
-Node: The Print Command with Objective-C594690
-Node: OpenCL C595341
-Node: OpenCL C Datatypes595616
-Node: OpenCL C Expressions595991
-Node: OpenCL C Operators596348
-Node: Fortran596580
-Node: Fortran Operators597301
-Node: Fortran Defaults598346
-Node: Special Fortran Commands598731
-Node: Pascal599237
-Node: Rust599748
-Node: Modula-2604551
-Node: M2 Operators605524
-Node: Built-In Func/Proc608522
-Node: M2 Constants611436
-Node: M2 Types613037
-Node: M2 Defaults616255
-Node: Deviations616856
-Node: M2 Checks617957
-Node: M2 Scope618774
-Node: GDB/M2619798
-Node: Ada620711
-Node: Ada Mode Intro622017
-Node: Omissions from Ada623519
-Node: Additions to Ada627874
-Node: Overloading support for Ada631802
-Node: Stopping Before Main Program633442
-Node: Ada Exceptions633989
-Node: Ada Tasks635188
-Node: Ada Tasks and Core Files641679
-Node: Ravenscar Profile642526
-Node: Ada Settings643597
-Node: Ada Glitches645019
-Node: Unsupported Languages649027
-Node: Symbols649717
-Ref: quoting names650320
-Node: Altering681235
-Node: Assignment682273
-Node: Jumping685379
-Node: Signaling687453
-Node: Returning690382
-Node: Calling693733
-Node: Patching699218
-Node: Compiling and Injecting Code700332
-Ref: set debug compile703959
-Ref: set debug compile-cplus-types704209
-Node: GDB Files714230
-Node: Files715019
-Ref: Shared Libraries728736
-Ref: Files-Footnote-1740934
-Node: File Caching741063
-Node: Separate Debug Files742197
-Ref: debug-file-directory745550
-Node: MiniDebugInfo754165
-Node: Index Files756616
-Node: Symbol Errors760787
-Node: Data Files764403
-Node: Targets765359
-Node: Active Targets766839
-Node: Target Commands767913
-Ref: load772302
-Ref: flash-erase773495
-Node: Byte Order773555
-Node: Remote Debugging774994
-Node: Connecting776256
-Ref: --multi Option in Types of Remote Connnections778482
-Ref: Attaching in Types of Remote Connections779897
-Ref: Host and target files780398
-Node: File Transfer789020
-Node: Server789959
-Ref: Running gdbserver791535
-Ref: Attaching to a program793753
-Ref: Other Command-Line Arguments for gdbserver796278
-Ref: Monitor Commands for gdbserver799597
-Ref: Server-Footnote-1804973
-Node: Remote Configuration805093
-Ref: set remotebreak806353
-Ref: set remote hardware-watchpoint-limit807815
-Ref: set remote hardware-breakpoint-limit807815
-Ref: set remote hardware-watchpoint-length-limit808317
-Ref: set remote exec-file808772
-Node: Remote Stub820577
-Node: Stub Contents823472
-Node: Bootstrapping825579
-Node: Debug Session829394
-Node: Configurations831435
-Node: Native832204
-Node: BSD libkvm Interface832773
-Node: Process Information833825
-Node: DJGPP Native839374
-Node: Cygwin Native845928
-Node: Non-debug DLL Symbols850849
-Node: Hurd Native855088
-Node: Darwin860344
-Node: FreeBSD861621
-Node: Embedded OS862341
-Node: Embedded Processors862752
-Node: ARC863742
-Node: ARM864289
-Node: M68K866836
-Node: MicroBlaze867009
-Node: MIPS Embedded868458
-Node: OpenRISC 1000869755
-Node: PowerPC Embedded870661
-Node: AVR873890
-Node: CRIS874262
-Node: Super-H875238
-Node: Architectures876297
-Node: AArch64876693
-Node: i386878266
-Ref: i386-Footnote-1882476
-Node: Alpha882562
-Node: MIPS882695
-Node: HPPA886589
-Node: PowerPC887111
-Node: Nios II887847
-Node: Sparc64888252
-Node: S12Z890620
-Node: Controlling GDB890913
-Node: Prompt891856
-Node: Editing893574
-Node: Command History894884
-Node: Screen Size899190
-Node: Output Styling902922
-Node: Numbers907005
-Node: ABI908987
-Node: Auto-loading912160
-Ref: set auto-load off913535
-Ref: show auto-load914171
-Ref: info auto-load914950
-Node: Init File in the Current Directory917917
-Ref: set auto-load local-gdbinit918492
-Ref: show auto-load local-gdbinit918674
-Ref: info auto-load local-gdbinit918838
-Node: libthread_db.so.1 file918986
-Ref: set auto-load libthread-db919925
-Ref: show auto-load libthread-db920056
-Ref: info auto-load libthread-db920193
-Node: Auto-loading safe path920377
-Ref: set auto-load safe-path921683
-Ref: show auto-load safe-path922422
-Ref: add-auto-load-safe-path922545
-Node: Auto-loading verbose mode925447
-Ref: set debug auto-load926610
-Ref: show debug auto-load926711
-Node: Messages/Warnings926833
-Ref: confirmation requests928267
-Node: Debugging Output929471
-Node: Other Misc Settings939888
-Node: Extending GDB940912
-Node: Sequences942765
-Node: Define943426
-Node: Hooks948911
-Node: Command Files951277
-Node: Output956350
-Ref: eval961152
-Node: Auto-loading sequences961314
-Ref: set auto-load gdb-scripts961809
-Ref: show auto-load gdb-scripts961933
-Ref: info auto-load gdb-scripts962063
-Node: Python962294
-Node: Python Commands963580
-Node: Python API965694
-Node: Basic Python968299
-Ref: prompt_hook979336
-Node: Exception Handling979934
-Node: Values From Inferior982836
-Node: Types In Python1000172
-Node: Pretty Printing API1010164
-Node: Selecting Pretty-Printers1014607
-Node: Writing a Pretty-Printer1017334
-Node: Type Printing API1022656
-Node: Frame Filter API1025272
-Node: Frame Decorator API1032584
-Ref: frame_args1036325
-Node: Writing a Frame Filter1039655
-Node: Unwinding Frames in Python1051129
-Node: Xmethods In Python1058768
-Node: Xmethod API1061664
-Node: Writing an Xmethod1065476
-Node: Inferiors In Python1071311
-Node: Events In Python1075070
-Node: Threads In Python1084278
-Node: Recordings In Python1087622
-Node: Commands In Python1094956
-Node: Parameters In Python1104369
-Node: Functions In Python1111307
-Node: Progspaces In Python1113524
-Node: Objfiles In Python1118429
-Node: Frames In Python1125091
-Node: Blocks In Python1132097
-Node: Symbols In Python1136764
-Node: Symbol Tables In Python1146753
-Node: Line Tables In Python1149974
-Node: Breakpoints In Python1152811
-Ref: python_breakpoint_thread1159134
-Node: Finish Breakpoints in Python1162167
-Node: Lazy Strings In Python1164273
-Node: Architectures In Python1166501
-Node: Python Auto-loading1168690
-Ref: set auto-load python-scripts1169319
-Ref: show auto-load python-scripts1169419
-Ref: info auto-load python-scripts1169525
-Node: Python modules1170659
-Node: gdb.printing1171045
-Node: gdb.types1172472
-Node: gdb.prompt1175484
-Node: Guile1177080
-Node: Guile Introduction1177739
-Node: Guile Commands1178610
-Node: Guile API1180464
-Node: Basic Guile1182461
-Node: Guile Configuration1188143
-Node: GDB Scheme Data Types1189119
-Node: Guile Exception Handling1190951
-Node: Values From Inferior In Guile1194985
-Node: Arithmetic In Guile1212237
-Node: Types In Guile1213868
-Ref: Fields of a type in Guile1221809
-Node: Guile Pretty Printing API1223197
-Node: Selecting Guile Pretty-Printers1228926
-Node: Writing a Guile Pretty-Printer1231302
-Node: Commands In Guile1236487
-Node: Parameters In Guile1247267
-Ref: Parameters In Guile-Footnote-11254148
-Node: Progspaces In Guile1254264
-Node: Objfiles In Guile1256852
-Node: Frames In Guile1259133
-Node: Blocks In Guile1265711
-Node: Symbols In Guile1270519
-Node: Symbol Tables In Guile1277854
-Node: Breakpoints In Guile1280817
-Node: Lazy Strings In Guile1291078
-Node: Architectures In Guile1293369
-Node: Disassembly In Guile1297676
-Node: I/O Ports in Guile1300878
-Node: Memory Ports in Guile1301434
-Node: Iterators In Guile1304700
-Node: Guile Auto-loading1308989
-Ref: set auto-load guile-scripts1309612
-Ref: show auto-load guile-scripts1309710
-Ref: info auto-load guile-scripts1309814
-Node: Guile Modules1310773
-Node: Guile Printing Module1311095
-Node: Guile Types Module1311914
-Node: Auto-loading extensions1313207
-Node: objfile-gdbdotext file1314405
-Ref: set auto-load scripts-directory1315841
-Ref: with-auto-load-dir1316217
-Ref: show auto-load scripts-directory1317035
-Ref: add-auto-load-scripts-directory1317115
-Node: dotdebug_gdb_scripts section1317591
-Node: Which flavor to choose?1321341
-Node: Multiple Extension Languages1323162
-Node: Aliases1324226
-Node: Interpreters1327091
-Node: TUI1330242
-Node: TUI Overview1331240
-Node: TUI Keys1333673
-Node: TUI Single Key Mode1336396
-Node: TUI Commands1337579
-Node: TUI Configuration1341346
-Node: Emacs1343368
-Node: GDB/MI1348805
-Node: GDB/MI General Design1350779
-Node: Context management1353299
-Node: Asynchronous and non-stop modes1357086
-Node: Thread groups1360059
-Node: GDB/MI Command Syntax1362337
-Node: GDB/MI Input Syntax1362580
-Node: GDB/MI Output Syntax1364130
-Node: GDB/MI Compatibility with CLI1367715
-Node: GDB/MI Development and Front Ends1368452
-Node: GDB/MI Output Records1371971
-Node: GDB/MI Result Records1372377
-Node: GDB/MI Stream Records1373727
-Node: GDB/MI Async Records1374992
-Node: GDB/MI Breakpoint Information1385429
-Node: GDB/MI Frame Information1391065
-Node: GDB/MI Thread Information1392347
-Node: GDB/MI Ada Exception Information1393817
-Node: GDB/MI Simple Examples1394367
-Node: GDB/MI Command Description Format1396603
-Node: GDB/MI Breakpoint Commands1397483
-Ref: -break-insert1404591
-Node: GDB/MI Catchpoint Commands1418165
-Node: Shared Library GDB/MI Catchpoint Commands1418578
-Node: Ada Exception GDB/MI Catchpoint Commands1420236
-Node: C++ Exception GDB/MI Catchpoint Commands1423786
-Node: GDB/MI Program Context1427802
-Node: GDB/MI Thread Commands1432070
-Node: GDB/MI Ada Tasking Commands1435371
-Node: GDB/MI Program Execution1437643
-Node: GDB/MI Stack Manipulation1449910
-Ref: -stack-list-arguments1451834
-Ref: -stack-list-frames1455664
-Ref: -stack-list-locals1459993
-Ref: -stack-list-variables1461483
-Node: GDB/MI Variable Objects1463017
-Ref: -var-set-format1472983
-Ref: -var-list-children1474364
-Ref: -var-update1483172
-Ref: -var-set-frozen1486170
-Ref: -var-set-update-range1486967
-Ref: -var-set-visualizer1487496
-Node: GDB/MI Data Manipulation1488986
-Node: GDB/MI Tracepoint Commands1511190
-Node: GDB/MI Symbol Query1522981
-Ref: -symbol-info-functions1523250
-Ref: -symbol-info-module-functions1527763
-Ref: -symbol-info-module-variables1530743
-Ref: -symbol-info-modules1534460
-Ref: -symbol-info-types1536364
-Ref: -symbol-info-variables1538357
-Node: GDB/MI File Commands1543381
-Node: GDB/MI Target Manipulation1547815
-Node: GDB/MI File Transfer Commands1554473
-Node: GDB/MI Ada Exceptions Commands1555796
-Node: GDB/MI Support Commands1557149
-Node: GDB/MI Miscellaneous Commands1561868
-Ref: -interpreter-exec1572221
-Node: Annotations1576193
-Node: Annotations Overview1577112
-Node: Server Prefix1579575
-Node: Prompting1580309
-Node: Errors1581826
-Node: Invalidation1582722
-Node: Annotations for Running1583201
-Node: Source Annotations1584735
-Node: JIT Interface1585664
-Node: Declarations1587464
-Node: Registering Code1588851
-Node: Unregistering Code1589823
-Node: Custom Debug Info1590450
-Node: Using JIT Debug Info Readers1591746
-Node: Writing JIT Debug Info Readers1592758
-Node: In-Process Agent1594953
-Ref: Control Agent1596896
-Node: In-Process Agent Protocol1597763
-Node: IPA Protocol Objects1598554
-Ref: agent expression object1599552
-Ref: tracepoint action object1599757
-Ref: tracepoint object1599837
-Node: IPA Protocol Commands1602367
-Node: GDB Bugs1603837
-Node: Bug Criteria1604569
-Node: Bug Reporting1605446
-Node: Command Line Editing1613275
-Node: Introduction and Notation1613927
-Node: Readline Interaction1615548
-Node: Readline Bare Essentials1616737
-Node: Readline Movement Commands1618518
-Node: Readline Killing Commands1619476
-Node: Readline Arguments1621392
-Node: Searching1622434
-Node: Readline Init File1624584
-Node: Readline Init File Syntax1625735
-Node: Conditional Init Constructs1645891
-Node: Sample Init File1650085
-Node: Bindable Readline Commands1653200
-Node: Commands For Moving1654252
-Node: Commands For History1655816
-Node: Commands For Text1660078
-Node: Commands For Killing1663517
-Node: Numeric Arguments1665681
-Node: Commands For Completion1666818
-Node: Keyboard Macros1668784
-Node: Miscellaneous Commands1669469
-Node: Readline vi Mode1673388
-Node: Using History Interactively1674298
-Node: History Interaction1674813
-Node: Event Designators1676709
-Node: Word Designators1677846
-Node: Modifiers1679481
-Node: In Memoriam1680702
-Node: Formatting Documentation1681585
-Ref: Formatting Documentation-Footnote-11684961
-Node: Installing GDB1685057
-Node: Requirements1685629
-Ref: Expat1686330
-Ref: MPFR1689623
-Node: Running Configure1691244
-Node: Separate Objdir1694115
-Node: Config Names1697089
-Node: Configure Options1698566
-Node: System-wide configuration1707917
-Node: System-wide Configuration Scripts1710454
-Node: Maintenance Commands1711638
-Ref: maint info breakpoints1713293
-Ref: maint check libthread-db1721758
-Node: Remote Protocol1738412
-Node: Overview1739104
-Ref: Binary Data1741649
-Node: Packets1744174
-Ref: thread-id syntax1745074
-Ref: extended mode1746519
-Ref: ? packet1746777
-Ref: bc1748243
-Ref: bs1748453
-Ref: read registers packet1750070
-Ref: cycle step packet1751925
-Ref: write register packet1754636
-Ref: step with signal packet1755615
-Ref: vCont packet1757091
-Ref: vCtrlC packet1760325
-Ref: vKill packet1762743
-Ref: X packet1764277
-Ref: insert breakpoint or watchpoint packet1764646
-Node: Stop Reply Packets1768972
-Ref: swbreak stop reason1772223
-Ref: thread create event1775820
-Ref: thread exit event1777023
-Node: General Query Packets1779232
-Ref: qCRC packet1782062
-Ref: QEnvironmentHexEncoded1785215
-Ref: QEnvironmentUnset1786445
-Ref: QEnvironmentReset1787389
-Ref: QSetWorkingDir packet1788333
-Ref: QNonStop1794784
-Ref: QCatchSyscalls1795460
-Ref: QPassSignals1796997
-Ref: QProgramSignals1798204
-Ref: QThreadEvents1799771
-Ref: qSearch memory1801789
-Ref: QStartNoAckMode1802297
-Ref: qSupported1802829
-Ref: multiprocess extensions1818349
-Ref: install tracepoint in tracing1820379
-Ref: qXfer read1824902
-Ref: qXfer auxiliary vector read1826509
-Ref: qXfer btrace read1826857
-Ref: qXfer btrace-conf read1827922
-Ref: qXfer executable filename read1828273
-Ref: qXfer target description read1828888
-Ref: qXfer library list read1829322
-Ref: qXfer svr4 library list read1829978
-Ref: qXfer memory map read1831831
-Ref: qXfer sdata read1832218
-Ref: qXfer siginfo read1832684
-Ref: qXfer threads read1833080
-Ref: qXfer traceframe info read1833483
-Ref: qXfer unwind info block1833901
-Ref: qXfer fdpic loadmap read1834135
-Ref: qXfer osdata read1834551
-Ref: qXfer write1834705
-Ref: qXfer siginfo write1835797
-Ref: General Query Packets-Footnote-11838525
-Node: Architecture-Specific Protocol Details1840568
-Node: ARM-Specific Protocol Details1841077
-Node: ARM Breakpoint Kinds1841325
-Node: MIPS-Specific Protocol Details1841656
-Node: MIPS Register packet Format1841939
-Node: MIPS Breakpoint Kinds1842866
-Node: Tracepoint Packets1843284
-Ref: QTEnable1852598
-Ref: QTDisable1852794
-Ref: qTfSTM1858331
-Ref: qTsSTM1858331
-Ref: qTSTMat1859408
-Ref: QTBuffer-size1860559
-Node: Host I/O Packets1862532
-Node: Interrupts1868113
-Ref: interrupting remote targets1868257
-Node: Notification Packets1870425
-Node: Remote Non-Stop1875850
-Node: Packet Acknowledgment1878966
-Node: Examples1881081
-Node: File-I/O Remote Protocol Extension1881675
-Node: File-I/O Overview1882137
-Node: Protocol Basics1884336
-Node: The F Request Packet1886565
-Node: The F Reply Packet1887466
-Node: The Ctrl-C Message1888384
-Node: Console I/O1890010
-Node: List of Supported Calls1891226
-Node: open1891588
-Node: close1894096
-Node: read1894479
-Node: write1895088
-Node: lseek1895859
-Node: rename1896743
-Node: unlink1898150
-Node: stat/fstat1899097
-Node: gettimeofday1899990
-Node: isatty1900426
-Node: system1901022
-Node: Protocol-specific Representation of Datatypes1902564
-Node: Integral Datatypes1902941
-Node: Pointer Values1903748
-Node: Memory Transfer1904452
-Node: struct stat1905072
-Node: struct timeval1907274
-Node: Constants1907791
-Node: Open Flags1908240
-Node: mode_t Values1908581
-Node: Errno Values1909073
-Node: Lseek Flags1909883
-Node: Limits1910068
-Node: File-I/O Examples1910428
-Node: Library List Format1911516
-Node: Library List Format for SVR4 Targets1914298
-Node: Memory Map Format1916765
-Node: Thread List Format1919289
-Node: Traceframe Info Format1920293
-Node: Branch Trace Format1921979
-Node: Branch Trace Configuration Format1923679
-Node: Agent Expressions1924853
-Node: General Bytecode Design1927674
-Node: Bytecode Descriptions1932468
-Node: Using Agent Expressions1945935
-Node: Varying Target Capabilities1947912
-Node: Rationale1949073
-Node: Target Descriptions1956462
-Node: Retrieving Descriptions1958405
-Node: Target Description Format1959490
-Node: Predefined Target Types1969365
-Node: Enum Target Types1970810
-Node: Standard Target Features1971805
-Node: AArch64 Features1973805
-Node: ARC Features1974511
-Node: ARM Features1976572
-Node: i386 Features1978086
-Node: MicroBlaze Features1980301
-Node: MIPS Features1980878
-Node: M68K Features1982069
-Node: NDS32 Features1982730
-Node: Nios II Features1983754
-Node: OpenRISC 1000 Features1984159
-Node: PowerPC Features1984525
-Node: RISC-V Features1988495
-Node: RX Features1990185
-Node: S/390 and System z Features1990547
-Node: Sparc Features1992687
-Node: TIC6x Features1993592
-Node: Operating System Information1994141
-Node: Process list1994977
-Node: Trace File Format1996040
-Node: Index Section Format1999254
-Node: Man Pages2007180
-Node: gdb man2007650
-Node: gdbserver man2013624
-Node: gcore man2021021
-Node: gdbinit man2022143
-Node: gdb-add-index man2023336
-Ref: gdb-add-index2023445
-Node: Copying2024319
-Node: GNU Free Documentation License2061880
-Node: Concept Index2087027
-Node: Command and Variable Index2229874
+Node: Top1717
+Node: Summary5190
+Node: Free Software7051
+Node: Free Documentation7791
+Node: Contributors12725
+Node: Sample Session21604
+Node: Invocation28457
+Node: Invoking GDB29000
+Node: File Options31342
+Ref: --readnever34413
+Node: Mode Options34887
+Ref: -nx35114
+Ref: -nh36871
+Node: Startup43195
+Ref: Home Directory Init File44041
+Ref: Option -init-eval-command44151
+Ref: Init File in the Current Directory during Startup44491
+Ref: Startup-Footnote-146687
+Node: Quitting GDB46796
+Node: Shell Commands47693
+Ref: pipe48620
+Node: Logging Output50134
+Node: Commands51260
+Node: Command Syntax52021
+Node: Command Settings54193
+Node: Completion57206
+Ref: Completion-Footnote-164146
+Node: Command Options64306
+Node: Help66658
+Node: Running73172
+Node: Compilation74401
+Node: Starting76480
+Ref: set exec-wrapper82270
+Ref: set startup-with-shell83359
+Ref: set auto-connect-native-target84420
+Node: Arguments88816
+Node: Environment90085
+Ref: set environment91967
+Ref: unset environment93149
+Node: Working Directory94155
+Ref: set cwd command94727
+Ref: cd command95667
+Node: Input/Output96361
+Node: Attach98421
+Node: Kill Process100887
+Node: Inferiors and Programs101868
+Node: Threads109600
+Ref: thread numbers111711
+Ref: thread ID lists112601
+Ref: global thread numbers113641
+Ref: thread apply all117493
+Ref: set libthread-db-search-path122332
+Node: Forks124386
+Node: Checkpoint/Restart130904
+Ref: Checkpoint/Restart-Footnote-1135432
+Node: Stopping135467
+Node: Breakpoints136730
+Node: Set Breaks139987
+Node: Set Watchpoints158946
+Node: Set Catchpoints168328
+Ref: catch syscall173826
+Node: Delete Breaks181591
+Node: Disabling183527
+Node: Conditions186907
+Node: Break Commands192554
+Node: Dynamic Printf195774
+Node: Save Breakpoints200078
+Node: Static Probe Points201253
+Ref: Static Probe Points-Footnote-1205431
+Ref: Static Probe Points-Footnote-2205591
+Node: Error in Breakpoints205731
+Node: Breakpoint-related Warnings206467
+Node: Continuing and Stepping208794
+Ref: range stepping218574
+Node: Skipping Over Functions and Files219654
+Node: Signals225503
+Ref: stepping and signal handlers229937
+Ref: stepping into signal handlers230733
+Ref: extra signal information231966
+Node: Thread Stops234432
+Node: All-Stop Mode235531
+Node: Non-Stop Mode239498
+Node: Background Execution242911
+Node: Thread-Specific Breakpoints245127
+Node: Interrupted System Calls247143
+Node: Observer Mode248657
+Node: Reverse Execution252093
+Ref: Reverse Execution-Footnote-1257011
+Ref: Reverse Execution-Footnote-2257638
+Node: Process Record and Replay257688
+Node: Stack279077
+Node: Frames280694
+Node: Backtrace283032
+Ref: backtrace-command283369
+Ref: set backtrace past-main289816
+Ref: set backtrace past-entry290144
+Ref: set backtrace limit290711
+Ref: Backtrace-Footnote-1291335
+Node: Selection291523
+Node: Frame Info296306
+Node: Frame Apply302445
+Ref: frame apply302631
+Node: Frame Filter Management306864
+Ref: disable frame-filter all307392
+Node: Source311700
+Node: List312766
+Node: Specify Location315468
+Node: Linespec Locations316089
+Node: Explicit Locations319488
+Node: Address Locations322700
+Node: Edit324451
+Ref: Edit-Footnote-1325927
+Node: Search326162
+Node: Source Path326970
+Ref: set substitute-path335911
+Node: Machine Code338131
+Node: Data348475
+Ref: print options349314
+Node: Expressions359315
+Node: Ambiguous Expressions361418
+Node: Variables364648
+Node: Arrays371246
+Node: Output Formats373777
+Ref: Output Formats-Footnote-1377150
+Node: Memory377307
+Ref: addressable memory unit383492
+Node: Auto Display384986
+Node: Print Settings389528
+Ref: set print address389826
+Ref: set print symbol393488
+Ref: set print array393976
+Ref: set print array-indexes394304
+Ref: set print elements394790
+Ref: set print frame-arguments395455
+Ref: set print raw-frame-arguments397624
+Ref: set print entry-values398040
+Ref: set print frame-info402419
+Ref: set print repeats404085
+Ref: set print max-depth404727
+Ref: set print null-stop406419
+Ref: set print pretty406743
+Ref: set print raw-values407330
+Ref: set print union408347
+Ref: set print object410653
+Ref: set print static-members411447
+Ref: set print vtbl412124
+Node: Pretty Printing412508
+Node: Pretty-Printer Introduction413022
+Node: Pretty-Printer Example414777
+Node: Pretty-Printer Commands415555
+Node: Value History418486
+Node: Convenience Vars420908
+Node: Convenience Funs428550
+Node: Registers437065
+Ref: standard registers438273
+Ref: Registers-Footnote-1443224
+Node: Floating Point Hardware443619
+Node: Vector Unit444151
+Node: OS Information444538
+Ref: linux info os infotypes446562
+Node: Memory Region Attributes451153
+Node: Dump/Restore Files455817
+Node: Core File Generation458220
+Ref: set use-coredump-filter459780
+Ref: set dump-excluded-mappings461228
+Node: Character Sets461510
+Node: Caching Target Data467875
+Ref: Caching Target Data-Footnote-1470603
+Node: Searching Memory470841
+Node: Value Sizes473984
+Node: Optimized Code475636
+Node: Inline Functions477313
+Node: Tail Call Frames479940
+Ref: set debug entry-values482077
+Node: Macros486141
+Ref: Macros-Footnote-1493717
+Node: Tracepoints493870
+Node: Set Tracepoints495932
+Node: Create and Delete Tracepoints498870
+Node: Enable and Disable Tracepoints505218
+Node: Tracepoint Passcounts506458
+Node: Tracepoint Conditions507869
+Node: Trace State Variables509563
+Node: Tracepoint Actions511758
+Node: Listing Tracepoints518541
+Node: Listing Static Tracepoint Markers520243
+Node: Starting and Stopping Trace Experiments522091
+Ref: disconnected tracing523836
+Node: Tracepoint Restrictions528256
+Node: Analyze Collected Data532025
+Node: tfind533331
+Node: tdump537813
+Node: save tracepoints540328
+Node: Tracepoint Variables540824
+Node: Trace Files541952
+Node: Overlays544328
+Node: How Overlays Work545048
+Ref: A code overlay547603
+Node: Overlay Commands551016
+Node: Automatic Overlay Debugging555198
+Node: Overlay Sample Program557337
+Node: Languages559074
+Node: Setting560237
+Node: Filenames561938
+Node: Manually562749
+Node: Automatically563958
+Node: Show565019
+Ref: show language565307
+Node: Checks566341
+Node: Type Checking567346
+Node: Range Checking569175
+Node: Supported Languages571576
+Node: C572913
+Node: C Operators573877
+Node: C Constants578216
+Node: C Plus Plus Expressions581095
+Node: C Defaults584455
+Node: C Checks585123
+Node: Debugging C585683
+Node: Debugging C Plus Plus586167
+Node: Decimal Floating Point591054
+Node: D592324
+Node: Go592582
+Node: Objective-C593676
+Node: Method Names in Commands594139
+Node: The Print Command with Objective-C595830
+Node: OpenCL C596481
+Node: OpenCL C Datatypes596756
+Node: OpenCL C Expressions597131
+Node: OpenCL C Operators597488
+Node: Fortran597720
+Node: Fortran Operators598441
+Node: Fortran Defaults599486
+Node: Special Fortran Commands599871
+Node: Pascal602094
+Node: Rust602605
+Node: Modula-2605692
+Node: M2 Operators606665
+Node: Built-In Func/Proc609663
+Node: M2 Constants612577
+Node: M2 Types614178
+Node: M2 Defaults617396
+Node: Deviations617997
+Node: M2 Checks619098
+Node: M2 Scope619915
+Node: GDB/M2620939
+Node: Ada621852
+Node: Ada Mode Intro623158
+Node: Omissions from Ada624660
+Node: Additions to Ada629015
+Node: Overloading support for Ada632943
+Node: Stopping Before Main Program634583
+Node: Ada Exceptions635130
+Node: Ada Tasks636329
+Node: Ada Tasks and Core Files642820
+Node: Ravenscar Profile643667
+Node: Ada Settings644738
+Node: Ada Glitches646160
+Node: Unsupported Languages650168
+Node: Symbols650858
+Ref: quoting names651461
+Node: Altering682376
+Node: Assignment683414
+Node: Jumping686520
+Node: Signaling688594
+Node: Returning691523
+Node: Calling694874
+Node: Patching700359
+Node: Compiling and Injecting Code701473
+Ref: set debug compile705100
+Ref: set debug compile-cplus-types705350
+Node: GDB Files715371
+Node: Files716160
+Ref: Shared Libraries729877
+Ref: Files-Footnote-1742075
+Node: File Caching742204
+Node: Separate Debug Files743338
+Ref: debug-file-directory746691
+Node: MiniDebugInfo755306
+Node: Index Files757757
+Node: Symbol Errors761928
+Node: Data Files765544
+Node: Targets766500
+Node: Active Targets767980
+Node: Target Commands769054
+Ref: load773443
+Ref: flash-erase774636
+Node: Byte Order774696
+Node: Remote Debugging776135
+Node: Connecting777397
+Ref: --multi Option in Types of Remote Connnections779623
+Ref: Attaching in Types of Remote Connections781038
+Ref: Host and target files781539
+Node: File Transfer790161
+Node: Server791100
+Ref: Running gdbserver792676
+Ref: Attaching to a program794894
+Ref: Other Command-Line Arguments for gdbserver797419
+Ref: Monitor Commands for gdbserver800738
+Ref: Server-Footnote-1806114
+Node: Remote Configuration806234
+Ref: set remotebreak807494
+Ref: set remote hardware-watchpoint-limit808956
+Ref: set remote hardware-breakpoint-limit808956
+Ref: set remote hardware-watchpoint-length-limit809458
+Ref: set remote exec-file809913
+Node: Remote Stub821718
+Node: Stub Contents824613
+Node: Bootstrapping826720
+Node: Debug Session830535
+Node: Configurations832576
+Node: Native833345
+Node: BSD libkvm Interface833914
+Node: Process Information834966
+Node: DJGPP Native840515
+Node: Cygwin Native847069
+Node: Non-debug DLL Symbols851990
+Node: Hurd Native856229
+Node: Darwin861485
+Node: FreeBSD862762
+Node: Embedded OS863482
+Node: Embedded Processors863893
+Node: ARC864883
+Node: ARM865430
+Node: M68K867977
+Node: MicroBlaze868150
+Node: MIPS Embedded869599
+Node: OpenRISC 1000870896
+Node: PowerPC Embedded871802
+Node: AVR875031
+Node: CRIS875403
+Node: Super-H876379
+Node: Architectures877438
+Node: AArch64877834
+Node: i386879407
+Ref: i386-Footnote-1883617
+Node: Alpha883703
+Node: MIPS883836
+Node: HPPA887730
+Node: PowerPC888252
+Node: Nios II888988
+Node: Sparc64889393
+Node: S12Z891761
+Node: Controlling GDB892054
+Node: Prompt892997
+Node: Editing894715
+Node: Command History896025
+Node: Screen Size902048
+Node: Output Styling904064
+Node: Numbers908147
+Node: ABI910129
+Node: Auto-loading913302
+Ref: set auto-load off914677
+Ref: show auto-load915313
+Ref: info auto-load916092
+Node: Init File in the Current Directory919059
+Ref: set auto-load local-gdbinit919634
+Ref: show auto-load local-gdbinit919816
+Ref: info auto-load local-gdbinit919980
+Node: libthread_db.so.1 file920128
+Ref: set auto-load libthread-db921067
+Ref: show auto-load libthread-db921198
+Ref: info auto-load libthread-db921335
+Node: Auto-loading safe path921519
+Ref: set auto-load safe-path922825
+Ref: show auto-load safe-path923564
+Ref: add-auto-load-safe-path923687
+Node: Auto-loading verbose mode926589
+Ref: set debug auto-load927752
+Ref: show debug auto-load927853
+Node: Messages/Warnings927975
+Ref: confirmation requests929409
+Node: Debugging Output930613
+Node: Other Misc Settings941030
+Node: Extending GDB942054
+Node: Sequences943907
+Node: Define944568
+Node: Hooks950053
+Node: Command Files952419
+Node: Output957492
+Ref: eval962294
+Node: Auto-loading sequences962456
+Ref: set auto-load gdb-scripts962951
+Ref: show auto-load gdb-scripts963075
+Ref: info auto-load gdb-scripts963205
+Node: Python963436
+Node: Python Commands964722
+Node: Python API966836
+Node: Basic Python969441
+Ref: prompt_hook980478
+Node: Exception Handling981076
+Node: Values From Inferior983978
+Node: Types In Python1001314
+Node: Pretty Printing API1011306
+Node: Selecting Pretty-Printers1015749
+Node: Writing a Pretty-Printer1018476
+Node: Type Printing API1023798
+Node: Frame Filter API1026414
+Node: Frame Decorator API1033726
+Ref: frame_args1037467
+Node: Writing a Frame Filter1040797
+Node: Unwinding Frames in Python1052271
+Node: Xmethods In Python1059910
+Node: Xmethod API1062806
+Node: Writing an Xmethod1066618
+Node: Inferiors In Python1072453
+Node: Events In Python1076212
+Node: Threads In Python1085420
+Node: Recordings In Python1088764
+Node: Commands In Python1096098
+Node: Parameters In Python1105511
+Node: Functions In Python1112449
+Node: Progspaces In Python1114666
+Node: Objfiles In Python1119571
+Node: Frames In Python1126233
+Node: Blocks In Python1133239
+Node: Symbols In Python1137906
+Node: Symbol Tables In Python1147369
+Node: Line Tables In Python1150590
+Node: Breakpoints In Python1153427
+Ref: python_breakpoint_thread1159750
+Node: Finish Breakpoints in Python1162783
+Node: Lazy Strings In Python1164889
+Node: Architectures In Python1167117
+Node: Python Auto-loading1169306
+Ref: set auto-load python-scripts1169935
+Ref: show auto-load python-scripts1170035
+Ref: info auto-load python-scripts1170141
+Node: Python modules1171275
+Node: gdb.printing1171661
+Node: gdb.types1173088
+Node: gdb.prompt1176100
+Node: Guile1177696
+Node: Guile Introduction1178355
+Node: Guile Commands1179226
+Node: Guile API1181080
+Node: Basic Guile1183077
+Node: Guile Configuration1188759
+Node: GDB Scheme Data Types1189735
+Node: Guile Exception Handling1191567
+Node: Values From Inferior In Guile1195601
+Node: Arithmetic In Guile1212854
+Node: Types In Guile1214485
+Ref: Fields of a type in Guile1222426
+Node: Guile Pretty Printing API1223814
+Node: Selecting Guile Pretty-Printers1229543
+Node: Writing a Guile Pretty-Printer1231919
+Node: Commands In Guile1237104
+Node: Parameters In Guile1247884
+Ref: Parameters In Guile-Footnote-11254765
+Node: Progspaces In Guile1254881
+Node: Objfiles In Guile1257469
+Node: Frames In Guile1259750
+Node: Blocks In Guile1266328
+Node: Symbols In Guile1271136
+Node: Symbol Tables In Guile1278471
+Node: Breakpoints In Guile1281434
+Node: Lazy Strings In Guile1291695
+Node: Architectures In Guile1293986
+Node: Disassembly In Guile1298293
+Node: I/O Ports in Guile1301495
+Node: Memory Ports in Guile1302051
+Node: Iterators In Guile1305317
+Node: Guile Auto-loading1309606
+Ref: set auto-load guile-scripts1310229
+Ref: show auto-load guile-scripts1310327
+Ref: info auto-load guile-scripts1310431
+Node: Guile Modules1311390
+Node: Guile Printing Module1311712
+Node: Guile Types Module1312531
+Node: Auto-loading extensions1313824
+Node: objfile-gdbdotext file1315022
+Ref: set auto-load scripts-directory1316458
+Ref: with-auto-load-dir1316834
+Ref: show auto-load scripts-directory1317652
+Ref: add-auto-load-scripts-directory1317732
+Node: dotdebug_gdb_scripts section1318208
+Node: Which flavor to choose?1321958
+Node: Multiple Extension Languages1323779
+Node: Aliases1324843
+Node: Interpreters1327708
+Node: TUI1330859
+Node: TUI Overview1331857
+Node: TUI Keys1334290
+Node: TUI Single Key Mode1337013
+Node: TUI Commands1338196
+Node: TUI Configuration1341963
+Node: Emacs1343985
+Node: GDB/MI1349422
+Node: GDB/MI General Design1351396
+Node: Context management1353916
+Node: Asynchronous and non-stop modes1357703
+Node: Thread groups1360676
+Node: GDB/MI Command Syntax1362954
+Node: GDB/MI Input Syntax1363197
+Node: GDB/MI Output Syntax1364747
+Node: GDB/MI Compatibility with CLI1368332
+Node: GDB/MI Development and Front Ends1369069
+Node: GDB/MI Output Records1372588
+Node: GDB/MI Result Records1372994
+Node: GDB/MI Stream Records1374344
+Node: GDB/MI Async Records1375609
+Node: GDB/MI Breakpoint Information1386046
+Node: GDB/MI Frame Information1391682
+Node: GDB/MI Thread Information1392964
+Node: GDB/MI Ada Exception Information1394434
+Node: GDB/MI Simple Examples1394984
+Node: GDB/MI Command Description Format1397220
+Node: GDB/MI Breakpoint Commands1398100
+Ref: -break-insert1405208
+Node: GDB/MI Catchpoint Commands1418782
+Node: Shared Library GDB/MI Catchpoint Commands1419195
+Node: Ada Exception GDB/MI Catchpoint Commands1420853
+Node: C++ Exception GDB/MI Catchpoint Commands1424403
+Node: GDB/MI Program Context1428419
+Node: GDB/MI Thread Commands1432687
+Node: GDB/MI Ada Tasking Commands1435988
+Node: GDB/MI Program Execution1438260
+Node: GDB/MI Stack Manipulation1450527
+Ref: -stack-list-arguments1452451
+Ref: -stack-list-frames1456281
+Ref: -stack-list-locals1460610
+Ref: -stack-list-variables1462100
+Node: GDB/MI Variable Objects1463634
+Ref: -var-set-format1473600
+Ref: -var-list-children1474981
+Ref: -var-update1483789
+Ref: -var-set-frozen1486787
+Ref: -var-set-update-range1487584
+Ref: -var-set-visualizer1488113
+Node: GDB/MI Data Manipulation1489603
+Node: GDB/MI Tracepoint Commands1511808
+Node: GDB/MI Symbol Query1523599
+Ref: -symbol-info-functions1523868
+Ref: -symbol-info-module-functions1528381
+Ref: -symbol-info-module-variables1531361
+Ref: -symbol-info-modules1535078
+Ref: -symbol-info-types1536982
+Ref: -symbol-info-variables1538975
+Node: GDB/MI File Commands1543999
+Node: GDB/MI Target Manipulation1548433
+Node: GDB/MI File Transfer Commands1555091
+Node: GDB/MI Ada Exceptions Commands1556414
+Node: GDB/MI Support Commands1557767
+Node: GDB/MI Miscellaneous Commands1562486
+Ref: -interpreter-exec1572839
+Node: Annotations1576811
+Node: Annotations Overview1577730
+Node: Server Prefix1580193
+Node: Prompting1580927
+Node: Errors1582444
+Node: Invalidation1583340
+Node: Annotations for Running1583819
+Node: Source Annotations1585353
+Node: JIT Interface1586282
+Node: Declarations1588082
+Node: Registering Code1589469
+Node: Unregistering Code1590441
+Node: Custom Debug Info1591068
+Node: Using JIT Debug Info Readers1592364
+Node: Writing JIT Debug Info Readers1593376
+Node: In-Process Agent1595571
+Ref: Control Agent1597514
+Node: In-Process Agent Protocol1598381
+Node: IPA Protocol Objects1599172
+Ref: agent expression object1600170
+Ref: tracepoint action object1600375
+Ref: tracepoint object1600455
+Node: IPA Protocol Commands1602985
+Node: GDB Bugs1604455
+Node: Bug Criteria1605187
+Node: Bug Reporting1606064
+Node: Command Line Editing1613893
+Node: Introduction and Notation1614545
+Node: Readline Interaction1616166
+Node: Readline Bare Essentials1617355
+Node: Readline Movement Commands1619136
+Node: Readline Killing Commands1620094
+Node: Readline Arguments1622010
+Node: Searching1623052
+Node: Readline Init File1625202
+Node: Readline Init File Syntax1626353
+Node: Conditional Init Constructs1646509
+Node: Sample Init File1650703
+Node: Bindable Readline Commands1653818
+Node: Commands For Moving1654870
+Node: Commands For History1656434
+Node: Commands For Text1660696
+Node: Commands For Killing1664135
+Node: Numeric Arguments1666299
+Node: Commands For Completion1667436
+Node: Keyboard Macros1669402
+Node: Miscellaneous Commands1670087
+Node: Readline vi Mode1674006
+Node: Using History Interactively1674916
+Node: History Interaction1675431
+Node: Event Designators1677327
+Node: Word Designators1678464
+Node: Modifiers1680099
+Node: In Memoriam1681320
+Node: Formatting Documentation1682203
+Ref: Formatting Documentation-Footnote-11685583
+Node: Installing GDB1685681
+Node: Requirements1686253
+Ref: Expat1686954
+Ref: MPFR1690247
+Node: Running Configure1691868
+Node: Separate Objdir1694750
+Node: Config Names1697730
+Node: Configure Options1699209
+Node: System-wide configuration1708560
+Node: System-wide Configuration Scripts1711097
+Node: Maintenance Commands1712281
+Ref: maint info breakpoints1713936
+Ref: maint check libthread-db1722401
+Node: Remote Protocol1739055
+Node: Overview1739747
+Ref: Binary Data1742292
+Node: Packets1744817
+Ref: thread-id syntax1745717
+Ref: extended mode1747162
+Ref: ? packet1747420
+Ref: bc1748886
+Ref: bs1749096
+Ref: read registers packet1750713
+Ref: cycle step packet1752568
+Ref: write register packet1755279
+Ref: step with signal packet1756258
+Ref: vCont packet1757734
+Ref: vCtrlC packet1760968
+Ref: vKill packet1763386
+Ref: X packet1764920
+Ref: insert breakpoint or watchpoint packet1765289
+Node: Stop Reply Packets1769615
+Ref: swbreak stop reason1772866
+Ref: thread create event1776463
+Ref: thread exit event1777666
+Node: General Query Packets1779875
+Ref: qCRC packet1782705
+Ref: QEnvironmentHexEncoded1785858
+Ref: QEnvironmentUnset1787088
+Ref: QEnvironmentReset1788032
+Ref: QSetWorkingDir packet1788976
+Ref: QNonStop1795427
+Ref: QCatchSyscalls1796103
+Ref: QPassSignals1797640
+Ref: QProgramSignals1798847
+Ref: QThreadEvents1800414
+Ref: qSearch memory1802432
+Ref: QStartNoAckMode1802940
+Ref: qSupported1803472
+Ref: multiprocess extensions1818992
+Ref: install tracepoint in tracing1821022
+Ref: qXfer read1825545
+Ref: qXfer auxiliary vector read1827152
+Ref: qXfer btrace read1827500
+Ref: qXfer btrace-conf read1828565
+Ref: qXfer executable filename read1828916
+Ref: qXfer target description read1829531
+Ref: qXfer library list read1829965
+Ref: qXfer svr4 library list read1830621
+Ref: qXfer memory map read1832474
+Ref: qXfer sdata read1832861
+Ref: qXfer siginfo read1833327
+Ref: qXfer threads read1833723
+Ref: qXfer traceframe info read1834126
+Ref: qXfer unwind info block1834544
+Ref: qXfer fdpic loadmap read1834778
+Ref: qXfer osdata read1835194
+Ref: qXfer write1835348
+Ref: qXfer siginfo write1836440
+Ref: General Query Packets-Footnote-11839168
+Node: Architecture-Specific Protocol Details1841212
+Node: ARM-Specific Protocol Details1841721
+Node: ARM Breakpoint Kinds1841969
+Node: MIPS-Specific Protocol Details1842300
+Node: MIPS Register packet Format1842583
+Node: MIPS Breakpoint Kinds1843510
+Node: Tracepoint Packets1843928
+Ref: QTEnable1853242
+Ref: QTDisable1853438
+Ref: qTfSTM1858975
+Ref: qTsSTM1858975
+Ref: qTSTMat1860052
+Ref: QTBuffer-size1861203
+Node: Host I/O Packets1863176
+Node: Interrupts1868757
+Ref: interrupting remote targets1868901
+Node: Notification Packets1871069
+Node: Remote Non-Stop1876494
+Node: Packet Acknowledgment1879610
+Node: Examples1881725
+Node: File-I/O Remote Protocol Extension1882319
+Node: File-I/O Overview1882781
+Node: Protocol Basics1884980
+Node: The F Request Packet1887209
+Node: The F Reply Packet1888110
+Node: The Ctrl-C Message1889028
+Node: Console I/O1890654
+Node: List of Supported Calls1891870
+Node: open1892232
+Node: close1894740
+Node: read1895123
+Node: write1895732
+Node: lseek1896503
+Node: rename1897387
+Node: unlink1898794
+Node: stat/fstat1899741
+Node: gettimeofday1900634
+Node: isatty1901070
+Node: system1901666
+Node: Protocol-specific Representation of Datatypes1903208
+Node: Integral Datatypes1903585
+Node: Pointer Values1904392
+Node: Memory Transfer1905096
+Node: struct stat1905716
+Node: struct timeval1907918
+Node: Constants1908435
+Node: Open Flags1908884
+Node: mode_t Values1909225
+Node: Errno Values1909717
+Node: Lseek Flags1910527
+Node: Limits1910712
+Node: File-I/O Examples1911072
+Node: Library List Format1912160
+Node: Library List Format for SVR4 Targets1914942
+Node: Memory Map Format1917409
+Node: Thread List Format1919933
+Node: Traceframe Info Format1920937
+Node: Branch Trace Format1922623
+Node: Branch Trace Configuration Format1924323
+Node: Agent Expressions1925497
+Node: General Bytecode Design1928318
+Node: Bytecode Descriptions1933112
+Node: Using Agent Expressions1946579
+Node: Varying Target Capabilities1948556
+Node: Rationale1949717
+Node: Target Descriptions1957106
+Node: Retrieving Descriptions1959049
+Node: Target Description Format1960134
+Node: Predefined Target Types1970009
+Node: Enum Target Types1971454
+Node: Standard Target Features1972449
+Node: AArch64 Features1974449
+Node: ARC Features1975155
+Node: ARM Features1977216
+Node: i386 Features1978730
+Node: MicroBlaze Features1980945
+Node: MIPS Features1981522
+Node: M68K Features1982713
+Node: NDS32 Features1983374
+Node: Nios II Features1984398
+Node: OpenRISC 1000 Features1984803
+Node: PowerPC Features1985169
+Node: RISC-V Features1989139
+Node: RX Features1990829
+Node: S/390 and System z Features1991191
+Node: Sparc Features1993331
+Node: TIC6x Features1994236
+Node: Operating System Information1994785
+Node: Process list1995621
+Node: Trace File Format1996684
+Node: Index Section Format1999898
+Node: Man Pages2007824
+Node: gdb man2008294
+Node: gdbserver man2014268
+Node: gcore man2021665
+Node: gdbinit man2022787
+Node: gdb-add-index man2023980
+Ref: gdb-add-index2024089
+Node: Copying2024963
+Node: GNU Free Documentation License2062524
+Node: Concept Index2087671
+Node: Command and Variable Index2230519
 
 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-9.0.50.20191211/gdb/doc/gdb.info-1 ./gdb/doc/gdb.info-1
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/doc/gdb.info-1	2019-12-11 01:53:06.000000000 +0000
+++ ./gdb/doc/gdb.info-1	2019-12-15 01:53:22.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.20191211-git.
+Source-Level Debugger' for GDB (GDB) Version 10.0.50.20191215-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
@@ -44,7 +44,8 @@ Debugging with GDB
 
 This file describes GDB, the GNU symbolic debugger.
 
-   This is the Tenth Edition, for GDB (GDB) Version 9.0.50.20191211-git.
+   This is the Tenth Edition, for GDB (GDB) Version
+10.0.50.20191215-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
@@ -507,7 +508,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.20191211-git, Copyright 1999 Free Software Foundation, Inc...
+     GDB 10.0.50.20191215-git, Copyright 1999 Free Software Foundation, Inc...
      (gdb)
 
 GDB reads only enough symbol data to know where to find the rest when
@@ -1586,8 +1587,8 @@ available, if there is more than one pos
 command processes arbitrary expressions in any of the languages
 supported by GDB.  With such commands, because raw input may start with
 a leading dash that would be confused with an option or any of its
-abbreviations, e.g. 'print -r' (short for 'print -raw' or printing
-negative 'r'?), if you specify any command option, then you must use a
+abbreviations, e.g. 'print -p' (short for 'print -pretty' or printing
+negative 'p'?), if you specify any command option, then you must use a
 double-dash ('--') delimiter to indicate the end of options.
 
    Some options are described as accepting an argument which can be
@@ -1606,10 +1607,10 @@ also omit a "true" value, as it is impli
 completing on '-' after the command name.  For example:
 
      (gdb) print -<TAB><TAB>
-     -address         -max-depth       -repeats         -vtbl
-     -array           -null-stop       -static-members
-     -array-indexes   -object          -symbol
-     -elements        -pretty          -union
+     -address         -max-depth       -raw-values      -union
+     -array           -null-stop       -repeats         -vtbl
+     -array-indexes   -object          -static-members
+     -elements        -pretty          -symbol
 
    Completion will in some cases guide you with a suggestion of what
 kind of argument an option expects.  For example:
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.20191211/gdb/doc/gdb.info-2 ./gdb/doc/gdb.info-2
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/doc/gdb.info-2	2019-12-11 01:53:08.000000000 +0000
+++ ./gdb/doc/gdb.info-2	2019-12-15 01:53:24.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.20191211-git.
+Source-Level Debugger' for GDB (GDB) Version 10.0.50.20191215-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
@@ -1229,6 +1229,11 @@ Pretty Printing::).
           Set pretty formatting of structures.  Related setting: *note
           set print pretty::.
 
+     '-raw-values [on|off]'
+          Set whether to print values in raw form, bypassing any
+          pretty-printers for that value.  Related setting: *note set
+          print raw-values::.
+
      '-repeats NUMBER-OF-REPEATS|unlimited'
           Set threshold for repeated print elements.  'unlimited' causes
           all elements to be individually printed.  Related setting:
@@ -1255,14 +1260,14 @@ Pretty Printing::).
      command option, then you must use a double dash ('--') to mark the
      end of option processing.
 
-     For example, this prints the value of the '-r' expression:
+     For example, this prints the value of the '-p' expression:
 
-          (gdb) print -r
+          (gdb) print -p
 
      While this repeats the last value in the value history (see below)
-     with the '-raw' option in effect:
+     with the '-pretty' option in effect:
 
-          (gdb) print -r --
+          (gdb) print -p --
 
      Here is an example including both on option and an expression:
 
@@ -2599,6 +2604,20 @@ print symbol on':
 'show print pretty'
      Show which format GDB is using to print structures.
 
+'set print raw-values on'
+     Print values in raw form, without applying the pretty printers for
+     the value.
+
+'set print raw-values off'
+     Print values in pretty-printed form, if there is a pretty-printer
+     for the value (*note Pretty Printing::), otherwise print the value
+     in raw form.
+
+     The default setting is "off".
+
+'show print raw-values'
+     Show whether to print values in raw form.
+
 'set print sevenbit-strings on'
      Print using only seven-bit characters; if this option is set, GDB
      displays any eight-bit characters (in strings or character values)
@@ -2904,6 +2923,18 @@ library2.so named 'bar' that prints two 
    Note that for 'bar' the entire printer can be disabled, as can each
 individual subprinter.
 
+   Printing values and frame arguments is done by default using the
+enabled pretty printers.
+
+   The print option '-raw-values' and GDB setting 'set print raw-values'
+(*note set print raw-values::) can be used to print values without
+applying the enabled pretty printers.
+
+   Similarly, the backtrace option '-raw-frame-arguments' and GDB
+setting 'set print raw-frame-arguments' (*note set print
+raw-frame-arguments::) can be used to ignore the enabled pretty printers
+when printing frame argument values.
+
 
 File: gdb.info,  Node: Value History,  Next: Convenience Vars,  Prev: Pretty Printing,  Up: Data
 
@@ -7352,90 +7383,3 @@ displaying common blocks.
      all 'COMMON' blocks visible at the current program location are
      printed.
 
-
-File: gdb.info,  Node: Pascal,  Next: Rust,  Prev: Fortran,  Up: Supported Languages
-
-15.4.7 Pascal
--------------
-
-Debugging Pascal programs which use sets, subranges, file variables, or
-nested functions does not currently work.  GDB does not support entering
-expressions, printing values, or similar features using Pascal syntax.
-
-   The Pascal-specific command 'set print pascal_static-members'
-controls whether static members of Pascal objects are displayed.  *Note
-pascal_static-members: Print Settings.
-
-
-File: gdb.info,  Node: Rust,  Next: Modula-2,  Prev: Pascal,  Up: Supported Languages
-
-15.4.8 Rust
------------
-
-GDB supports the Rust Programming Language (https://www.rust-lang.org/).
-Type- and value-printing, and expression parsing, are reasonably
-complete.  However, there are a few peculiarities and holes to be aware
-of.
-
-   * Linespecs (*note Specify Location::) are never relative to the
-     current crate.  Instead, they act as if there were a global
-     namespace of crates, somewhat similar to the way 'extern crate'
-     behaves.
-
-     That is, if GDB is stopped at a breakpoint in a function in crate
-     'A', module 'B', then 'break B::f' will attempt to set a breakpoint
-     in a function named 'f' in a crate named 'B'.
-
-     As a consequence of this approach, linespecs also cannot refer to
-     items using 'self::' or 'super::'.
-
-   * Because GDB implements Rust name-lookup semantics in expressions,
-     it will sometimes prepend the current crate to a name.  For
-     example, if GDB is stopped at a breakpoint in the crate 'K', then
-     'print ::x::y' will try to find the symbol 'K::x::y'.
-
-     However, since it is useful to be able to refer to other crates
-     when debugging, GDB provides the 'extern' extension to circumvent
-     this.  To use the extension, just put 'extern' before a path
-     expression to refer to the otherwise unavailable "global" scope.
-
-     In the above example, if you wanted to refer to the symbol 'y' in
-     the crate 'x', you would use 'print extern x::y'.
-
-   * The Rust expression evaluator does not support "statement-like"
-     expressions such as 'if' or 'match', or lambda expressions.
-
-   * Tuple expressions are not implemented.
-
-   * The Rust expression evaluator does not currently implement the
-     'Drop' trait.  Objects that may be created by the evaluator will
-     never be destroyed.
-
-   * GDB does not implement type inference for generics.  In order to
-     call generic functions or otherwise refer to generic items, you
-     will have to specify the type parameters manually.
-
-   * GDB currently uses the C++ demangler for Rust.  In most cases this
-     does not cause any problems.  However, in an expression context,
-     completing a generic function name will give syntactically invalid
-     results.  This happens because Rust requires the '::' operator
-     between the function name and its generic arguments.  For example,
-     GDB might provide a completion like 'crate::f<u32>', where the
-     parser would require 'crate::f::<u32>'.
-
-   * As of this writing, the Rust compiler (version 1.8) has a few holes
-     in the debugging information it generates.  These holes prevent
-     certain features from being implemented by GDB:
-
-        * Method calls cannot be made via traits.
-
-        * Operator overloading is not implemented.
-
-        * When debugging in a monomorphized function, you cannot use the
-          generic type names.
-
-        * The type 'Self' is not available.
-
-        * 'use' statements are not available, so some names may not be
-          available in the crate.
-
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.20191211/gdb/doc/gdb.info-3 ./gdb/doc/gdb.info-3
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/doc/gdb.info-3	2019-12-11 01:53:09.000000000 +0000
+++ ./gdb/doc/gdb.info-3	2019-12-15 01:53:26.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.20191211-git.
+Source-Level Debugger' for GDB (GDB) Version 10.0.50.20191215-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
@@ -37,6 +37,93 @@ this GNU Manual.  Buying copies from GNU
 developing GNU and promoting software freedom."
 
 
+File: gdb.info,  Node: Pascal,  Next: Rust,  Prev: Fortran,  Up: Supported Languages
+
+15.4.7 Pascal
+-------------
+
+Debugging Pascal programs which use sets, subranges, file variables, or
+nested functions does not currently work.  GDB does not support entering
+expressions, printing values, or similar features using Pascal syntax.
+
+   The Pascal-specific command 'set print pascal_static-members'
+controls whether static members of Pascal objects are displayed.  *Note
+pascal_static-members: Print Settings.
+
+
+File: gdb.info,  Node: Rust,  Next: Modula-2,  Prev: Pascal,  Up: Supported Languages
+
+15.4.8 Rust
+-----------
+
+GDB supports the Rust Programming Language (https://www.rust-lang.org/).
+Type- and value-printing, and expression parsing, are reasonably
+complete.  However, there are a few peculiarities and holes to be aware
+of.
+
+   * Linespecs (*note Specify Location::) are never relative to the
+     current crate.  Instead, they act as if there were a global
+     namespace of crates, somewhat similar to the way 'extern crate'
+     behaves.
+
+     That is, if GDB is stopped at a breakpoint in a function in crate
+     'A', module 'B', then 'break B::f' will attempt to set a breakpoint
+     in a function named 'f' in a crate named 'B'.
+
+     As a consequence of this approach, linespecs also cannot refer to
+     items using 'self::' or 'super::'.
+
+   * Because GDB implements Rust name-lookup semantics in expressions,
+     it will sometimes prepend the current crate to a name.  For
+     example, if GDB is stopped at a breakpoint in the crate 'K', then
+     'print ::x::y' will try to find the symbol 'K::x::y'.
+
+     However, since it is useful to be able to refer to other crates
+     when debugging, GDB provides the 'extern' extension to circumvent
+     this.  To use the extension, just put 'extern' before a path
+     expression to refer to the otherwise unavailable "global" scope.
+
+     In the above example, if you wanted to refer to the symbol 'y' in
+     the crate 'x', you would use 'print extern x::y'.
+
+   * The Rust expression evaluator does not support "statement-like"
+     expressions such as 'if' or 'match', or lambda expressions.
+
+   * Tuple expressions are not implemented.
+
+   * The Rust expression evaluator does not currently implement the
+     'Drop' trait.  Objects that may be created by the evaluator will
+     never be destroyed.
+
+   * GDB does not implement type inference for generics.  In order to
+     call generic functions or otherwise refer to generic items, you
+     will have to specify the type parameters manually.
+
+   * GDB currently uses the C++ demangler for Rust.  In most cases this
+     does not cause any problems.  However, in an expression context,
+     completing a generic function name will give syntactically invalid
+     results.  This happens because Rust requires the '::' operator
+     between the function name and its generic arguments.  For example,
+     GDB might provide a completion like 'crate::f<u32>', where the
+     parser would require 'crate::f::<u32>'.
+
+   * As of this writing, the Rust compiler (version 1.8) has a few holes
+     in the debugging information it generates.  These holes prevent
+     certain features from being implemented by GDB:
+
+        * Method calls cannot be made via traits.
+
+        * Operator overloading is not implemented.
+
+        * When debugging in a monomorphized function, you cannot use the
+          generic type names.
+
+        * The type 'Self' is not available.
+
+        * 'use' statements are not available, so some names may not be
+          available in the crate.
+
+
 File: gdb.info,  Node: Modula-2,  Next: Ada,  Prev: Rust,  Up: Supported Languages
 
 15.4.9 Modula-2
@@ -7128,52 +7215,3 @@ expansion is enabled.
 'show commands +'
      Print ten commands just after the commands last printed.
 
-
-File: gdb.info,  Node: Screen Size,  Next: Output Styling,  Prev: Command History,  Up: Controlling GDB
-
-22.4 Screen Size
-================
-
-Certain commands to GDB may produce large amounts of information output
-to the screen.  To help you read all of it, GDB pauses and asks you for
-input at the end of each page of output.  Type <RET> when you want to
-see one more page of output, 'q' to discard the remaining output, or 'c'
-to continue without paging for the rest of the current command.  Also,
-the screen width setting determines when to wrap lines of output.
-Depending on what is being printed, GDB tries to break the line at a
-readable place, rather than simply letting it overflow onto the
-following line.
-
-   Normally GDB knows the size of the screen from the terminal driver
-software.  For example, on Unix GDB uses the termcap data base together
-with the value of the 'TERM' environment variable and the 'stty rows'
-and 'stty cols' settings.  If this is not correct, you can override it
-with the 'set height' and 'set width' commands:
-
-'set height LPP'
-'set height unlimited'
-'show height'
-'set width CPL'
-'set width unlimited'
-'show width'
-     These 'set' commands specify a screen height of LPP lines and a
-     screen width of CPL characters.  The associated 'show' commands
-     display the current settings.
-
-     If you specify a height of either 'unlimited' or zero lines, GDB
-     does not pause during output no matter how long the output is.
-     This is useful if output is to a file or to an editor buffer.
-
-     Likewise, you can specify 'set width unlimited' or 'set width 0' to
-     prevent GDB from wrapping its output.
-
-'set pagination on'
-'set pagination off'
-     Turn the output pagination on or off; the default is on.  Turning
-     pagination off is the alternative to 'set height unlimited'.  Note
-     that running GDB with the '--batch' option (*note -batch: Mode
-     Options.) also automatically disables pagination.
-
-'show pagination'
-     Show the current pagination mode.
-
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.20191211/gdb/doc/gdb.info-4 ./gdb/doc/gdb.info-4
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/doc/gdb.info-4	2019-12-11 01:53:12.000000000 +0000
+++ ./gdb/doc/gdb.info-4	2019-12-15 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.20191211-git.
+Source-Level Debugger' for GDB (GDB) Version 10.0.50.20191215-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
@@ -37,6 +37,55 @@ this GNU Manual.  Buying copies from GNU
 developing GNU and promoting software freedom."
 
 
+File: gdb.info,  Node: Screen Size,  Next: Output Styling,  Prev: Command History,  Up: Controlling GDB
+
+22.4 Screen Size
+================
+
+Certain commands to GDB may produce large amounts of information output
+to the screen.  To help you read all of it, GDB pauses and asks you for
+input at the end of each page of output.  Type <RET> when you want to
+see one more page of output, 'q' to discard the remaining output, or 'c'
+to continue without paging for the rest of the current command.  Also,
+the screen width setting determines when to wrap lines of output.
+Depending on what is being printed, GDB tries to break the line at a
+readable place, rather than simply letting it overflow onto the
+following line.
+
+   Normally GDB knows the size of the screen from the terminal driver
+software.  For example, on Unix GDB uses the termcap data base together
+with the value of the 'TERM' environment variable and the 'stty rows'
+and 'stty cols' settings.  If this is not correct, you can override it
+with the 'set height' and 'set width' commands:
+
+'set height LPP'
+'set height unlimited'
+'show height'
+'set width CPL'
+'set width unlimited'
+'show width'
+     These 'set' commands specify a screen height of LPP lines and a
+     screen width of CPL characters.  The associated 'show' commands
+     display the current settings.
+
+     If you specify a height of either 'unlimited' or zero lines, GDB
+     does not pause during output no matter how long the output is.
+     This is useful if output is to a file or to an editor buffer.
+
+     Likewise, you can specify 'set width unlimited' or 'set width 0' to
+     prevent GDB from wrapping its output.
+
+'set pagination on'
+'set pagination off'
+     Turn the output pagination on or off; the default is on.  Turning
+     pagination off is the alternative to 'set height unlimited'.  Note
+     that running GDB with the '--batch' option (*note -batch: Mode
+     Options.) also automatically disables pagination.
+
+'show pagination'
+     Show the current pagination mode.
+
+
 File: gdb.info,  Node: Output Styling,  Next: Numbers,  Prev: Screen Size,  Up: Controlling GDB
 
 22.5 Output Styling
@@ -5728,18 +5777,6 @@ module:
      If the application is not yet running then GDB will search all
      object files in the order they appear in the debug information.
 
- -- Function: gdb.lookup_global_symbol (name [, domain])
-     This function searches for a global symbol by name.  The search
-     scope can be restricted to by the domain argument.
-
-     NAME is the name of the symbol.  It must be a string.  The optional
-     DOMAIN argument restricts the search to the domain type.  The
-     DOMAIN argument must be a domain constant defined in the 'gdb'
-     module and described later in this chapter.
-
-     The result is a 'gdb.Symbol' object or 'None' if the symbol is not
-     found.
-
  -- Function: gdb.lookup_static_symbols (name [, domain])
      Similar to 'gdb.lookup_static_symbol', this function searches for
      global symbols with static linkage by name, and optionally
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.20191211/gdb/doc/gdb.info-5 ./gdb/doc/gdb.info-5
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/doc/gdb.info-5	2019-12-11 01:53:14.000000000 +0000
+++ ./gdb/doc/gdb.info-5	2019-12-15 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.20191211-git.
+Source-Level Debugger' for GDB (GDB) Version 10.0.50.20191215-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.20191211/gdb/doc/gdb.info-6 ./gdb/doc/gdb.info-6
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/doc/gdb.info-6	2019-12-11 01:53:16.000000000 +0000
+++ ./gdb/doc/gdb.info-6	2019-12-15 01:53:32.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.20191211-git.
+Source-Level Debugger' for GDB (GDB) Version 10.0.50.20191215-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
@@ -2555,7 +2555,7 @@ expected to be a function with the proto
    'struct gdb_reader_funcs' contains a set of pointers to callback
 functions.  These functions are executed to read the debug info
 generated by the JIT compiler ('read'), to unwind stack frames
-('unwind') and to create canonical frame IDs ('get_Frame_id').  It also
+('unwind') and to create canonical frame IDs ('get_frame_id').  It also
 has a callback that is called when the reader is being unloaded
 ('destroy').  The struct looks like this
 
@@ -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.20191211-git/gdb/gdb.info', and it refers to subordinate
+'gdb-10.0.50.20191215-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.20191211-git', in the case of version
-9.0.50.20191211-git), you can make the Info file by typing:
+directory ('gdb-10.0.50.20191215-git', in the case of version
+10.0.50.20191215-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.20191211-git/gdb')
+main source directory (for example, to 'gdb-10.0.50.20191215-git/gdb')
 and type:
 
      make gdb.dvi
@@ -4749,8 +4749,8 @@ and type:
 
    ---------- Footnotes ----------
 
-   (1) In 'gdb-9.0.50.20191211-git/gdb/refcard.ps' of the version
-9.0.50.20191211-git release.
+   (1) In 'gdb-10.0.50.20191215-git/gdb/refcard.ps' of the version
+10.0.50.20191215-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.20191211-git distribution is in
-the 'gdb-9.0.50.20191211-git' directory.  That directory contains:
+   For example, the GDB version 10.0.50.20191215-git distribution is in
+the 'gdb-10.0.50.20191215-git' directory.  That directory contains:
 
-'gdb-9.0.50.20191211-git/configure (and supporting files)'
+'gdb-10.0.50.20191215-git/configure (and supporting files)'
      script for configuring GDB and all its supporting libraries
 
-'gdb-9.0.50.20191211-git/gdb'
+'gdb-10.0.50.20191215-git/gdb'
      the source specific to GDB itself
 
-'gdb-9.0.50.20191211-git/bfd'
+'gdb-10.0.50.20191215-git/bfd'
      source for the Binary File Descriptor library
 
-'gdb-9.0.50.20191211-git/include'
+'gdb-10.0.50.20191215-git/include'
      GNU include files
 
-'gdb-9.0.50.20191211-git/libiberty'
+'gdb-10.0.50.20191215-git/libiberty'
      source for the '-liberty' free software library
 
-'gdb-9.0.50.20191211-git/opcodes'
+'gdb-10.0.50.20191215-git/opcodes'
      source for the library of opcode tables and disassemblers
 
-'gdb-9.0.50.20191211-git/readline'
+'gdb-10.0.50.20191215-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.20191211-git' directory.
+the 'gdb-10.0.50.20191215-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.20191211-git
+     cd gdb-10.0.50.20191215-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.20191211-git, you can build GDB in a
-separate directory for a Sun 4 like this:
+   For example, with version 10.0.50.20191215-git, you can build GDB in
+a separate directory for a Sun 4 like this:
 
-     cd gdb-9.0.50.20191211-git
+     cd gdb-10.0.50.20191215-git
      mkdir ../gdb-sun4
      cd ../gdb-sun4
-     ../gdb-9.0.50.20191211-git/configure
+     ../gdb-10.0.50.20191215-git/configure
      make
 
    When 'configure' builds a configuration using a remote source
@@ -5002,9 +5002,9 @@ 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.20191211-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'.
+'../gdb-10.0.50.20191215-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'.
 
    One popular reason to build several GDB configurations in separate
 directories is to configure GDB for cross-compiling (where GDB runs on
@@ -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.20191211-git' (or in a separate configured directory
-configured with '--srcdir=DIRNAME/gdb-9.0.50.20191211-git'), you will
+'gdb-10.0.50.20191215-git' (or in a separate configured directory
+configured with '--srcdir=DIRNAME/gdb-10.0.50.20191215-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.20191211-git', for version 9.0.50.20191211-git).
+('gdb-10.0.50.20191215-git', for version 10.0.50.20191215-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.20191211/gdb/doc/gdb.info-7 ./gdb/doc/gdb.info-7
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/doc/gdb.info-7	2019-12-11 01:53:18.000000000 +0000
+++ ./gdb/doc/gdb.info-7	2019-12-15 01:53:34.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.20191211-git.
+Source-Level Debugger' for GDB (GDB) Version 10.0.50.20191215-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
@@ -6393,7 +6393,7 @@ Concept Index
                                                              (line   20)
 * C++ overload debugging info:           Debugging Output.   (line  147)
 * C++ scope resolution:                  Variables.          (line   90)
-* C++ symbol decoding style:             Print Settings.     (line  515)
+* C++ symbol decoding style:             Print Settings.     (line  529)
 * C++ symbol display:                    Debugging C Plus Plus.
                                                              (line   40)
 * caching data of targets:               Caching Target Data.
@@ -6590,10 +6590,10 @@ Concept Index
                                                              (line  173)
 * demangler crashes <2>:                 Maintenance Commands.
                                                              (line  197)
-* demangling C++ names:                  Print Settings.     (line  496)
+* demangling C++ names:                  Print Settings.     (line  510)
 * deprecated commands:                   Maintenance Commands.
                                                              (line  160)
-* derived type of an object, printing:   Print Settings.     (line  527)
+* derived type of an object, printing:   Print Settings.     (line  541)
 * descriptor tables display:             DJGPP Native.       (line   24)
 * detach from task, GNU Hurd:            Hurd Native.        (line   59)
 * detach from thread, GNU Hurd:          Hurd Native.        (line  109)
@@ -6613,7 +6613,7 @@ Concept Index
 * displaced stepping, and process record and replay: Process Record and Replay.
                                                              (line   96)
 * display command history:               Command History.    (line   95)
-* display derived types:                 Print Settings.     (line  527)
+* display derived types:                 Print Settings.     (line  541)
 * display disabled out of scope:         Auto Display.       (line   86)
 * display GDB copyright:                 Help.               (line  158)
 * display of expressions:                Auto Display.       (line    6)
@@ -6655,7 +6655,7 @@ Concept Index
 * editing command lines:                 Readline Bare Essentials.
                                                              (line    6)
 * editing source files:                  Edit.               (line    6)
-* eight-bit characters in strings:       Print Settings.     (line  441)
+* eight-bit characters in strings:       Print Settings.     (line  455)
 * elaboration phase:                     Starting.           (line   92)
 * ELinOS system-wide configuration script: System-wide Configuration Scripts.
                                                              (line   15)
@@ -6695,9 +6695,9 @@ Concept Index
 * expand macro once:                     Macros.             (line   38)
 * expanding preprocessor macros:         Macros.             (line   29)
 * explicit locations:                    Explicit Locations. (line    6)
-* explore type:                          Data.               (line  229)
-* explore value:                         Data.               (line  222)
-* exploring hierarchical data structures: Data.              (line  120)
+* explore type:                          Data.               (line  234)
+* explore value:                         Data.               (line  227)
+* exploring hierarchical data structures: Data.              (line  125)
 * expression debugging info:             Debugging Output.   (line   86)
 * expression parser, debugging info:     Debugging Output.   (line  152)
 * expressions:                           Expressions.        (line    6)
@@ -7189,7 +7189,7 @@ Concept Index
 * objfiles in guile:                     Objfiles In Guile.  (line    6)
 * objfiles in python:                    Objfiles In Python. (line    6)
 * observer debugging info:               Debugging Output.   (line  142)
-* octal escapes in strings:              Print Settings.     (line  441)
+* octal escapes in strings:              Print Settings.     (line  455)
 * online documentation:                  Help.               (line    6)
 * opaque data types:                     Symbols.            (line  582)
 * open flags, in file-i/o protocol:      Open Flags.         (line    6)
@@ -7254,7 +7254,7 @@ Concept Index
 * partial symbol dump:                   Symbols.            (line  619)
 * partial symbol tables, listing GDB's internal: Symbols.    (line  645)
 * Pascal:                                Summary.            (line   35)
-* Pascal objects, static members display: Print Settings.    (line  556)
+* Pascal objects, static members display: Print Settings.    (line  570)
 * Pascal support in GDB, limitations:    Pascal.             (line    6)
 * pass signals to inferior, remote request: General Query Packets.
                                                              (line  440)
@@ -7281,7 +7281,7 @@ Concept Index
 * preprocessor macro expansion, showing the results of: Macros.
                                                              (line   29)
 * pretty print arrays:                   Print Settings.     (line  115)
-* pretty print C++ virtual function tables: Print Settings.  (line  567)
+* pretty print C++ virtual function tables: Print Settings.  (line  581)
 * pretty-printer commands:               Pretty-Printer Commands.
                                                              (line    6)
 * print all frame argument values:       Print Settings.     (line  154)
@@ -7544,7 +7544,7 @@ Concept Index
 * replay mode:                           Process Record and Replay.
                                                              (line   10)
 * reporting bugs in GDB:                 GDB Bugs.           (line    6)
-* reprint the last value:                Data.               (line  107)
+* reprint the last value:                Data.               (line  112)
 * reprint the last value <1>:            Compiling and Injecting Code.
                                                              (line   74)
 * reset environment, remote request:     General Query Packets.
@@ -7701,8 +7701,8 @@ Concept Index
 * startup with shell, remote request:    General Query Packets.
                                                              (line  114)
 * stat, file-i/o system call:            stat/fstat.         (line    6)
-* static members of C++ objects:         Print Settings.     (line  545)
-* static members of Pascal objects:      Print Settings.     (line  556)
+* static members of C++ objects:         Print Settings.     (line  559)
+* static members of Pascal objects:      Print Settings.     (line  570)
 * static probe point, DTrace:            Static Probe Points.
                                                              (line    6)
 * static probe point, SystemTap:         Static Probe Points.
@@ -7755,7 +7755,7 @@ Concept Index
 * symbol cache, flushing:                Symbols.            (line  714)
 * symbol cache, printing its contents:   Symbols.            (line  706)
 * symbol cache, printing usage statistics: Symbols.          (line  710)
-* symbol decoding style, C++:            Print Settings.     (line  515)
+* symbol decoding style, C++:            Print Settings.     (line  529)
 * symbol dump:                           Symbols.            (line  619)
 * symbol file functions:                 Debugging Output.   (line  205)
 * symbol files, remote debugging:        Connecting.         (line   90)
@@ -7932,7 +7932,7 @@ Concept Index
 * types in Python:                       Types In Python.    (line    6)
 * UDP port, target remote:               Connecting.         (line  215)
 * union field name completion:           Completion.         (line  135)
-* unions in structures, printing:        Print Settings.     (line  455)
+* unions in structures, printing:        Print Settings.     (line  469)
 * Unix domain socket:                    Connecting.         (line  140)
 * unknown address, locating:             Output Formats.     (line   35)
 * unknown type:                          Symbols.            (line  363)
@@ -7986,13 +7986,13 @@ Concept Index
 * vFlashWrite packet:                    Packets.            (line  478)
 * vfork events, remote reply:            Stop Reply Packets. (line  116)
 * vforkdone events, remote reply:        Stop Reply Packets. (line  128)
-* virtual functions (C++) display:       Print Settings.     (line  567)
+* virtual functions (C++) display:       Print Settings.     (line  581)
 * vKill packet:                          Packets.            (line  505)
 * vMustReplyEmpty packet:                Packets.            (line  517)
 * volatile registers:                    Registers.          (line  106)
 * vRun packet:                           Packets.            (line  529)
 * vStopped packet:                       Packets.            (line  544)
-* VTBL display:                          Print Settings.     (line  567)
+* VTBL display:                          Print Settings.     (line  581)
 * watchdog timer:                        Maintenance Commands.
                                                              (line  610)
 * watchpoints:                           Breakpoints.        (line   17)
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.20191211/gdb/doc/gdb.info-8 ./gdb/doc/gdb.info-8
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/doc/gdb.info-8	2019-12-11 01:53:19.000000000 +0000
+++ ./gdb/doc/gdb.info-8	2019-12-15 01:53:35.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.20191211-git.
+Source-Level Debugger' for GDB (GDB) Version 10.0.50.20191215-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
@@ -878,7 +878,7 @@ Command, Variable, and Function Index
 * ExitedEvent.inferior:                  Events In Python.    (line  72)
 * expand-tilde:                          Readline Init File Syntax.
                                                               (line 158)
-* explore:                               Data.                (line 120)
+* explore:                               Data.                (line 125)
 * f (frame):                             Selection.           (line  11)
 * f (SingleKey TUI key):                 TUI Single Key Mode. (line  16)
 * faas:                                  Frame Apply.         (line  96)
@@ -1057,14 +1057,12 @@ Command, Variable, and Function Index
                                                               (line   6)
 * gdb.lookup_global_symbol:              Symbols In Python.   (line  33)
 * gdb.lookup_global_symbol <1>:          Symbols In Python.   (line  33)
-* gdb.lookup_global_symbol <2>:          Symbols In Python.   (line  71)
-* gdb.lookup_global_symbol <3>:          Symbols In Python.   (line  71)
 * gdb.lookup_objfile:                    Objfiles In Python.  (line  28)
 * gdb.lookup_objfile <1>:                Objfiles In Python.  (line  28)
 * gdb.lookup_static_symbol:              Symbols In Python.   (line  45)
 * gdb.lookup_static_symbol <1>:          Symbols In Python.   (line  45)
-* gdb.lookup_static_symbols:             Symbols In Python.   (line  83)
-* gdb.lookup_static_symbols <1>:         Symbols In Python.   (line  83)
+* gdb.lookup_static_symbols:             Symbols In Python.   (line  71)
+* gdb.lookup_static_symbols <1>:         Symbols In Python.   (line  71)
 * gdb.lookup_symbol:                     Symbols In Python.   (line  13)
 * gdb.lookup_symbol <1>:                 Symbols In Python.   (line  13)
 * gdb.lookup_type:                       Types In Python.     (line  11)
@@ -1143,27 +1141,27 @@ Command, Variable, and Function Index
                                                               (line  25)
 * gdb.string_to_argv:                    Commands In Python.  (line  61)
 * gdb.Symbol:                            Symbols In Python.   (line   6)
-* gdb.SYMBOL_COMMON_BLOCK_DOMAIN:        Symbols In Python.   (line 190)
-* gdb.SYMBOL_LABEL_DOMAIN:               Symbols In Python.   (line 184)
-* gdb.SYMBOL_LOC_ARG:                    Symbols In Python.   (line 209)
-* gdb.SYMBOL_LOC_BLOCK:                  Symbols In Python.   (line 230)
-* gdb.SYMBOL_LOC_COMPUTED:               Symbols In Python.   (line 244)
-* gdb.SYMBOL_LOC_COMPUTED <1>:           Symbols In Python.   (line 247)
-* gdb.SYMBOL_LOC_CONST:                  Symbols In Python.   (line 200)
-* gdb.SYMBOL_LOC_CONST_BYTES:            Symbols In Python.   (line 233)
-* gdb.SYMBOL_LOC_LOCAL:                  Symbols In Python.   (line 223)
-* gdb.SYMBOL_LOC_OPTIMIZED_OUT:          Symbols In Python.   (line 241)
-* gdb.SYMBOL_LOC_REF_ARG:                Symbols In Python.   (line 213)
-* gdb.SYMBOL_LOC_REGISTER:               Symbols In Python.   (line 206)
-* gdb.SYMBOL_LOC_REGPARM_ADDR:           Symbols In Python.   (line 218)
-* gdb.SYMBOL_LOC_STATIC:                 Symbols In Python.   (line 203)
-* gdb.SYMBOL_LOC_TYPEDEF:                Symbols In Python.   (line 226)
-* gdb.SYMBOL_LOC_UNDEF:                  Symbols In Python.   (line 196)
-* gdb.SYMBOL_LOC_UNRESOLVED:             Symbols In Python.   (line 236)
-* gdb.SYMBOL_MODULE_DOMAIN:              Symbols In Python.   (line 187)
-* gdb.SYMBOL_STRUCT_DOMAIN:              Symbols In Python.   (line 181)
-* gdb.SYMBOL_UNDEF_DOMAIN:               Symbols In Python.   (line 172)
-* gdb.SYMBOL_VAR_DOMAIN:                 Symbols In Python.   (line 177)
+* gdb.SYMBOL_COMMON_BLOCK_DOMAIN:        Symbols In Python.   (line 178)
+* gdb.SYMBOL_LABEL_DOMAIN:               Symbols In Python.   (line 172)
+* gdb.SYMBOL_LOC_ARG:                    Symbols In Python.   (line 197)
+* gdb.SYMBOL_LOC_BLOCK:                  Symbols In Python.   (line 218)
+* gdb.SYMBOL_LOC_COMPUTED:               Symbols In Python.   (line 232)
+* gdb.SYMBOL_LOC_COMPUTED <1>:           Symbols In Python.   (line 235)
+* gdb.SYMBOL_LOC_CONST:                  Symbols In Python.   (line 188)
+* gdb.SYMBOL_LOC_CONST_BYTES:            Symbols In Python.   (line 221)
+* gdb.SYMBOL_LOC_LOCAL:                  Symbols In Python.   (line 211)
+* gdb.SYMBOL_LOC_OPTIMIZED_OUT:          Symbols In Python.   (line 229)
+* gdb.SYMBOL_LOC_REF_ARG:                Symbols In Python.   (line 201)
+* gdb.SYMBOL_LOC_REGISTER:               Symbols In Python.   (line 194)
+* gdb.SYMBOL_LOC_REGPARM_ADDR:           Symbols In Python.   (line 206)
+* gdb.SYMBOL_LOC_STATIC:                 Symbols In Python.   (line 191)
+* gdb.SYMBOL_LOC_TYPEDEF:                Symbols In Python.   (line 214)
+* gdb.SYMBOL_LOC_UNDEF:                  Symbols In Python.   (line 184)
+* gdb.SYMBOL_LOC_UNRESOLVED:             Symbols In Python.   (line 224)
+* gdb.SYMBOL_MODULE_DOMAIN:              Symbols In Python.   (line 175)
+* gdb.SYMBOL_STRUCT_DOMAIN:              Symbols In Python.   (line 169)
+* gdb.SYMBOL_UNDEF_DOMAIN:               Symbols In Python.   (line 160)
+* gdb.SYMBOL_VAR_DOMAIN:                 Symbols In Python.   (line 165)
 * gdb.Symtab:                            Symbol Tables In Python.
                                                               (line   6)
 * gdb.Symtab_and_line:                   Symbol Tables In Python.
@@ -2213,7 +2211,7 @@ Command, Variable, and Function Index
 * set debugexec:                         Cygwin Native.       (line  96)
 * set debugmemory:                       Cygwin Native.       (line 104)
 * set default-collect:                   Tracepoint Actions.  (line 142)
-* set demangle-style:                    Print Settings.      (line 515)
+* set demangle-style:                    Print Settings.      (line 529)
 * set detach-on-fork:                    Forks.               (line  58)
 * set directories:                       Source Path.         (line 178)
 * set disable-randomization:             Starting.            (line 212)
@@ -2696,62 +2694,62 @@ Command, Variable, and Function Index
 * symbol-valid?:                         Symbols In Guile.    (line  17)
 * symbol-value:                          Symbols In Guile.    (line  72)
 * symbol-variable?:                      Symbols In Guile.    (line  69)
-* Symbol.addr_class:                     Symbols In Python.   (line 131)
-* Symbol.is_argument:                    Symbols In Python.   (line 141)
-* Symbol.is_constant:                    Symbols In Python.   (line 144)
-* Symbol.is_function:                    Symbols In Python.   (line 147)
-* Symbol.is_valid:                       Symbols In Python.   (line 155)
-* Symbol.is_variable:                    Symbols In Python.   (line 150)
-* Symbol.line:                           Symbols In Python.   (line 114)
-* Symbol.linkage_name:                   Symbols In Python.   (line 122)
-* Symbol.name:                           Symbols In Python.   (line 118)
-* Symbol.needs_frame:                    Symbols In Python.   (line 136)
-* Symbol.print_name:                     Symbols In Python.   (line 126)
-* Symbol.symtab:                         Symbols In Python.   (line 109)
-* Symbol.type:                           Symbols In Python.   (line 104)
-* Symbol.value:                          Symbols In Python.   (line 162)
+* Symbol.addr_class:                     Symbols In Python.   (line 119)
+* Symbol.is_argument:                    Symbols In Python.   (line 129)
+* Symbol.is_constant:                    Symbols In Python.   (line 132)
+* Symbol.is_function:                    Symbols In Python.   (line 135)
+* Symbol.is_valid:                       Symbols In Python.   (line 143)
+* Symbol.is_variable:                    Symbols In Python.   (line 138)
+* Symbol.line:                           Symbols In Python.   (line 102)
+* Symbol.linkage_name:                   Symbols In Python.   (line 110)
+* Symbol.name:                           Symbols In Python.   (line 106)
+* Symbol.needs_frame:                    Symbols In Python.   (line 124)
+* Symbol.print_name:                     Symbols In Python.   (line 114)
+* Symbol.symtab:                         Symbols In Python.   (line  97)
+* Symbol.type:                           Symbols In Python.   (line  92)
+* Symbol.value:                          Symbols In Python.   (line 150)
 * symbol?:                               Symbols In Guile.    (line  13)
-* SYMBOL_COMMON_BLOCK_DOMAIN:            Symbols In Python.   (line 190)
+* SYMBOL_COMMON_BLOCK_DOMAIN:            Symbols In Python.   (line 178)
 * SYMBOL_FUNCTIONS_DOMAIN:               Symbols In Guile.    (line 133)
-* SYMBOL_LABEL_DOMAIN:                   Symbols In Python.   (line 184)
+* SYMBOL_LABEL_DOMAIN:                   Symbols In Python.   (line 172)
 * SYMBOL_LABEL_DOMAIN <1>:               Symbols In Guile.    (line 126)
-* SYMBOL_LOC_ARG:                        Symbols In Python.   (line 209)
+* SYMBOL_LOC_ARG:                        Symbols In Python.   (line 197)
 * SYMBOL_LOC_ARG <1>:                    Symbols In Guile.    (line 155)
-* SYMBOL_LOC_BLOCK:                      Symbols In Python.   (line 230)
+* SYMBOL_LOC_BLOCK:                      Symbols In Python.   (line 218)
 * SYMBOL_LOC_BLOCK <1>:                  Symbols In Guile.    (line 176)
-* SYMBOL_LOC_COMPUTED:                   Symbols In Python.   (line 244)
-* SYMBOL_LOC_COMPUTED <1>:               Symbols In Python.   (line 247)
+* SYMBOL_LOC_COMPUTED:                   Symbols In Python.   (line 232)
+* SYMBOL_LOC_COMPUTED <1>:               Symbols In Python.   (line 235)
 * SYMBOL_LOC_COMPUTED <2>:               Symbols In Guile.    (line 190)
-* SYMBOL_LOC_CONST:                      Symbols In Python.   (line 200)
+* SYMBOL_LOC_CONST:                      Symbols In Python.   (line 188)
 * SYMBOL_LOC_CONST <1>:                  Symbols In Guile.    (line 146)
-* SYMBOL_LOC_CONST_BYTES:                Symbols In Python.   (line 233)
+* SYMBOL_LOC_CONST_BYTES:                Symbols In Python.   (line 221)
 * SYMBOL_LOC_CONST_BYTES <1>:            Symbols In Guile.    (line 179)
-* SYMBOL_LOC_LOCAL:                      Symbols In Python.   (line 223)
+* SYMBOL_LOC_LOCAL:                      Symbols In Python.   (line 211)
 * SYMBOL_LOC_LOCAL <1>:                  Symbols In Guile.    (line 169)
-* SYMBOL_LOC_OPTIMIZED_OUT:              Symbols In Python.   (line 241)
+* SYMBOL_LOC_OPTIMIZED_OUT:              Symbols In Python.   (line 229)
 * SYMBOL_LOC_OPTIMIZED_OUT <1>:          Symbols In Guile.    (line 187)
-* SYMBOL_LOC_REF_ARG:                    Symbols In Python.   (line 213)
+* SYMBOL_LOC_REF_ARG:                    Symbols In Python.   (line 201)
 * SYMBOL_LOC_REF_ARG <1>:                Symbols In Guile.    (line 159)
-* SYMBOL_LOC_REGISTER:                   Symbols In Python.   (line 206)
+* SYMBOL_LOC_REGISTER:                   Symbols In Python.   (line 194)
 * SYMBOL_LOC_REGISTER <1>:               Symbols In Guile.    (line 152)
-* SYMBOL_LOC_REGPARM_ADDR:               Symbols In Python.   (line 218)
+* SYMBOL_LOC_REGPARM_ADDR:               Symbols In Python.   (line 206)
 * SYMBOL_LOC_REGPARM_ADDR <1>:           Symbols In Guile.    (line 164)
-* SYMBOL_LOC_STATIC:                     Symbols In Python.   (line 203)
+* SYMBOL_LOC_STATIC:                     Symbols In Python.   (line 191)
 * SYMBOL_LOC_STATIC <1>:                 Symbols In Guile.    (line 149)
-* SYMBOL_LOC_TYPEDEF:                    Symbols In Python.   (line 226)
+* SYMBOL_LOC_TYPEDEF:                    Symbols In Python.   (line 214)
 * SYMBOL_LOC_TYPEDEF <1>:                Symbols In Guile.    (line 172)
-* SYMBOL_LOC_UNDEF:                      Symbols In Python.   (line 196)
+* SYMBOL_LOC_UNDEF:                      Symbols In Python.   (line 184)
 * SYMBOL_LOC_UNDEF <1>:                  Symbols In Guile.    (line 142)
-* SYMBOL_LOC_UNRESOLVED:                 Symbols In Python.   (line 236)
+* SYMBOL_LOC_UNRESOLVED:                 Symbols In Python.   (line 224)
 * SYMBOL_LOC_UNRESOLVED <1>:             Symbols In Guile.    (line 182)
-* SYMBOL_MODULE_DOMAIN:                  Symbols In Python.   (line 187)
-* SYMBOL_STRUCT_DOMAIN:                  Symbols In Python.   (line 181)
+* SYMBOL_MODULE_DOMAIN:                  Symbols In Python.   (line 175)
+* SYMBOL_STRUCT_DOMAIN:                  Symbols In Python.   (line 169)
 * SYMBOL_STRUCT_DOMAIN <1>:              Symbols In Guile.    (line 123)
 * SYMBOL_TYPES_DOMAIN:                   Symbols In Guile.    (line 136)
-* SYMBOL_UNDEF_DOMAIN:                   Symbols In Python.   (line 172)
+* SYMBOL_UNDEF_DOMAIN:                   Symbols In Python.   (line 160)
 * SYMBOL_UNDEF_DOMAIN <1>:               Symbols In Guile.    (line 114)
 * SYMBOL_VARIABLES_DOMAIN:               Symbols In Guile.    (line 129)
-* SYMBOL_VAR_DOMAIN:                     Symbols In Python.   (line 177)
+* SYMBOL_VAR_DOMAIN:                     Symbols In Python.   (line 165)
 * SYMBOL_VAR_DOMAIN <1>:                 Symbols In Guile.    (line 119)
 * symtab-filename:                       Symbol Tables In Guile.
                                                               (line  28)
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.20191211/gdb/doc/gdbinit.5 ./gdb/doc/gdbinit.5
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/doc/gdbinit.5	2019-12-11 01:53:23.000000000 +0000
+++ ./gdb/doc/gdbinit.5	2019-12-15 01:53:39.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDBINIT 5"
-.TH GDBINIT 5 "2019-12-11" "gdb-9.0.50.20191211-git" "GNU Development Tools"
+.TH GDBINIT 5 "2019-12-15" "gdb-10.0.50.20191215-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.20191211/gdb/doc/gdbserver.1 ./gdb/doc/gdbserver.1
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/doc/gdbserver.1	2019-12-11 01:53:22.000000000 +0000
+++ ./gdb/doc/gdbserver.1	2019-12-15 01:53:39.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDBSERVER 1"
-.TH GDBSERVER 1 "2019-12-11" "gdb-9.0.50.20191211-git" "GNU Development Tools"
+.TH GDBSERVER 1 "2019-12-15" "gdb-10.0.50.20191215-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.20191211/gdb/doc/gdb.texinfo ./gdb/doc/gdb.texinfo
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/doc/gdb.texinfo	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/doc/gdb.texinfo	2019-12-15 01:49:39.000000000 +0000
@@ -1949,8 +1949,8 @@ Some commands take raw input as argument
 command processes arbitrary expressions in any of the languages
 supported by @value{GDBN}.  With such commands, because raw input may
 start with a leading dash that would be confused with an option or any
-of its abbreviations, e.g.@: @code{print -r} (short for @code{print
--raw} or printing negative @code{r}?), if you specify any command
+of its abbreviations, e.g.@: @code{print -p} (short for @code{print
+-pretty} or printing negative @code{p}?), if you specify any command
 option, then you must use a double-dash (@code{--}) delimiter to
 indicate the end of options.
 
@@ -1976,10 +1976,10 @@ on @code{-} after the command name.  For
 
 @smallexample
 (@value{GDBP}) print -@key{TAB}@key{TAB}
--address         -max-depth       -repeats         -vtbl
--array           -null-stop       -static-members
--array-indexes   -object          -symbol
--elements        -pretty          -union
+-address         -max-depth       -raw-values      -union
+-array           -null-stop       -repeats         -vtbl
+-array-indexes   -object          -static-members
+-elements        -pretty          -symbol
 @end smallexample
 
 Completion will in some cases guide you with a suggestion of what kind
@@ -9646,6 +9646,11 @@ Set printing C@t{++} virtual function ta
 Set pretty formatting of structures.  Related setting: @ref{set print
 pretty}.
 
+@item -raw-values [@code{on}|@code{off}]
+Set whether to print values in raw form, bypassing any
+pretty-printers for that value.  Related setting: @ref{set print
+raw-values}.
+
 @item -repeats @var{number-of-repeats}|@code{unlimited}
 Set threshold for repeated print elements.  @code{unlimited} causes
 all elements to be individually printed.  Related setting: @ref{set
@@ -9673,17 +9678,17 @@ may look like options (including abbrevi
 command option, then you must use a double dash (@code{--}) to mark
 the end of option processing.
 
-For example, this prints the value of the @code{-r} expression:
+For example, this prints the value of the @code{-p} expression:
 
 @smallexample
-(@value{GDBP}) print -r
+(@value{GDBP}) print -p
 @end smallexample
 
 While this repeats the last value in the value history (see below)
-with the @code{-raw} option in effect:
+with the @code{-pretty} option in effect:
 
 @smallexample
-(@value{GDBP}) print -r --
+(@value{GDBP}) print -p --
 @end smallexample
 
 Here is an example including both on option and an expression:
@@ -11274,6 +11279,21 @@ This is the default format.
 @item show print pretty
 Show which format @value{GDBN} is using to print structures.
 
+@anchor{set print raw-values}
+@item set print raw-values on
+Print values in raw form, without applying the pretty
+printers for the value.
+
+@item set print raw-values off
+Print values in pretty-printed form, if there is a pretty-printer
+for the value (@pxref{Pretty Printing}),
+otherwise print the value in raw form.
+
+The default setting is ``off''.
+
+@item show print raw-values
+Show whether to print values in raw form.
+
 @item set print sevenbit-strings on
 @cindex eight-bit characters in strings
 @cindex octal escapes in strings
@@ -11613,6 +11633,18 @@ library2.so:
 Note that for @code{bar} the entire printer can be disabled,
 as can each individual subprinter.
 
+Printing values and frame arguments is done by default using
+the enabled pretty printers.
+
+The print option @code{-raw-values} and @value{GDBN} setting
+@code{set print raw-values} (@pxref{set print raw-values}) can be
+used to print values without applying the enabled pretty printers.
+
+Similarly, the backtrace option @code{-raw-frame-arguments} and
+@value{GDBN} setting @code{set print raw-frame-arguments}
+(@pxref{set print raw-frame-arguments}) can be used to ignore the
+enabled pretty printers when printing frame argument values.
+
 @node Value History
 @section Value History
 
@@ -36621,7 +36653,7 @@ extern struct gdb_reader_funcs *gdb_init
 functions.  These functions are executed to read the debug info
 generated by the JIT compiler (@code{read}), to unwind stack frames
 (@code{unwind}) and to create canonical frame IDs
-(@code{get_Frame_id}).  It also has a callback that is called when the
+(@code{get_frame_id}).  It also has a callback that is called when the
 reader is being unloaded (@code{destroy}).  The struct looks like this
 
 @smallexample
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.20191211/gdb/doc/python.texi ./gdb/doc/python.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/doc/python.texi	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/doc/python.texi	2019-12-15 01:49:39.000000000 +0000
@@ -4883,20 +4883,6 @@ search all object files in the order the
 information.
 @end defun
 
-@findex gdb.lookup_global_symbol
-@defun gdb.lookup_global_symbol (name @r{[}, domain@r{]})
-This function searches for a global symbol by name.
-The search scope can be restricted to by the domain argument.
-
-@var{name} is the name of the symbol.  It must be a string.
-The optional @var{domain} argument restricts the search to the domain type.
-The @var{domain} argument must be a domain constant defined in the @code{gdb}
-module and described later in this chapter.
-
-The result is a @code{gdb.Symbol} object or @code{None} if the symbol
-is not found.
-@end defun
-
 @findex gdb.lookup_static_symbols
 @defun gdb.lookup_static_symbols (name @r{[}, domain@r{]})
 Similar to @code{gdb.lookup_static_symbol}, this function searches for
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.20191211/gdb/event-top.c ./gdb/event-top.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/event-top.c	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/event-top.c	2019-12-15 01:49:39.000000000 +0000
@@ -881,7 +881,7 @@ handle_sigsegv (int sig)
   install_handle_sigsegv ();
 
   if (thread_local_segv_handler == nullptr)
-    abort ();
+    abort ();			/* ARI: abort */
   thread_local_segv_handler (sig);
 }
 
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.20191211/gdb/fbsd-tdep.c ./gdb/fbsd-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/fbsd-tdep.c	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/fbsd-tdep.c	2019-12-15 01:49:40.000000000 +0000
@@ -1433,7 +1433,7 @@ fbsd_core_info_proc_status (struct gdbar
 			   sec, value);
   printf_filtered ("stime, children: %s.%06d\n", plongest (sec), (int) value);
   printf_filtered ("'nice' value: %d\n",
-		   bfd_get_signed_8 (core_bfd, descdata + kp->ki_nice));
+		   (int) bfd_get_signed_8 (core_bfd, descdata + kp->ki_nice));
   fbsd_core_fetch_timeval (gdbarch, descdata + kp->ki_start, sec, value);
   printf_filtered ("Start time: %s.%06d\n", plongest (sec), (int) value);
   printf_filtered ("Virtual memory size: %s kB\n",
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.20191211/gdb/gdbsupport/common-utils.c ./gdb/gdbsupport/common-utils.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/gdbsupport/common-utils.c	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/gdbsupport/common-utils.c	2019-12-15 01:49:40.000000000 +0000
@@ -89,7 +89,7 @@ string_printf (const char* fmt, ...)
   /* C++11 and later guarantee std::string uses contiguous memory and
      always includes the terminating '\0'.  */
   va_start (vp, fmt);
-  vsprintf (&str[0], fmt, vp);
+  vsprintf (&str[0], fmt, vp);	/* ARI: vsprintf */
   va_end (vp);
 
   return str;
@@ -111,7 +111,7 @@ string_vprintf (const char* fmt, va_list
 
   /* C++11 and later guarantee std::string uses contiguous memory and
      always includes the terminating '\0'.  */
-  vsprintf (&str[0], fmt, args);
+  vsprintf (&str[0], fmt, args); /* ARI: vsprintf */
 
   return str;
 }
@@ -147,7 +147,7 @@ string_vappendf (std::string &str, const
 
   /* C++11 and later guarantee std::string uses contiguous memory and
      always includes the terminating '\0'.  */
-  vsprintf (&str[curr_size], fmt, args);
+  vsprintf (&str[curr_size], fmt, args); /* ARI: vsprintf */
 }
 
 char *
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.20191211/gdb/gdbsupport/pathstuff.c ./gdb/gdbsupport/pathstuff.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/gdbsupport/pathstuff.c	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/gdbsupport/pathstuff.c	2019-12-15 01:49:40.000000000 +0000
@@ -134,7 +134,7 @@ gdb_abspath (const char *path)
   if (path[0] == '~')
     return gdb_tilde_expand_up (path);
 
-  if (IS_ABSOLUTE_PATH (path))
+  if (IS_ABSOLUTE_PATH (path) || current_directory == NULL)
     return make_unique_xstrdup (path);
 
   /* Beware the // my son, the Emacs barfs, the botch that catch...  */
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.20191211/gdb/gdbsupport/pathstuff.h ./gdb/gdbsupport/pathstuff.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/gdbsupport/pathstuff.h	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/gdbsupport/pathstuff.h	2019-12-15 01:49:40.000000000 +0000
@@ -44,7 +44,10 @@ extern gdb::unique_xmalloc_ptr<char>
 
    Contrary to "gdb_realpath", this function uses CURRENT_DIRECTORY
    for the path expansion.  This may lead to scenarios the current
-   working directory (CWD) is different than CURRENT_DIRECTORY.  */
+   working directory (CWD) is different than CURRENT_DIRECTORY.
+
+   If CURRENT_DIRECTORY is NULL, this function returns a copy of
+   PATH.  */
 
 extern gdb::unique_xmalloc_ptr<char> gdb_abspath (const char *path);
 
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.20191211/gdb/gdbsupport/safe-iterator.h ./gdb/gdbsupport/safe-iterator.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/gdbsupport/safe-iterator.h	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/gdbsupport/safe-iterator.h	2019-12-15 01:49:40.000000000 +0000
@@ -48,17 +48,29 @@ public:
   typedef typename Iterator::iterator_category iterator_category;
   typedef typename Iterator::difference_type difference_type;
 
-  /* Construct by forwarding all arguments to the underlying
-     iterator.  */
-  template<typename... Args>
-  explicit basic_safe_iterator (Args &&...args)
-    : m_it (std::forward<Args> (args)...),
+  /* Construct using the given argument; the end iterator is default
+     constructed.  */
+  template<typename Arg>
+  explicit basic_safe_iterator (Arg &&arg)
+    : m_it (std::forward<Arg> (arg)),
       m_next (m_it)
   {
     if (m_it != m_end)
       ++m_next;
   }
 
+  /* Construct the iterator using the first argument, and construct
+     the end iterator using the second argument.  */
+  template<typename Arg>
+  explicit basic_safe_iterator (Arg &&arg, Arg &&arg2)
+    : m_it (std::forward<Arg> (arg)),
+      m_next (m_it),
+      m_end (std::forward<Arg> (arg2))
+  {
+    if (m_it != m_end)
+      ++m_next;
+  }
+
   /* Create a one-past-end iterator.  */
   basic_safe_iterator ()
   {}
@@ -90,4 +102,34 @@ private:
   Iterator m_end {};
 };
 
+/* A range adapter that wraps another range, and then returns safe
+   iterators wrapping the original range's iterators.  */
+
+template<typename Range>
+class basic_safe_range
+{
+public:
+
+  typedef basic_safe_iterator<typename Range::iterator> iterator;
+
+  explicit basic_safe_range (Range range)
+    : m_range (range)
+  {
+  }
+
+  iterator begin ()
+  {
+    return iterator (m_range.begin (), m_range.end ());
+  }
+
+  iterator end ()
+  {
+    return iterator (m_range.end (), m_range.end ());
+  }
+
+private:
+
+  Range m_range;
+};
+
 #endif /* COMMON_SAFE_ITERATOR_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.20191211/gdb/gdbsupport/safe-strerror.c ./gdb/gdbsupport/safe-strerror.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/gdbsupport/safe-strerror.c	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/gdbsupport/safe-strerror.c	2019-12-15 01:49:40.000000000 +0000
@@ -18,7 +18,6 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "common-defs.h"
-#include "diagnostics.h"
 #include <string.h>
 
 /* There are two different versions of strerror_r; one is GNU-specific, the
@@ -27,27 +26,20 @@
    to solve this for us because IPA does not use Gnulib but uses this
    function.  */
 
-/* We only ever use one of the two overloads, so suppress the warning for
-   an unused function.  */
-DIAGNOSTIC_PUSH
-DIAGNOSTIC_IGNORE_UNUSED_FUNCTION
-
 /* Called if we have a XSI-compliant strerror_r.  */
-static char *
+ATTRIBUTE_UNUSED static char *
 select_strerror_r (int res, char *buf)
 {
   return res == 0 ? buf : nullptr;
 }
 
 /* Called if we have a GNU strerror_r.  */
-static char *
+ATTRIBUTE_UNUSED static char *
 select_strerror_r (char *res, char *)
 {
   return res;
 }
 
-DIAGNOSTIC_POP
-
 /* Implementation of safe_strerror as defined in common-utils.h.  */
 
 const char *
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.20191211/gdb/gdbsupport/thread-pool.c ./gdb/gdbsupport/thread-pool.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/gdbsupport/thread-pool.c	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/gdbsupport/thread-pool.c	2019-12-15 01:49:40.000000000 +0000
@@ -36,8 +36,26 @@
 #endif
 
 #ifdef USE_PTHREAD_SETNAME_NP
+
 #include <pthread.h>
-#endif
+
+/* Handle platform discrepancies in pthread_setname_np: macOS uses a
+   single-argument form, while Linux uses a two-argument form.  This
+   wrapper handles the difference.  */
+
+ATTRIBUTE_UNUSED static void
+set_thread_name (int (*set_name) (pthread_t, const char *), const char *name)
+{
+  set_name (pthread_self (), name);
+}
+
+ATTRIBUTE_UNUSED static void
+set_thread_name (void (*set_name) (const char *), const char *name)
+{
+  set_name (name);
+}
+
+#endif	/* USE_PTHREAD_SETNAME_NP */
 
 namespace gdb
 {
@@ -75,9 +93,6 @@ thread_pool::set_thread_count (size_t nu
       for (size_t i = m_thread_count; i < num_threads; ++i)
 	{
 	  std::thread thread (&thread_pool::thread_function, this);
-#ifdef USE_PTHREAD_SETNAME_NP
-	  pthread_setname_np (thread.native_handle (), "gdb worker");
-#endif
 	  thread.detach ();
 	}
     }
@@ -115,6 +130,12 @@ thread_pool::post_task (std::function<vo
 void
 thread_pool::thread_function ()
 {
+#ifdef USE_PTHREAD_SETNAME_NP
+  /* This must be done here, because on macOS one can only set the
+     name of the current thread.  */
+  set_thread_name (pthread_setname_np, "gdb worker");
+#endif
+
   /* Ensure that SIGSEGV is delivered to an alternate signal
      stack.  */
   gdb::alternate_signal_stack signal_stack;
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.20191211/gdb/go32-nat.c ./gdb/go32-nat.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/go32-nat.c	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/go32-nat.c	2019-12-15 01:49:40.000000000 +0000
@@ -507,7 +507,8 @@ go32_nat_target::wait (ptid_t ptid, stru
     }
 
   getcwd (child_cwd, sizeof (child_cwd)); /* in case it has changed */
-  chdir (current_directory);
+  if (current_directory != NULL)
+    chdir (current_directory);
 
   if (a_tss.tss_irqn == 0x21)
     {
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.20191211/gdb/jit.c ./gdb/jit.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/jit.c	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/jit.c	2019-12-15 01:49:40.000000000 +0000
@@ -100,7 +100,7 @@ mem_bfd_iovec_close (struct bfd *abfd, v
 
 static file_ptr
 mem_bfd_iovec_pread (struct bfd *abfd, void *stream, void *buf,
-                     file_ptr nbytes, file_ptr offset)
+		     file_ptr nbytes, file_ptr offset)
 {
   int err;
   struct target_buffer *buffer = (struct target_buffer *) stream;
@@ -185,13 +185,13 @@ jit_reader_load (const char *file_name)
 
   if (jit_debug)
     fprintf_unfiltered (gdb_stdlog, _("Opening shared object %s.\n"),
-                        file_name);
+			file_name);
   gdb_dlhandle_up so = gdb_dlopen (file_name);
 
   init_fn = (reader_init_fn_type *) gdb_dlsym (so, reader_init_fn_sym);
   if (!init_fn)
     error (_("Could not locate initialization function: %s."),
-          reader_init_fn_sym);
+	   reader_init_fn_sym);
 
   if (gdb_dlsym (so, "plugin_is_GPL_compatible") == NULL)
     error (_("Reader not GPL compatible."));
@@ -509,8 +509,8 @@ jit_object_open_impl (struct gdb_symbol_
 
 static struct gdb_symtab *
 jit_symtab_open_impl (struct gdb_symbol_callbacks *cb,
-                      struct gdb_object *object,
-                      const char *file_name)
+		      struct gdb_object *object,
+		      const char *file_name)
 {
   struct gdb_symtab *ret;
 
@@ -528,7 +528,7 @@ jit_symtab_open_impl (struct gdb_symbol_
 
 static int
 compare_block (const struct gdb_block *const old,
-               const struct gdb_block *const newobj)
+	       const struct gdb_block *const newobj)
 {
   if (old == NULL)
     return 1;
@@ -537,9 +537,9 @@ compare_block (const struct gdb_block *c
   else if (old->begin == newobj->begin)
     {
       if (old->end > newobj->end)
-        return 1;
+	return 1;
       else
-        return 0;
+	return 0;
     }
   else
     return 0;
@@ -551,8 +551,8 @@ compare_block (const struct gdb_block *c
 
 static struct gdb_block *
 jit_block_open_impl (struct gdb_symbol_callbacks *cb,
-                     struct gdb_symtab *symtab, struct gdb_block *parent,
-                     GDB_CORE_ADDR begin, GDB_CORE_ADDR end, const char *name)
+		     struct gdb_symtab *symtab, struct gdb_block *parent,
+		     GDB_CORE_ADDR begin, GDB_CORE_ADDR end, const char *name)
 {
   struct gdb_block *block = XCNEW (struct gdb_block);
 
@@ -573,16 +573,16 @@ jit_block_open_impl (struct gdb_symbol_c
       struct gdb_block *i = symtab->blocks;
 
       for (;; i = i->next)
-        {
-          /* Guaranteed to terminate, since compare_block (NULL, _)
-             returns 1.  */
-          if (compare_block (i->next, block))
-            {
-              block->next = i->next;
-              i->next = block;
-              break;
-            }
-        }
+	{
+	  /* Guaranteed to terminate, since compare_block (NULL, _)
+	     returns 1.  */
+	  if (compare_block (i->next, block))
+	    {
+	      block->next = i->next;
+	      i->next = block;
+	      break;
+	    }
+	}
     }
   symtab->nblocks++;
 
@@ -594,8 +594,8 @@ jit_block_open_impl (struct gdb_symbol_c
 
 static void
 jit_symtab_line_mapping_add_impl (struct gdb_symbol_callbacks *cb,
-                                  struct gdb_symtab *stab, int nlines,
-                                  struct gdb_line_mapping *map)
+				  struct gdb_symtab *stab, int nlines,
+				  struct gdb_line_mapping *map)
 {
   int i;
   int alloc_len;
@@ -619,7 +619,7 @@ jit_symtab_line_mapping_add_impl (struct
 
 static void
 jit_symtab_close_impl (struct gdb_symbol_callbacks *cb,
-                       struct gdb_symtab *stab)
+		       struct gdb_symtab *stab)
 {
   /* Right now nothing needs to be done here.  We may need to do some
      cleanup here in the future (again, without breaking the plugin
@@ -661,7 +661,7 @@ finalize_symtab (struct gdb_symtab *stab
     }
 
   blockvector_size = (sizeof (struct blockvector)
-                      + (actual_nblocks - 1) * sizeof (struct block *));
+		      + (actual_nblocks - 1) * sizeof (struct block *));
   bv = (struct blockvector *) obstack_alloc (&objfile->objfile_obstack,
 					     blockvector_size);
   COMPUNIT_BLOCKVECTOR (cust) = bv;
@@ -707,9 +707,9 @@ finalize_symtab (struct gdb_symtab *stab
 
       BLOCKVECTOR_BLOCK (bv, i) = new_block;
       if (begin > BLOCK_START (new_block))
-        begin = BLOCK_START (new_block);
+	begin = BLOCK_START (new_block);
       if (end < BLOCK_END (new_block))
-        end = BLOCK_END (new_block);
+	end = BLOCK_END (new_block);
 
       gdb_block_iter->real_block = new_block;
     }
@@ -778,7 +778,7 @@ finalize_symtab (struct gdb_symtab *stab
 
 static void
 jit_object_close_impl (struct gdb_symbol_callbacks *cb,
-                       struct gdb_object *obj)
+		       struct gdb_object *obj)
 {
   struct gdb_symtab *i, *j;
   struct objfile *objfile;
@@ -786,8 +786,8 @@ jit_object_close_impl (struct gdb_symbol
 
   priv_data = (jit_dbg_reader_data *) cb->priv_data;
 
-  objfile = new struct objfile (NULL, "<< JIT compiled code >>",
-				OBJF_NOT_FILENAME);
+  objfile = objfile::make (nullptr, "<< JIT compiled code >>",
+			   OBJF_NOT_FILENAME);
   objfile->per_bfd->gdbarch = target_gdbarch ();
 
   j = NULL;
@@ -806,9 +806,8 @@ jit_object_close_impl (struct gdb_symbol
 
 static int
 jit_reader_try_read_symtab (struct jit_code_entry *code_entry,
-                            CORE_ADDR entry_addr)
+			    CORE_ADDR entry_addr)
 {
-  gdb_byte *gdb_mem;
   int status;
   jit_dbg_reader_data priv_data;
   struct gdb_reader_funcs *funcs;
@@ -831,12 +830,12 @@ jit_reader_try_read_symtab (struct jit_c
   if (!loaded_jit_reader)
     return 0;
 
-  gdb_mem = (gdb_byte *) xmalloc (code_entry->symfile_size);
+  gdb::byte_vector gdb_mem (code_entry->symfile_size);
 
   status = 1;
   try
     {
-      if (target_read_memory (code_entry->symfile_addr, gdb_mem,
+      if (target_read_memory (code_entry->symfile_addr, gdb_mem.data (),
 			      code_entry->symfile_size))
 	status = 0;
     }
@@ -848,15 +847,15 @@ jit_reader_try_read_symtab (struct jit_c
   if (status)
     {
       funcs = loaded_jit_reader->functions;
-      if (funcs->read (funcs, &callbacks, gdb_mem, code_entry->symfile_size)
-          != GDB_SUCCESS)
-        status = 0;
+      if (funcs->read (funcs, &callbacks, gdb_mem.data (),
+		       code_entry->symfile_size)
+	  != GDB_SUCCESS)
+	status = 0;
     }
 
-  xfree (gdb_mem);
   if (jit_debug && status == 0)
     fprintf_unfiltered (gdb_stdlog,
-                        "Could not read symtab using the loaded JIT reader.\n");
+			"Could not read symtab using the loaded JIT reader.\n");
   return status;
 }
 
@@ -865,8 +864,8 @@ jit_reader_try_read_symtab (struct jit_c
 
 static void
 jit_bfd_try_read_symtab (struct jit_code_entry *code_entry,
-                         CORE_ADDR entry_addr,
-                         struct gdbarch *gdbarch)
+			 CORE_ADDR entry_addr,
+			 struct gdbarch *gdbarch)
 {
   struct bfd_section *sec;
   struct objfile *objfile;
@@ -901,7 +900,7 @@ JITed symbol file is not an object file,
   b = gdbarch_bfd_arch_info (gdbarch);
   if (b->compatible (b, bfd_get_arch_info (nbfd.get ())) != b)
     warning (_("JITed object file architecture %s is not compatible "
-               "with target architecture %s."),
+	       "with target architecture %s."),
 	     bfd_get_arch_info (nbfd.get ())->printable_name,
 	     b->printable_name);
 
@@ -912,8 +911,8 @@ JITed symbol file is not an object file,
   for (sec = nbfd->sections; sec != NULL; sec = sec->next)
     if ((bfd_section_flags (sec) & (SEC_ALLOC|SEC_LOAD)) != 0)
       {
-        /* We assume that these virtual addresses are absolute, and do not
-           treat them as offsets.  */
+	/* We assume that these virtual addresses are absolute, and do not
+	   treat them as offsets.  */
 	sai.emplace_back (bfd_section_vma (sec),
 			  bfd_section_name (sec),
 			  sec->index);
@@ -935,16 +934,16 @@ JITed symbol file is not an object file,
 
 static void
 jit_register_code (struct gdbarch *gdbarch,
-                   CORE_ADDR entry_addr, struct jit_code_entry *code_entry)
+		   CORE_ADDR entry_addr, struct jit_code_entry *code_entry)
 {
   int success;
 
   if (jit_debug)
     fprintf_unfiltered (gdb_stdlog,
-                        "jit_register_code, symfile_addr = %s, "
-                        "symfile_size = %s\n",
-                        paddress (gdbarch, code_entry->symfile_addr),
-                        pulongest (code_entry->symfile_size));
+			"jit_register_code, symfile_addr = %s, "
+			"symfile_size = %s\n",
+			paddress (gdbarch, code_entry->symfile_addr),
+			pulongest (code_entry->symfile_size));
 
   success = jit_reader_try_read_symtab (code_entry, entry_addr);
 
@@ -952,18 +951,6 @@ jit_register_code (struct gdbarch *gdbar
     jit_bfd_try_read_symtab (code_entry, entry_addr, gdbarch);
 }
 
-/* This function unregisters JITed code and frees the corresponding
-   objfile.  */
-
-static void
-jit_unregister_code (struct objfile *objfile)
-{
-  if (jit_debug)
-    fprintf_unfiltered (gdb_stdlog, "jit_unregister_code (%s)\n",
-			host_address_to_string (objfile));
-  delete objfile;
-}
-
 /* Look up the objfile with this code entry address.  */
 
 static struct objfile *
@@ -976,7 +963,7 @@ jit_find_objf_with_entry_addr (CORE_ADDR
       objf_data
 	= (struct jit_objfile_data *) objfile_data (objf, jit_objfile_data);
       if (objf_data != NULL && objf_data->addr == entry_addr)
-        return objf;
+	return objf;
     }
   return NULL;
 }
@@ -1080,7 +1067,7 @@ struct jit_unwind_private
 
 static void
 jit_unwind_reg_set_impl (struct gdb_unwind_callbacks *cb, int dwarf_regnum,
-                         struct gdb_reg_value *value)
+			 struct gdb_reg_value *value)
 {
   struct jit_unwind_private *priv;
   int gdb_reg;
@@ -1088,13 +1075,13 @@ jit_unwind_reg_set_impl (struct gdb_unwi
   priv = (struct jit_unwind_private *) cb->priv_data;
 
   gdb_reg = gdbarch_dwarf2_reg_to_regnum (get_frame_arch (priv->this_frame),
-                                          dwarf_regnum);
+					  dwarf_regnum);
   if (gdb_reg == -1)
     {
       if (jit_debug)
-        fprintf_unfiltered (gdb_stdlog,
-                            _("Could not recognize DWARF regnum %d"),
-                            dwarf_regnum);
+	fprintf_unfiltered (gdb_stdlog,
+			    _("Could not recognize DWARF regnum %d"),
+			    dwarf_regnum);
       value->free (value);
       return;
     }
@@ -1156,7 +1143,7 @@ jit_dealloc_cache (struct frame_info *th
 
 static int
 jit_frame_sniffer (const struct frame_unwind *self,
-                   struct frame_info *this_frame, void **cache)
+		   struct frame_info *this_frame, void **cache)
 {
   struct jit_unwind_private *priv_data;
   struct gdb_unwind_callbacks callbacks;
@@ -1186,13 +1173,13 @@ jit_frame_sniffer (const struct frame_un
   if (funcs->unwind (funcs, &callbacks) == GDB_SUCCESS)
     {
       if (jit_debug)
-        fprintf_unfiltered (gdb_stdlog, _("Successfully unwound frame using "
-                                          "JIT reader.\n"));
+	fprintf_unfiltered (gdb_stdlog, _("Successfully unwound frame using "
+					  "JIT reader.\n"));
       return 1;
     }
   if (jit_debug)
     fprintf_unfiltered (gdb_stdlog, _("Could not unwind frame using "
-                                      "JIT reader.\n"));
+				      "JIT reader.\n"));
 
   jit_dealloc_cache (this_frame, *cache);
   *cache = NULL;
@@ -1206,7 +1193,7 @@ jit_frame_sniffer (const struct frame_un
 
 static void
 jit_frame_this_id (struct frame_info *this_frame, void **cache,
-                   struct frame_id *this_id)
+		   struct frame_id *this_id)
 {
   struct jit_unwind_private priv;
   struct gdb_frame_id frame_id;
@@ -1334,9 +1321,9 @@ jit_inferior_init (struct gdbarch *gdbar
       jit_read_code_entry (gdbarch, cur_entry_addr, &cur_entry);
 
       /* This hook may be called many times during setup, so make sure we don't
-         add the same symbol file twice.  */
+	 add the same symbol file twice.  */
       if (jit_find_objf_with_entry_addr (cur_entry_addr) != NULL)
-        continue;
+	continue;
 
       jit_register_code (gdbarch, cur_entry_addr, &cur_entry);
     }
@@ -1381,7 +1368,7 @@ jit_inferior_exit_hook (struct inferior 
 	= (struct jit_objfile_data *) objfile_data (objf, jit_objfile_data);
 
       if (objf_data != NULL && objf_data->addr != 0)
-	jit_unregister_code (objf);
+	objf->unlink ();
     }
 }
 
@@ -1415,7 +1402,7 @@ jit_event_handler (struct gdbarch *gdbar
 			     "entry at address: %s\n"),
 			   paddress (gdbarch, entry_addr));
       else
-        jit_unregister_code (objf);
+	objf->unlink ();
 
       break;
     default:
@@ -1466,7 +1453,7 @@ void
 _initialize_jit (void)
 {
   jit_reader_dir = relocate_gdb_directory (JIT_READER_DIR,
-                                           JIT_READER_DIR_RELOCATABLE);
+					   JIT_READER_DIR_RELOCATABLE);
   add_setshow_zuinteger_cmd ("jit", class_maintenance, &jit_debug,
 			     _("Set JIT debugging."),
 			     _("Show JIT debugging."),
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.20191211/gdb/maint.c ./gdb/maint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/maint.c	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/maint.c	2019-12-15 01:49:40.000000000 +0000
@@ -589,7 +589,7 @@ maintenance_translate_address (const cha
 	  gdb_assert (sect->objfile && objfile_name (sect->objfile));
 	  obj_name = objfile_name (sect->objfile);
 
-	  if (MULTI_OBJFILE_P ())
+	  if (current_program_space->multi_objfile_p ())
 	    printf_filtered (_("%s + %s in section %s of %s\n"),
 			     symbol_name, symbol_offset,
 			     section_name, obj_name);
@@ -845,12 +845,7 @@ maintenance_set_profile_cmd (const char 
 }
 #endif
 
-static int n_worker_threads = 0;
-
-bool worker_threads_disabled ()
-{
-  return n_worker_threads == 0;
-}
+static int n_worker_threads = -1;
 
 /* Update the thread pool for the desired number of threads.  */
 static void
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.20191211/gdb/maint.h ./gdb/maint.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/maint.h	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/maint.h	2019-12-15 01:49:40.000000000 +0000
@@ -26,8 +26,6 @@ extern void set_per_command_time (int);
 
 extern void set_per_command_space (int);
 
-extern bool worker_threads_disabled ();
-
 /* Records a run time and space usage to be used as a base for
    reporting elapsed time or change in space.  */
 
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.20191211/gdb/Makefile.in ./gdb/Makefile.in
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/Makefile.in	2019-12-11 01:49:18.000000000 +0000
+++ ./gdb/Makefile.in	2019-12-15 01:49:39.000000000 +0000
@@ -777,6 +777,7 @@ ALL_TARGET_OBS = \
 	ravenscar-thread.o \
 	riscv-fbsd-tdep.o \
 	riscv-linux-tdep.o \
+	riscv-ravenscar-thread.o \
 	riscv-tdep.o \
 	rl78-tdep.o \
 	rs6000-aix-tdep.o \
@@ -1380,6 +1381,7 @@ HFILES_NO_SRCDIR = \
 	remote-fileio.h \
 	remote-notif.h \
 	riscv-fbsd-tdep.h \
+	riscv-ravenscar-thread.h \
 	riscv-tdep.h \
 	rs6000-aix-tdep.h \
 	rs6000-tdep.h \
@@ -2299,6 +2301,7 @@ ALLDEPFILES = \
 	riscv-fbsd-tdep.c \
 	riscv-linux-nat.c \
 	riscv-linux-tdep.c \
+	riscv-ravenscar-thread.c \
 	riscv-tdep.c \
 	rl78-tdep.c \
 	rs6000-lynx178-tdep.c \
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.20191211/gdb/minsyms.c ./gdb/minsyms.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/minsyms.c	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/minsyms.c	2019-12-15 01:49:40.000000000 +0000
@@ -54,7 +54,6 @@
 #include <algorithm>
 #include "safe-ctype.h"
 #include "gdbsupport/parallel-for.h"
-#include "maint.h"
 
 #if CXX_STD_THREAD
 #include <mutex>
@@ -1138,15 +1137,6 @@ minimal_symbol_reader::record_full (gdb:
   else
     msymbol->name = name.data ();
 
-  if (worker_threads_disabled ())
-    {
-      /* To keep our behavior as close as possible to the previous non-threaded
-	 behavior for GDB 9.1, we call symbol_set_names here when threads
-	 are disabled.  */
-      symbol_set_names (msymbol, msymbol->name, false, m_objfile->per_bfd);
-      msymbol->name_set = 1;
-    }
-
   SET_MSYMBOL_VALUE_ADDRESS (msymbol, address);
   MSYMBOL_SECTION (msymbol) = section;
 
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.20191211/gdb/NEWS ./gdb/NEWS
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/NEWS	2019-12-11 01:49:18.000000000 +0000
+++ ./gdb/NEWS	2019-12-15 01:49:39.000000000 +0000
@@ -1,7 +1,9 @@
 		What has changed in GDB?
 	     (Organized release by release)
 
-*** Changes since GDB 8.3
+*** Changes since GDB 9
+
+*** Changes in GDB 9
 
 * 'thread-exited' event is now available in the annotations interface.
 
@@ -148,6 +150,12 @@ show print max-depth
   The default max-depth is 20, but this can be set to unlimited to get
   the old behavior back.
 
+set print raw-values [on|off]
+show print raw-values
+  By default, GDB applies the enabled pretty printers when printing a
+  value.  This allows to ignore the enabled pretty printers for a series
+  of commands.  The default is 'off'.
+
 set logging debugredirect [on|off]
   By default, GDB debug output will go to both the terminal and the logfile.
   Set if you want debug output to go only to the log file.
@@ -303,6 +311,7 @@ focus, winheight, +, -, >, <
       -null-stop [on|off]
       -object [on|off]
       -pretty [on|off]
+      -raw-values [on|off]
       -repeats NUMBER|unlimited
       -static-members [on|off]
       -symbol [on|off]
@@ -347,11 +356,11 @@ focus, winheight, +, -, >, <
    "on" if omitted.  This allows writing compact command invocations,
    like for example:
 
-    (gdb) p -r -p -o 0 -- *myptr
+    (gdb) p -ra -p -o 0 -- *myptr
 
    The above is equivalent to:
 
-    (gdb) print -raw -pretty -object off -- *myptr
+    (gdb) print -raw-values -pretty -object off -- *myptr
 
   ** The "info types" command now supports the '-q' flag to disable
      printing of some header information in a similar fashion to "info
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.20191211/gdb/objfiles.c ./gdb/objfiles.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/objfiles.c	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/objfiles.c	2019-12-15 01:49:40.000000000 +0000
@@ -54,6 +54,7 @@
 #include "btrace.h"
 #include "gdbsupport/pathstuff.h"
 
+#include <algorithm>
 #include <vector>
 
 /* Keep a registry of per-objfile data-pointers required by other GDB
@@ -371,23 +372,6 @@ objfile::objfile (bfd *abfd, const char 
     }
 
   per_bfd = get_objfile_bfd_data (this, abfd);
-
-  /* Add this file onto the tail of the linked list of other such files.  */
-
-  if (object_files == NULL)
-    object_files = this;
-  else
-    {
-      struct objfile *last_one;
-
-      for (last_one = object_files;
-	   last_one->next;
-	   last_one = last_one->next);
-      last_one->next = this;
-    }
-
-  /* Rebuild section map next time we need it.  */
-  get_objfile_pspace_data (pspace)->new_objfiles_available = 1;
 }
 
 /* Retrieve the gdbarch associated with OBJFILE.  */
@@ -473,54 +457,9 @@ separate_debug_iterator::operator++ ()
   return *this;
 }
 
-/* Unlink OBJFILE from the list of known objfiles.  */
-
-static void
-unlink_objfile (struct objfile *objfile)
-{
-  struct objfile **objpp;
-
-  for (objpp = &object_files; *objpp != NULL; objpp = &((*objpp)->next))
-    {
-      if (*objpp == objfile)
-	{
-	  *objpp = (*objpp)->next;
-	  objfile->next = NULL;
-	  return;
-	}
-    }
-
-  internal_error (__FILE__, __LINE__,
-		  _("unlink_objfile: objfile already unlinked"));
-}
-
-/* Put one object file before a specified on in the global list.
-   This can be used to make sure an object file is destroyed before
-   another when using objfiles_safe to free all objfiles.  */
-static void
-put_objfile_before (struct objfile *objfile, struct objfile *before_this)
-{
-  struct objfile **objp;
-
-  unlink_objfile (objfile);
-  
-  for (objp = &object_files; *objp != NULL; objp = &((*objp)->next))
-    {
-      if (*objp == before_this)
-	{
-	  objfile->next = *objp;
-	  *objp = objfile;
-	  return;
-	}
-    }
-  
-  internal_error (__FILE__, __LINE__,
-		  _("put_objfile_before: before objfile not in list"));
-}
-
 /* Add OBJFILE as a separate debug objfile of PARENT.  */
 
-void
+static void
 add_separate_debug_objfile (struct objfile *objfile, struct objfile *parent)
 {
   gdb_assert (objfile && parent);
@@ -535,10 +474,35 @@ add_separate_debug_objfile (struct objfi
   objfile->separate_debug_objfile_backlink = parent;
   objfile->separate_debug_objfile_link = parent->separate_debug_objfile;
   parent->separate_debug_objfile = objfile;
+}
+
+/* See objfiles.h.  */
 
-  /* Put the separate debug object before the normal one, this is so that
-     usage of objfiles_safe will stay safe.  */
-  put_objfile_before (objfile, parent);
+objfile *
+objfile::make (bfd *bfd_, const char *name_, objfile_flags flags_,
+	       objfile *parent)
+{
+  objfile *result = new objfile (bfd_, name_, flags_);
+  if (parent != nullptr)
+    add_separate_debug_objfile (result, parent);
+
+  /* Using std::make_shared might be a bit nicer here, but that would
+     require making the constructor public.  */
+  current_program_space->add_objfile (std::shared_ptr<objfile> (result),
+				      parent);
+
+  /* Rebuild section map next time we need it.  */
+  get_objfile_pspace_data (current_program_space)->new_objfiles_available = 1;
+
+  return result;
+}
+
+/* See objfiles.h.  */
+
+void
+objfile::unlink ()
+{
+  current_program_space->remove_objfile (this);
 }
 
 /* Free all separate debug objfile of OBJFILE, but don't free OBJFILE
@@ -552,7 +516,7 @@ free_objfile_separate_debug (struct objf
   for (child = objfile->separate_debug_objfile; child;)
     {
       struct objfile *next_child = child->separate_debug_objfile_link;
-      delete child;
+      child->unlink ();
       child = next_child;
     }
 }
@@ -628,13 +592,6 @@ objfile::~objfile ()
   else
     delete per_bfd;
 
-  /* Remove it from the chain of all objfiles.  */
-
-  unlink_objfile (this);
-
-  if (this == symfile_objfile)
-    symfile_objfile = NULL;
-
   /* Before the symbol table code was redone to make it easier to
      selectively load and remove information particular to a specific
      linkage unit, gdb used to do these things whenever the monolithic
@@ -663,21 +620,6 @@ objfile::~objfile ()
   get_objfile_pspace_data (pspace)->section_map_dirty = 1;
 }
 
-/* Free all the object files at once and clean up their users.  */
-
-void
-free_all_objfiles (void)
-{
-  struct so_list *so;
-
-  /* Any objfile reference would become stale.  */
-  for (so = master_so_list (); so; so = so->next)
-    gdb_assert (so->objfile == NULL);
-
-  for (objfile *objfile : current_program_space->objfiles_safe ())
-    delete objfile;
-  clear_symtab_users (0);
-}
 
 /* A helper function for objfile_relocate1 that relocates a single
    symbol.  */
@@ -984,7 +926,7 @@ objfile_purge_solibs (void)
 	 be soon.  */
 
       if (!(objf->flags & OBJF_USERLOADED) && (objf->flags & OBJF_SHARED))
-	delete objf;
+	objf->unlink ();
     }
 }
 
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.20191211/gdb/objfiles.h ./gdb/objfiles.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/objfiles.h	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/objfiles.h	2019-12-15 01:49:40.000000000 +0000
@@ -28,12 +28,14 @@
 #include "registry.h"
 #include "gdb_bfd.h"
 #include "psymtab.h"
+#include <atomic>
 #include <bitset>
 #include <vector>
 #include "gdbsupport/next-iterator.h"
 #include "gdbsupport/safe-iterator.h"
 #include "bcache.h"
 #include "gdbarch.h"
+#include "gdbsupport/refcounted-object.h"
 
 struct htab;
 struct objfile_data;
@@ -394,9 +396,29 @@ private:
 
 struct objfile
 {
+private:
+
+  /* The only way to create an objfile is to call objfile::make.  */
   objfile (bfd *, const char *, objfile_flags);
+
+public:
+
+  /* Normally you should not call delete.  Instead, call 'unlink' to
+     remove it from the program space's list.  In some cases, you may
+     need to hold a reference to an objfile that is independent of its
+     existence on the program space's list; for this case, the
+     destructor must be public so that shared_ptr can reference
+     it.  */
   ~objfile ();
 
+  /* Create an objfile.  */
+  static objfile *make (bfd *bfd_, const char *name_, objfile_flags flags_,
+			objfile *parent = nullptr);
+
+  /* Remove an objfile from the current program space, and free
+     it.  */
+  void unlink ();
+
   DISABLE_COPY_AND_ASSIGN (objfile);
 
   /* A range adapter that makes it possible to iterate over all
@@ -471,12 +493,6 @@ struct objfile
   }
 
 
-  /* All struct objfile's are chained together by their next pointers.
-     The program space field "objfiles"  (frequently referenced via
-     the macro "object_files") points to the first link in this chain.  */
-
-  struct objfile *next = nullptr;
-
   /* The object file's original name as specified by the user,
      made absolute, and tilde-expanded.  However, it is not canonicalized
      (i.e., it has not been passed through gdb_realpath).
@@ -502,7 +518,7 @@ struct objfile
 
   /* The partial symbol tables.  */
 
-  std::shared_ptr<psymtab_storage> partial_symtabs;
+  std::unique_ptr<psymtab_storage> partial_symtabs;
 
   /* The object file's BFD.  Can be null if the objfile contains only
      minimal symbols, e.g. the run time common symbols for SunOS4.  */
@@ -627,6 +643,20 @@ struct objfile
   htab_up static_links;
 };
 
+/* A deleter for objfile.  */
+
+struct objfile_deleter
+{
+  void operator() (objfile *ptr) const
+  {
+    ptr->unlink ();
+  }
+};
+
+/* A unique pointer that holds an objfile.  */
+
+typedef std::unique_ptr<objfile, objfile_deleter> objfile_up;
+
 /* Declarations for functions defined in objfiles.c */
 
 extern struct gdbarch *get_objfile_arch (const struct objfile *);
@@ -637,12 +667,8 @@ extern CORE_ADDR entry_point_address (vo
 
 extern void build_objfile_section_table (struct objfile *);
 
-extern void add_separate_debug_objfile (struct objfile *, struct objfile *);
-
 extern void free_objfile_separate_debug (struct objfile *);
 
-extern void free_all_objfiles (void);
-
 extern void objfile_relocate (struct objfile *, const struct section_offsets *);
 extern void objfile_rebase (struct objfile *, CORE_ADDR);
 
@@ -746,10 +772,6 @@ extern void default_iterate_over_objfile
    uninitialized section index.  */
 #define SECT_OFF_BSS(objfile) (objfile)->sect_index_bss
 
-/* Answer whether there is more than one object file loaded.  */
-
-#define MULTI_OBJFILE_P() (object_files && object_files->next)
-
 /* Reset the per-BFD storage area on OBJ.  */
 
 void set_objfile_per_bfd (struct objfile *obj);
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.20191211/gdb/po/gdb.pot ./gdb/po/gdb.pot
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/po/gdb.pot	2019-12-11 01:52:55.000000000 +0000
+++ ./gdb/po/gdb.pot	2019-12-15 01:53:11.000000000 +0000
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-11 01:52+0000\n"
+"POT-Creation-Date: 2019-12-15 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"
@@ -1404,7 +1404,7 @@ msgid "finished"
 msgstr ""
 
 #. i18n: Like "Thread-Id %d, [state] unknown"
-#: aix-thread.c:621 btrace.c:1884 source.c:668
+#: aix-thread.c:621 btrace.c:1884 source.c:667
 msgid "unknown"
 msgstr ""
 
@@ -2786,7 +2786,7 @@ msgstr ""
 msgid "Couldn't resolve symbol `%s'."
 msgstr ""
 
-#: ax-gdb.c:720 findvar.c:359 findvar.c:741 printcmd.c:1517 tracepoint.c:2629
+#: ax-gdb.c:720 findvar.c:359 findvar.c:741 printcmd.c:1519 tracepoint.c:2629
 msgid "LOC_COMPUTED variable missing a method"
 msgstr ""
 
@@ -2999,11 +2999,11 @@ msgstr ""
 msgid "Must start with a format string."
 msgstr ""
 
-#: ax-gdb.c:2705 breakpoint.c:2228 printcmd.c:2548
+#: ax-gdb.c:2705 breakpoint.c:2228 printcmd.c:2550
 msgid "Bad format string, non-terminated '\"'."
 msgstr ""
 
-#: ax-gdb.c:2710 breakpoint.c:2233 printcmd.c:2553
+#: ax-gdb.c:2710 breakpoint.c:2233 printcmd.c:2555
 msgid "Invalid argument syntax"
 msgstr ""
 
@@ -3701,7 +3701,7 @@ msgstr ""
 msgid "Catchpoint %d (exec)"
 msgstr ""
 
-#: breakpoint.c:8656 printcmd.c:2543
+#: breakpoint.c:8656 printcmd.c:2545
 msgid "Bad format string, missing '\"'."
 msgstr ""
 
@@ -4826,43 +4826,43 @@ msgid ""
 "Optionally specify the filename of a core dump."
 msgstr ""
 
-#: bsd-kvm.c:207
+#: bsd-kvm.c:206
 #, possible-c-format
 msgid "\tUsing the kernel crash dump %s.\n"
 msgstr ""
 
-#: bsd-kvm.c:210
+#: bsd-kvm.c:209
 msgid "\tUsing the currently running kernel.\n"
 msgstr ""
 
 #. i18n: PCB == "Process Control Block".
-#: bsd-kvm.c:303
+#: bsd-kvm.c:302
 msgid "Cannot find a valid PCB"
 msgstr ""
 
-#: bsd-kvm.c:324
+#: bsd-kvm.c:323
 msgid "proc address"
 msgstr ""
 
-#: bsd-kvm.c:327 bsd-kvm.c:355
+#: bsd-kvm.c:326 bsd-kvm.c:354
 msgid "No kernel memory image."
 msgstr ""
 
 #. i18n: PCB == "Process Control Block".
-#: bsd-kvm.c:352
+#: bsd-kvm.c:351
 msgid "pcb address"
 msgstr ""
 
-#: bsd-kvm.c:389
+#: bsd-kvm.c:388
 msgid "Generic command for manipulating the kernel memory interface."
 msgstr ""
 
-#: bsd-kvm.c:395
+#: bsd-kvm.c:394
 msgid "Set current context from proc address"
 msgstr ""
 
 #. i18n: PCB == "Process Control Block".
-#: bsd-kvm.c:399
+#: bsd-kvm.c:398
 msgid "Set current context from pcb address"
 msgstr ""
 
@@ -5155,7 +5155,7 @@ msgstr ""
 msgid "File \"%s\" has a different build-id, file skipped"
 msgstr ""
 
-#: build-id.c:79 symfile.c:1288
+#: build-id.c:79 symfile.c:1285
 #, possible-c-format
 msgid "  Trying %s..."
 msgstr ""
@@ -5164,7 +5164,7 @@ msgstr ""
 msgid " no, unable to compute real path\n"
 msgstr ""
 
-#: build-id.c:102 symfile.c:1297
+#: build-id.c:102 symfile.c:1294
 msgid " no, unable to open.\n"
 msgstr ""
 
@@ -5172,7 +5172,7 @@ msgstr ""
 msgid " no, build-id does not match.\n"
 msgstr ""
 
-#: build-id.c:116 symfile.c:1371
+#: build-id.c:116 symfile.c:1368
 msgid " yes!\n"
 msgstr ""
 
@@ -5268,7 +5268,7 @@ msgid "No type \"%s\" within class or na
 msgstr ""
 
 #: c-exp.y:1089 c-exp.y:1142 d-exp.y:455 d-exp.y:495 f-exp.y:508 go-exp.y:582
-#: m2-exp.y:592 p-exp.y:710 p-exp.y:769 printcmd.c:1470 valops.c:2700
+#: m2-exp.y:592 p-exp.y:710 p-exp.y:769 printcmd.c:1472 valops.c:2700
 #, possible-c-format
 msgid "No symbol \"%s\" in current context."
 msgstr ""
@@ -5894,8 +5894,8 @@ msgid "%s%s %s\n"
 msgstr ""
 
 #: cli/cli-cmds.c:434 cli/cli-script.c:1444 infcmd.c:1215 infcmd.c:1232
-#: infcmd.c:1328 infcmd.c:1943 infcmd.c:2484 symfile.c:1092 symfile.c:1251
-#: symfile.c:2355 symfile.c:2442 tracepoint.c:2064 tracepoint.c:2070
+#: infcmd.c:1328 infcmd.c:1943 infcmd.c:2484 symfile.c:1092 symfile.c:1248
+#: symfile.c:2352 symfile.c:2439 tracepoint.c:2064 tracepoint.c:2070
 msgid "Not confirmed."
 msgstr ""
 
@@ -6270,11 +6270,11 @@ msgstr ""
 msgid "Print list of commands."
 msgstr ""
 
-#: cli/cli-cmds.c:2195 top.c:1930
+#: cli/cli-cmds.c:2195 top.c:1931
 msgid "Set verbosity."
 msgstr ""
 
-#: cli/cli-cmds.c:2196 top.c:1931
+#: cli/cli-cmds.c:2196 top.c:1932
 msgid "Show verbosity."
 msgstr ""
 
@@ -7906,40 +7906,40 @@ msgstr ""
 msgid "Use `set gnutarget auto' to specify automatic detection."
 msgstr ""
 
-#: corelow.c:59
+#: corelow.c:60
 msgid "Local core dump file"
 msgstr ""
 
-#: corelow.c:60
+#: corelow.c:61
 msgid ""
 "Use a core file as a target.\n"
 "Specify the filename of the core file."
 msgstr ""
 
-#: corelow.c:147 record-full.c:932
+#: corelow.c:148 record-full.c:932
 #, possible-c-format
 msgid "\"%s\": Can't find sections: %s"
 msgstr ""
 
-#: corelow.c:220
+#: corelow.c:221
 #, possible-c-format
 msgid "\"%s\": ambiguous core format, %d handlers match"
 msgstr ""
 
-#: corelow.c:224
+#: corelow.c:225
 #, possible-c-format
 msgid "\"%s\": no core file handler recognizes format"
 msgstr ""
 
-#: corelow.c:331
+#: corelow.c:332
 msgid "No core file now.\n"
 msgstr ""
 
-#: corelow.c:390
+#: corelow.c:391
 msgid "No core file specified.  (Use `detach' to stop debugging a core file.)"
 msgstr ""
 
-#: corelow.c:393
+#: corelow.c:394
 msgid "No core file specified."
 msgstr ""
 
@@ -9490,7 +9490,7 @@ msgstr ""
 
 #: dbxread.c:2720 exec.c:521 exec.c:787 gdbsupport/print-utils.c:77
 #: gdbsupport/print-utils.c:120 gdbsupport/print-utils.c:288 mdebugread.c:3597
-#: printcmd.c:1013 printcmd.c:2704 psymtab.c:695 psymtab.c:708 target.c:647
+#: printcmd.c:1013 printcmd.c:2706 psymtab.c:695 psymtab.c:708 target.c:647
 #: ui-out.c:782 utils.c:1574 valprint.c:1367
 msgid "failed internal consistency check"
 msgstr ""
@@ -13141,7 +13141,7 @@ msgstr ""
 msgid "Could not convert the expanded inferior cwd to wide-char."
 msgstr ""
 
-#: gdbserver/ax.c:837 printcmd.c:2585
+#: gdbserver/ax.c:837 printcmd.c:2587
 msgid "Wrong number of arguments for specified format-string"
 msgstr ""
 
@@ -13265,7 +13265,7 @@ msgstr ""
 msgid "Could not find current working directory: %s"
 msgstr ""
 
-#: gdbserver/server.c:3771 maint.c:1123 maint.c:1137
+#: gdbserver/server.c:3771 maint.c:1118 maint.c:1132
 #, c-format
 msgid "Selftests have been disabled for this build.\n"
 msgstr ""
@@ -14168,7 +14168,7 @@ msgstr ""
 msgid "vtable for '%s' @ %s (subobject @ %s):\n"
 msgstr ""
 
-#: gnu-v3-abi.c:917 printcmd.c:2040 stack.c:1581 value.c:2554
+#: gnu-v3-abi.c:917 printcmd.c:2042 stack.c:1581 value.c:2554
 #, possible-c-format
 msgid "<error: %s>"
 msgstr ""
@@ -14207,133 +14207,133 @@ msgid ""
 "Use the `run' command to run DJGPP programs."
 msgstr ""
 
-#: go32-nat.c:551
+#: go32-nat.c:552
 #, possible-c-format
 msgid "Invalid register no. %d in fetch_register."
 msgstr ""
 
-#: go32-nat.c:581
+#: go32-nat.c:582
 #, possible-c-format
 msgid "Invalid register no. %d in store_register."
 msgstr ""
 
-#: go32-nat.c:707 go32-nat.c:2102
+#: go32-nat.c:708 go32-nat.c:2103
 msgid "Cannot allocate redirection storage: not enough memory.\n"
 msgstr ""
 
-#: go32-nat.c:716
+#: go32-nat.c:717
 msgid "Syntax error in command line."
 msgstr ""
 
-#: go32-nat.c:725
+#: go32-nat.c:726
 msgid "Command line too long."
 msgstr ""
 
-#: go32-nat.c:748
+#: go32-nat.c:749
 #, possible-c-format
 msgid "Load failed for image %s"
 msgstr ""
 
-#: go32-nat.c:811
+#: go32-nat.c:812
 #, possible-c-format
 msgid "Invalid register %d in go32_set_dr.\n"
 msgstr ""
 
-#: go32-nat.c:852
+#: go32-nat.c:853
 #, possible-c-format
 msgid "Invalid register %d in go32_get_dr.\n"
 msgstr ""
 
-#: go32-nat.c:944
+#: go32-nat.c:945
 #, possible-c-format
 msgid "Cannot redirect standard handles for program: %s."
 msgstr ""
 
-#: go32-nat.c:978
+#: go32-nat.c:979
 #, possible-c-format
 msgid "Cannot redirect standard handles for debugger: %s."
 msgstr ""
 
-#: go32-nat.c:1702
+#: go32-nat.c:1703
 #, possible-c-format
 msgid "Invalid LDT entry 0x%03lx."
 msgstr ""
 
-#: go32-nat.c:1740
+#: go32-nat.c:1741
 #, possible-c-format
 msgid "Invalid LDT entry %#lx: outside valid limits [0..%#x]"
 msgstr ""
 
-#: go32-nat.c:1770
+#: go32-nat.c:1771
 #, possible-c-format
 msgid "Invalid GDT entry 0x%03lx: not an integral multiple of 8."
 msgstr ""
 
-#: go32-nat.c:1782
+#: go32-nat.c:1783
 #, possible-c-format
 msgid "Invalid GDT entry %#lx: outside valid limits [0..%#x]"
 msgstr ""
 
-#: go32-nat.c:1811
+#: go32-nat.c:1812
 #, possible-c-format
 msgid "Invalid (negative) IDT entry %ld."
 msgstr ""
 
-#: go32-nat.c:1823
+#: go32-nat.c:1824
 #, possible-c-format
 msgid "Invalid IDT entry %#lx: outside valid limits [0..%#x]"
 msgstr ""
 
-#: go32-nat.c:1981 go32-nat.c:2031
+#: go32-nat.c:1982 go32-nat.c:2032
 #, possible-c-format
 msgid "Entry %ld is outside valid limits [0..1023]."
 msgstr ""
 
-#: go32-nat.c:2058
+#: go32-nat.c:2059
 msgid "linear address"
 msgstr ""
 
-#: go32-nat.c:2108
+#: go32-nat.c:2109
 msgid "Print information specific to DJGPP (aka MS-DOS) debugging."
 msgstr ""
 
-#: go32-nat.c:2112
+#: go32-nat.c:2113
 msgid ""
 "Display information about the target system, including CPU, OS, DPMI, etc."
 msgstr ""
 
-#: go32-nat.c:2115
+#: go32-nat.c:2116
 msgid ""
 "Display entries in the LDT (Local Descriptor Table).\n"
 "Entry number (an expression) as an argument means display only that entry."
 msgstr ""
 
-#: go32-nat.c:2119
+#: go32-nat.c:2120
 msgid ""
 "Display entries in the GDT (Global Descriptor Table).\n"
 "Entry number (an expression) as an argument means display only that entry."
 msgstr ""
 
-#: go32-nat.c:2123
+#: go32-nat.c:2124
 msgid ""
 "Display entries in the IDT (Interrupt Descriptor Table).\n"
 "Entry number (an expression) as an argument means display only that entry."
 msgstr ""
 
-#: go32-nat.c:2127
+#: go32-nat.c:2128
 msgid ""
 "Display entries in the Page Directory.\n"
 "Entry number (an expression) as an argument means display only that entry."
 msgstr ""
 
-#: go32-nat.c:2131
+#: go32-nat.c:2132
 msgid ""
 "Display entries in Page Tables.\n"
 "Entry number (an expression) as an argument means display only entries\n"
 "from the Page Table pointed to by the specified Page Directory entry."
 msgstr ""
 
-#: go32-nat.c:2136
+#: go32-nat.c:2137
 msgid ""
 "Display a Page Table entry for a linear address.\n"
 "The address argument must be a linear address, after adding to\n"
@@ -17303,61 +17303,61 @@ msgstr ""
 msgid "Unable to read JIT code entry from remote memory!"
 msgstr ""
 
-#: jit.c:887
+#: jit.c:886
 msgid "Error opening JITed symbol file, ignoring it.\n"
 msgstr ""
 
-#: jit.c:895
+#: jit.c:894
 msgid "JITed symbol file is not an object file, ignoring it.\n"
 msgstr ""
 
-#: jit.c:903
+#: jit.c:902
 #, possible-c-format
 msgid ""
 "JITed object file architecture %s is not compatible with target architecture "
 "%s."
 msgstr ""
 
-#: jit.c:1096
+#: jit.c:1083
 #, possible-c-format
 msgid "Could not recognize DWARF regnum %d"
 msgstr ""
 
-#: jit.c:1189
+#: jit.c:1176
 msgid "Successfully unwound frame using JIT reader.\n"
 msgstr ""
 
-#: jit.c:1194
+#: jit.c:1181
 msgid "Could not unwind frame using JIT reader.\n"
 msgstr ""
 
-#: jit.c:1322
+#: jit.c:1309
 #, possible-c-format
 msgid "Unsupported JIT protocol version %ld in descriptor (expected 1)\n"
 msgstr ""
 
-#: jit.c:1414
+#: jit.c:1401
 #, possible-c-format
 msgid "Unable to find JITed code entry at address: %s\n"
 msgstr ""
 
-#: jit.c:1422
+#: jit.c:1409
 msgid "Unknown action_flag value in JIT descriptor!"
 msgstr ""
 
-#: jit.c:1471
+#: jit.c:1458
 msgid "Set JIT debugging."
 msgstr ""
 
-#: jit.c:1472
+#: jit.c:1459
 msgid "Show JIT debugging."
 msgstr ""
 
-#: jit.c:1473
+#: jit.c:1460
 msgid "When non-zero, JIT debugging is enabled."
 msgstr ""
 
-#: jit.c:1489
+#: jit.c:1476
 msgid ""
 "Load FILE as debug info reader and unwinder for JIT compiled code.\n"
 "Usage: jit-reader-load FILE\n"
@@ -17365,7 +17365,7 @@ msgid ""
 "JIT compiled code.  The file is loaded from "
 msgstr ""
 
-#: jit.c:1498
+#: jit.c:1485
 msgid ""
 "Unload the currently loaded JIT debug info reader.\n"
 "Usage: jit-reader-unload\n"
@@ -18676,7 +18676,7 @@ msgstr ""
 msgid "Loading debugging symbols from oso: %s\n"
 msgstr ""
 
-#: machoread.c:430 symfile.c:1761
+#: machoread.c:430 symfile.c:1758
 #, possible-c-format
 msgid "`%s': can't read symbols: %s."
 msgstr ""
@@ -18726,7 +18726,7 @@ msgstr ""
 msgid "Could not find specified archive member for OSO name \"%s\""
 msgstr ""
 
-#: machoread.c:711 symfile.c:1754
+#: machoread.c:711 symfile.c:1751
 #, possible-c-format
 msgid "`%s': can't open to read symbols: %s."
 msgstr ""
@@ -18969,7 +18969,7 @@ msgstr ""
 msgid "no definition for macro `%s' in scope to #undef at %s:%d"
 msgstr ""
 
-#: main.c:127 source.c:569
+#: main.c:127 source.c:568
 #, possible-c-format
 msgid "%s is not a directory."
 msgstr ""
@@ -19294,55 +19294,55 @@ msgstr ""
 msgid "Profiling support is not available on this system."
 msgstr ""
 
-#: maint.c:964
+#: maint.c:959
 msgid "command finished"
 msgstr ""
 
-#: maint.c:977
+#: maint.c:972
 #, possible-c-format
 msgid "Startup time: %.6f (cpu), %.6f (wall)\n"
 msgstr ""
 
-#: maint.c:978
+#: maint.c:973
 #, possible-c-format
 msgid "Command execution time: %.6f (cpu), %.6f (wall)\n"
 msgstr ""
 
-#: maint.c:992
+#: maint.c:987
 #, possible-c-format
 msgid "Space used: %ld (%s%ld during startup)\n"
 msgstr ""
 
-#: maint.c:993
+#: maint.c:988
 #, possible-c-format
 msgid "Space used: %ld (%s%ld for this command)\n"
 msgstr ""
 
-#: maint.c:1005
+#: maint.c:1000
 #, possible-c-format
 msgid "#symtabs: %d (+%d), #compunits: %d (+%d), #blocks: %d (+%d)\n"
 msgstr ""
 
-#: maint.c:1041
+#: maint.c:1036
 msgid "command started"
 msgstr ""
 
-#: maint.c:1095
+#: maint.c:1090
 msgid "Bad value for 'mt set per-command no'."
 msgstr ""
 
-#: maint.c:1148
+#: maint.c:1143
 msgid ""
 "Commands for use by GDB maintainers.\n"
 "Includes commands to dump specific internal GDB structures in\n"
 "a human readable form, to cause GDB to deliberately dump core, etc."
 msgstr ""
 
-#: maint.c:1157
+#: maint.c:1152
 msgid "Commands for showing internal info about the program being debugged."
 msgstr ""
 
-#: maint.c:1163
+#: maint.c:1158
 msgid ""
 "List the BFD sections of the exec and core files.\n"
 "Arguments may be any combination of:\n"
@@ -19355,23 +19355,23 @@ msgid ""
 "lists all sections from all object files, including shared libraries."
 msgstr ""
 
-#: maint.c:1176
+#: maint.c:1171
 msgid "Maintenance command for printing GDB internal state."
 msgstr ""
 
-#: maint.c:1180
+#: maint.c:1175
 msgid ""
 "Set GDB internal variables used by the GDB maintainer.\n"
 "Configure variables internal to GDB that aid in GDB's maintenance"
 msgstr ""
 
-#: maint.c:1187
+#: maint.c:1182
 msgid ""
 "Show GDB internal variables used by the GDB maintainer.\n"
 "Configure variables internal to GDB that aid in GDB's maintenance"
 msgstr ""
 
-#: maint.c:1194
+#: maint.c:1189
 msgid ""
 "Like \"with\", but works with \"maintenance set\" variables.\n"
 "Usage: maintenance with SETTING [VALUE] [-- COMMAND]\n"
@@ -19380,81 +19380,81 @@ msgid ""
 "subcommands."
 msgstr ""
 
-#: maint.c:1204
+#: maint.c:1199
 msgid ""
 "Get fatal error; make debugger dump its core.\n"
 "GDB sets its handling of SIGQUIT back to SIG_DFL and then sends\n"
 "itself a SIGQUIT signal."
 msgstr ""
 
-#: maint.c:1212
+#: maint.c:1207
 msgid ""
 "Give GDB an internal error.\n"
 "Cause GDB to behave as if an internal error was detected."
 msgstr ""
 
-#: maint.c:1218
+#: maint.c:1213
 msgid ""
 "Give GDB an internal warning.\n"
 "Cause GDB to behave as if an internal warning was reported."
 msgstr ""
 
-#: maint.c:1224
+#: maint.c:1219
 msgid ""
 "Give GDB a demangler warning.\n"
 "Cause GDB to behave as if a demangler warning was reported."
 msgstr ""
 
-#: maint.c:1229
+#: maint.c:1224
 msgid "This command has been moved to \"demangle\"."
 msgstr ""
 
-#: maint.c:1234
+#: maint.c:1229
 msgid "Per-command statistics settings."
 msgstr ""
 
 #. allow-unknown
-#: maint.c:1239
+#: maint.c:1234
 msgid "Show per-command statistics settings."
 msgstr ""
 
-#: maint.c:1245
+#: maint.c:1240
 msgid "Set whether to display per-command execution time."
 msgstr ""
 
-#: maint.c:1246
+#: maint.c:1241
 msgid "Show whether to display per-command execution time."
 msgstr ""
 
-#: maint.c:1248
+#: maint.c:1243
 msgid ""
 "If enabled, the execution time for each command will be\n"
 "displayed following the command's output."
 msgstr ""
 
-#: maint.c:1255
+#: maint.c:1250
 msgid "Set whether to display per-command space usage."
 msgstr ""
 
-#: maint.c:1256
+#: maint.c:1251
 msgid "Show whether to display per-command space usage."
 msgstr ""
 
-#: maint.c:1258
+#: maint.c:1253
 msgid ""
 "If enabled, the space usage for each command will be\n"
 "displayed following the command's output."
 msgstr ""
 
-#: maint.c:1265
+#: maint.c:1260
 msgid "Set whether to display per-command symtab statistics."
 msgstr ""
 
-#: maint.c:1266
+#: maint.c:1261
 msgid "Show whether to display per-command symtab statistics."
 msgstr ""
 
-#: maint.c:1268
+#: maint.c:1263
 msgid ""
 "If enabled, the basic symtab statistics for each command will be\n"
 "displayed following the command's output."
@@ -19462,7 +19462,7 @@ msgstr ""
 
 #. This is equivalent to "mt set per-command time on".
 #. Kept because some people are used to typing "mt time 1".
-#: maint.c:1276
+#: maint.c:1271
 msgid ""
 "Set the display of time usage.\n"
 "If nonzero, will cause the execution time for each command to be\n"
@@ -19471,39 +19471,39 @@ msgstr ""
 
 #. This is equivalent to "mt set per-command space on".
 #. Kept because some people are used to typing "mt space 1".
-#: maint.c:1284
+#: maint.c:1279
 msgid ""
 "Set the display of space usage.\n"
 "If nonzero, will cause the execution space for each command to be\n"
 "displayed, following the command's output."
 msgstr ""
 
-#: maint.c:1290
+#: maint.c:1285
 msgid ""
 "Print a type chain for a given symbol.\n"
 "For each node in a type chain, print the raw data for each member of\n"
 "the type structure, and the interpretation of the data."
 msgstr ""
 
-#: maint.c:1297
+#: maint.c:1292
 msgid "Print statistics about internal gdb state."
 msgstr ""
 
-#: maint.c:1301
+#: maint.c:1296
 msgid ""
 "Print the internal architecture configuration.\n"
 "Takes an optional file parameter."
 msgstr ""
 
-#: maint.c:1306
+#: maint.c:1301
 msgid "Commands for checking internal gdb state."
 msgstr ""
 
-#: maint.c:1313
+#: maint.c:1308
 msgid "Translate a section name and address to a symbol."
 msgstr ""
 
-#: maint.c:1316
+#: maint.c:1311
 msgid ""
 "Deprecate a command (for testing purposes).\n"
 "Usage: maintenance deprecate COMMANDNAME [\"REPLACEMENT\"]\n"
@@ -19512,7 +19512,7 @@ msgid ""
 "rather you should use the C function deprecate_cmd()."
 msgstr ""
 
-#: maint.c:1323
+#: maint.c:1318
 msgid ""
 "Undeprecate a command (for testing purposes).\n"
 "Usage: maintenance undeprecate COMMANDNAME\n"
@@ -19520,7 +19520,7 @@ msgid ""
 "You probably shouldn't use this."
 msgstr ""
 
-#: maint.c:1330
+#: maint.c:1325
 msgid ""
 "Run gdb's unit tests.\n"
 "Usage: maintenance selftest [FILTER]\n"
@@ -19528,31 +19528,31 @@ msgid ""
 "If a filter is given, only the tests with that value in their name will ran."
 msgstr ""
 
-#: maint.c:1338
+#: maint.c:1333
 msgid "List the registered selftests."
 msgstr ""
 
-#: maint.c:1341
+#: maint.c:1336
 msgid "Set internal profiling."
 msgstr ""
 
-#: maint.c:1342
+#: maint.c:1337
 msgid "Show internal profiling."
 msgstr ""
 
-#: maint.c:1343
+#: maint.c:1338
 msgid "When enabled GDB is profiled."
 msgstr ""
 
-#: maint.c:1352
+#: maint.c:1347
 msgid "Set the number of worker threads GDB can use."
 msgstr ""
 
-#: maint.c:1353
+#: maint.c:1348
 msgid "Show the number of worker threads GDB can use."
 msgstr ""
 
-#: maint.c:1354
+#: maint.c:1349
 msgid ""
 "GDB may use multiple threads to speed up certain CPU-intensive operations,\n"
 "such as demangling symbol names."
@@ -20756,25 +20756,25 @@ msgid ""
 "time"
 msgstr ""
 
-#: minsyms.c:939
+#: minsyms.c:938
 #, possible-c-format
 msgid ""
 "GDB cannot resolve STT_GNU_IFUNC symbol at address %s without the ELF "
 "support compiled in."
 msgstr ""
 
-#: minsyms.c:950
+#: minsyms.c:949
 #, possible-c-format
 msgid ""
 "GDB cannot resolve STT_GNU_IFUNC symbol \"%s\" without the ELF support "
 "compiled in."
 msgstr ""
 
-#: minsyms.c:961
+#: minsyms.c:960
 msgid "elf_gnu_ifunc_resolver_stop cannot be reached."
 msgstr ""
 
-#: minsyms.c:970
+#: minsyms.c:969
 msgid "elf_gnu_ifunc_resolver_return_stop cannot be reached."
 msgstr ""
 
@@ -20873,7 +20873,7 @@ msgstr ""
 msgid "mips_read_fp_register_double: bad access to odd-numbered FP register"
 msgstr ""
 
-#: mips-tdep.c:6596 riscv-tdep.c:959
+#: mips-tdep.c:6596 riscv-tdep.c:960
 msgid "Not a valid register for the current processor type"
 msgstr ""
 
@@ -21546,19 +21546,11 @@ msgstr ""
 msgid "Ask an Objective-C object to print itself."
 msgstr ""
 
-#: objfiles.c:425
+#: objfiles.c:409
 msgid "Entry point address is not known."
 msgstr ""
 
-#: objfiles.c:494
-msgid "unlink_objfile: objfile already unlinked"
-msgstr ""
-
-#: objfiles.c:518
-msgid "put_objfile_before: before objfile not in list"
-msgstr ""
-
-#: objfiles.c:1212
+#: objfiles.c:1154
 #, possible-c-format
 msgid ""
 "unexpected overlap between:\n"
@@ -21568,15 +21560,15 @@ msgid ""
 msgstr ""
 
 #. Nothing.
-#: objfiles.h:729
+#: objfiles.h:755
 msgid "sect_index_data not initialized"
 msgstr ""
 
-#: objfiles.h:735
+#: objfiles.h:761
 msgid "sect_index_rodata not initialized"
 msgstr ""
 
-#: objfiles.h:741
+#: objfiles.h:767
 msgid "sect_index_text not initialized"
 msgstr ""
 
@@ -21962,216 +21954,216 @@ msgstr ""
 msgid "Format letter \"%c\" is meaningless in \"%s\" command."
 msgstr ""
 
-#: printcmd.c:1310
+#: printcmd.c:1312
 msgid "Expression is not an assignment (and might have no effect)"
 msgstr ""
 
-#: printcmd.c:1326
+#: printcmd.c:1328
 msgid "address"
 msgstr ""
 
-#: printcmd.c:1350
+#: printcmd.c:1352
 msgid "mapped"
 msgstr ""
 
-#: printcmd.c:1350
+#: printcmd.c:1352
 msgid "unmapped"
 msgstr ""
 
-#: printcmd.c:1371
+#: printcmd.c:1373
 #, possible-c-format
 msgid "%s in load address range of %s overlay section %s of %s\n"
 msgstr ""
 
-#: printcmd.c:1375
+#: printcmd.c:1377
 #, possible-c-format
 msgid "%s in load address range of section %s of %s\n"
 msgstr ""
 
-#: printcmd.c:1380
+#: printcmd.c:1382
 #, possible-c-format
 msgid "%s in %s overlay section %s of %s\n"
 msgstr ""
 
-#: printcmd.c:1383
+#: printcmd.c:1385
 #, possible-c-format
 msgid "%s in section %s of %s\n"
 msgstr ""
 
-#: printcmd.c:1388
+#: printcmd.c:1390
 #, possible-c-format
 msgid "%s in load address range of %s overlay section %s\n"
 msgstr ""
 
-#: printcmd.c:1393
+#: printcmd.c:1395
 #, possible-c-format
 msgid "%s in load address range of section %s\n"
 msgstr ""
 
-#: printcmd.c:1397
+#: printcmd.c:1399
 #, possible-c-format
 msgid "%s in %s overlay section %s\n"
 msgstr ""
 
-#: printcmd.c:1400
+#: printcmd.c:1402
 #, possible-c-format
 msgid "%s in section %s\n"
 msgstr ""
 
-#: printcmd.c:1405
+#: printcmd.c:1407
 #, possible-c-format
 msgid "No symbol matches %s.\n"
 msgstr ""
 
-#: printcmd.c:1421
+#: printcmd.c:1423
 msgid "Argument required."
 msgstr ""
 
-#: printcmd.c:1529
+#: printcmd.c:1531
 #, possible-c-format
 msgid "an argument in register %s"
 msgstr ""
 
-#: printcmd.c:1532
+#: printcmd.c:1534
 #, possible-c-format
 msgid "a variable in register %s"
 msgstr ""
 
-#: printcmd.c:1537 printcmd.c:1614
+#: printcmd.c:1539 printcmd.c:1616
 msgid "static storage at address "
 msgstr ""
 
-#: printcmd.c:1544 printcmd.c:1583 printcmd.c:1620
+#: printcmd.c:1546 printcmd.c:1585 printcmd.c:1622
 msgid ""
 ",\n"
 " -- loaded at "
 msgstr ""
 
-#: printcmd.c:1547 printcmd.c:1586 printcmd.c:1624
+#: printcmd.c:1549 printcmd.c:1588 printcmd.c:1626
 #, possible-c-format
 msgid " in overlay section %s"
 msgstr ""
 
-#: printcmd.c:1555
+#: printcmd.c:1557
 #, possible-c-format
 msgid "address of an argument in register %s"
 msgstr ""
 
-#: printcmd.c:1560
+#: printcmd.c:1562
 #, possible-c-format
 msgid "an argument at offset %ld"
 msgstr ""
 
-#: printcmd.c:1564
+#: printcmd.c:1566
 #, possible-c-format
 msgid "a local variable at frame offset %ld"
 msgstr ""
 
-#: printcmd.c:1568
+#: printcmd.c:1570
 #, possible-c-format
 msgid "a reference argument at offset %ld"
 msgstr ""
 
-#: printcmd.c:1572
+#: printcmd.c:1574
 msgid "a typedef"
 msgstr ""
 
-#: printcmd.c:1576
+#: printcmd.c:1578
 msgid "a function at address "
 msgstr ""
 
-#: printcmd.c:1606
+#: printcmd.c:1608
 #, possible-c-format
 msgid ""
 "a thread-local variable at offset %s in the thread-local storage for `%s'"
 msgstr ""
 
-#: printcmd.c:1633
+#: printcmd.c:1635
 msgid "optimized out"
 msgstr ""
 
-#: printcmd.c:1637
+#: printcmd.c:1639
 msgid "of unknown (botched) type"
 msgstr ""
 
-#: printcmd.c:1696
+#: printcmd.c:1698
 msgid "starting display address"
 msgstr ""
 
-#: printcmd.c:1851
+#: printcmd.c:1853
 msgid "one or more display numbers"
 msgstr ""
 
-#: printcmd.c:1861
+#: printcmd.c:1863
 #, possible-c-format
 msgid "bad display number at or near '%s'"
 msgstr ""
 
-#: printcmd.c:1870 printcmd.c:2077
+#: printcmd.c:1872 printcmd.c:2079
 #, possible-c-format
 msgid "No display number %d.\n"
 msgstr ""
 
-#: printcmd.c:1892
+#: printcmd.c:1894
 msgid "Delete all auto-display expressions? "
 msgstr ""
 
-#: printcmd.c:1940
+#: printcmd.c:1942
 #, possible-c-format
 msgid "Unable to display \"%s\": %s"
 msgstr ""
 
-#: printcmd.c:2004
+#: printcmd.c:2006
 #, possible-c-format
 msgid "%p[<error: %s>%p]\n"
 msgstr ""
 
-#: printcmd.c:2087
+#: printcmd.c:2089
 #, possible-c-format
 msgid "Disabling display %d to avoid infinite recursion.\n"
 msgstr ""
 
-#: printcmd.c:2100
+#: printcmd.c:2102
 msgid "There are no auto-display expressions now.\n"
 msgstr ""
 
-#: printcmd.c:2102
+#: printcmd.c:2104
 msgid ""
 "Auto-display expressions now in effect:\n"
 "Num Enb Expression\n"
 msgstr ""
 
-#: printcmd.c:2115
+#: printcmd.c:2117
 msgid " (cannot be evaluated in the current context)"
 msgstr ""
 
-#: printcmd.c:2537
+#: printcmd.c:2539
 msgid "format-control string and values to print"
 msgstr ""
 
-#: printcmd.c:2612
+#: printcmd.c:2614
 #, possible-c-format
 msgid "expected wchar_t argument for %%lc"
 msgstr ""
 
-#: printcmd.c:2644
+#: printcmd.c:2646
 msgid "long long not supported in printf"
 msgstr ""
 
-#: printcmd.c:2748
+#: printcmd.c:2750
 msgid ""
 "Describe where symbol SYM is stored.\n"
 "Usage: info address SYM"
 msgstr ""
 
-#: printcmd.c:2751
+#: printcmd.c:2753
 msgid ""
 "Describe what symbol is at location ADDR.\n"
 "Usage: info symbol ADDR\n"
 "Only for symbols with fixed locations (global or static scope)."
 msgstr ""
 
-#: printcmd.c:2756
+#: printcmd.c:2758
 msgid ""
 "Examine memory: x/FMT ADDRESS.\n"
 "ADDRESS is an expression for the memory address to examine.\n"
@@ -22189,13 +22181,13 @@ msgid ""
 "with this command or \"print\"."
 msgstr ""
 
-#: printcmd.c:2771
+#: printcmd.c:2773
 msgid ""
 "Expressions to display when program stops, with code numbers.\n"
 "Usage: info display"
 msgstr ""
 
-#: printcmd.c:2775
+#: printcmd.c:2777
 msgid ""
 "Cancel some expressions to be displayed when program stops.\n"
 "Usage: undisplay [NUM]...\n"
@@ -22205,7 +22197,7 @@ msgid ""
 "Do \"info display\" to see current list of code numbers."
 msgstr ""
 
-#: printcmd.c:2784
+#: printcmd.c:2786
 msgid ""
 "Print value of expression EXP each time the program stops.\n"
 "Usage: display[/FMT] EXP\n"
@@ -22218,7 +22210,7 @@ msgid ""
 "Use \"undisplay\" to cancel display requests previously made."
 msgstr ""
 
-#: printcmd.c:2794
+#: printcmd.c:2796
 msgid ""
 "Enable some expressions to be displayed when program stops.\n"
 "Usage: enable display [NUM]...\n"
@@ -22227,7 +22219,7 @@ msgid ""
 "Do \"info display\" to see current list of code numbers."
 msgstr ""
 
-#: printcmd.c:2801
+#: printcmd.c:2803
 msgid ""
 "Disable some expressions to be displayed when program stops.\n"
 "Usage: disable display [NUM]...\n"
@@ -22236,7 +22228,7 @@ msgid ""
 "Do \"info display\" to see current list of code numbers."
 msgstr ""
 
-#: printcmd.c:2808
+#: printcmd.c:2810
 msgid ""
 "Cancel some expressions to be displayed when program stops.\n"
 "Usage: delete display [NUM]...\n"
@@ -22245,7 +22237,7 @@ msgid ""
 "Do \"info display\" to see current list of code numbers."
 msgstr ""
 
-#: printcmd.c:2815
+#: printcmd.c:2817
 #, possible-c-format
 msgid ""
 "Formatted printing, like the C \"printf\" function.\n"
@@ -22253,14 +22245,14 @@ msgid ""
 "This supports most C printf format specifications, like %s, %d, etc."
 msgstr ""
 
-#: printcmd.c:2820
+#: printcmd.c:2822
 msgid ""
 "Like \"print\" but don't put in value history and don't print newline.\n"
 "Usage: output EXP\n"
 "This is useful in user-defined commands."
 msgstr ""
 
-#: printcmd.c:2825
+#: printcmd.c:2827
 msgid ""
 "Evaluate expression EXP and assign result to variable VAR.\n"
 "Usage: set VAR = EXP\n"
@@ -22275,7 +22267,7 @@ msgid ""
 "You can see these environment settings with the \"show\" command."
 msgstr ""
 
-#: printcmd.c:2839
+#: printcmd.c:2841
 msgid ""
 "Evaluate expression EXP and assign result to variable VAR.\n"
 "Usage: assign VAR = EXP\n"
@@ -22291,7 +22283,7 @@ msgid ""
 msgstr ""
 
 #. "call" is the same as "set", but handy for dbx users to call fns.
-#: printcmd.c:2852
+#: printcmd.c:2854
 msgid ""
 "Call a function in the program.\n"
 "Usage: call EXP\n"
@@ -22300,7 +22292,7 @@ msgid ""
 "history, if it is not void."
 msgstr ""
 
-#: printcmd.c:2860
+#: printcmd.c:2862
 msgid ""
 "Evaluate expression EXP and assign result to variable VAR.\n"
 "Usage: set variable VAR = EXP\n"
@@ -22312,7 +22304,7 @@ msgid ""
 "This may usually be abbreviated to simply \"set\"."
 msgstr ""
 
-#: printcmd.c:2874
+#: printcmd.c:2876
 msgid ""
 "Print value of expression EXP.\n"
 "Usage: print [[OPTION]... --] [/FMT] [EXP]\n"
@@ -22347,15 +22339,15 @@ msgid ""
 "but no count or size letter (see \"x\" command)."
 msgstr ""
 
-#: printcmd.c:2913
+#: printcmd.c:2915
 msgid "Set the largest offset that will be printed in <SYMBOL+1234> form."
 msgstr ""
 
-#: printcmd.c:2914
+#: printcmd.c:2916
 msgid "Show the largest offset that will be printed in <SYMBOL+1234> form."
 msgstr ""
 
-#: printcmd.c:2915
+#: printcmd.c:2917
 msgid ""
 "Tell GDB to only display the symbolic form of an address if the\n"
 "offset between the closest earlier symbol and the address is less than\n"
@@ -22365,15 +22357,15 @@ msgid ""
 "it.  Zero is equivalent to \"unlimited\"."
 msgstr ""
 
-#: printcmd.c:2925
+#: printcmd.c:2927
 msgid "Set printing of source filename and line number with <SYMBOL>."
 msgstr ""
 
-#: printcmd.c:2926
+#: printcmd.c:2928
 msgid "Show printing of source filename and line number with <SYMBOL>."
 msgstr ""
 
-#: printcmd.c:2932
+#: printcmd.c:2934
 msgid ""
 "Construct a GDB command and then evaluate it.\n"
 "Usage: eval \"format string\", ARG1, ARG2, ARG3, ..., ARGN\n"
@@ -22705,12 +22697,12 @@ msgstr ""
 msgid "Could not recognize version of Intel Compiler in: \"%s\""
 msgstr ""
 
-#: progspace.c:335
+#: progspace.c:391
 #, possible-c-format
 msgid "program space ID %d not known."
 msgstr ""
 
-#: progspace.c:415
+#: progspace.c:471
 msgid "Info about currently known program spaces."
 msgstr ""
 
@@ -26140,133 +26132,133 @@ msgstr ""
 msgid "Unable to fetch %%tp"
 msgstr ""
 
-#: riscv-tdep.c:277
+#: riscv-tdep.c:278
 #, possible-c-format
 msgid "Debugger's use of compressed breakpoints is set to %s.\n"
 msgstr ""
 
-#: riscv-tdep.c:300
+#: riscv-tdep.c:301
 msgid "\"set riscv\" must be followed by an appropriate subcommand.\n"
 msgstr ""
 
-#: riscv-tdep.c:323
+#: riscv-tdep.c:324
 msgid "\"set debug riscv\" must be followed by an appropriate subcommand.\n"
 msgstr ""
 
-#: riscv-tdep.c:335
+#: riscv-tdep.c:336
 #, possible-c-format
 msgid "RiscV debug variable `%s' is set to: %s\n"
 msgstr ""
 
-#: riscv-tdep.c:485
+#: riscv-tdep.c:486
 msgid "unhandled breakpoint kind"
 msgstr ""
 
-#: riscv-tdep.c:2210 riscv-tdep.c:2220 riscv-tdep.c:2235 riscv-tdep.c:2242
-#: riscv-tdep.c:2262 riscv-tdep.c:2268
+#: riscv-tdep.c:2211 riscv-tdep.c:2221 riscv-tdep.c:2236 riscv-tdep.c:2243
+#: riscv-tdep.c:2263 riscv-tdep.c:2269
 msgid "failed during argument setup"
 msgstr ""
 
 #. The second location should never be a reference, any
 #. argument being passed by reference just places its address
 #. in the first location and is done.
-#: riscv-tdep.c:2384 riscv-tdep.c:2607 riscv-tdep.c:2748 riscv-tdep.c:2771
-#: riscv-tdep.c:2794
+#: riscv-tdep.c:2385 riscv-tdep.c:2608 riscv-tdep.c:2749 riscv-tdep.c:2772
+#: riscv-tdep.c:2795
 msgid "invalid argument location"
 msgstr ""
 
-#: riscv-tdep.c:2421 riscv-tdep.c:2568
+#: riscv-tdep.c:2422 riscv-tdep.c:2569
 msgid "unknown argument location type"
 msgstr ""
 
-#: riscv-tdep.c:2946
+#: riscv-tdep.c:2947
 #, possible-c-format
 msgid "unknown ELF header class %d"
 msgstr ""
 
-#: riscv-tdep.c:3229
+#: riscv-tdep.c:3230
 #, possible-c-format
 msgid "bfd requires xlen %d, but target has xlen %d"
 msgstr ""
 
-#: riscv-tdep.c:3235
+#: riscv-tdep.c:3236
 #, possible-c-format
 msgid "bfd requires flen %d, but target has flen %d"
 msgstr ""
 
-#: riscv-tdep.c:3522 riscv-tdep.c:3527
+#: riscv-tdep.c:3525 riscv-tdep.c:3530
 msgid "RISC-V specific debug commands."
 msgstr ""
 
-#: riscv-tdep.c:3532
+#: riscv-tdep.c:3535
 msgid "Set riscv breakpoint debugging."
 msgstr ""
 
-#: riscv-tdep.c:3533
+#: riscv-tdep.c:3536
 msgid "Show riscv breakpoint debugging."
 msgstr ""
 
-#: riscv-tdep.c:3534
+#: riscv-tdep.c:3537
 msgid ""
 "When non-zero, print debugging information for the riscv specific parts\n"
 "of the breakpoint mechanism."
 msgstr ""
 
-#: riscv-tdep.c:3542
+#: riscv-tdep.c:3545
 msgid "Set riscv inferior call debugging."
 msgstr ""
 
-#: riscv-tdep.c:3543
+#: riscv-tdep.c:3546
 msgid "Show riscv inferior call debugging."
 msgstr ""
 
-#: riscv-tdep.c:3544
+#: riscv-tdep.c:3547
 msgid ""
 "When non-zero, print debugging information for the riscv specific parts\n"
 "of the inferior call mechanism."
 msgstr ""
 
-#: riscv-tdep.c:3552
+#: riscv-tdep.c:3555
 msgid "Set riscv stack unwinding debugging."
 msgstr ""
 
-#: riscv-tdep.c:3553
+#: riscv-tdep.c:3556
 msgid "Show riscv stack unwinding debugging."
 msgstr ""
 
-#: riscv-tdep.c:3554
+#: riscv-tdep.c:3557
 msgid ""
 "When non-zero, print debugging information for the riscv specific parts\n"
 "of the stack unwinding mechanism."
 msgstr ""
 
-#: riscv-tdep.c:3562
+#: riscv-tdep.c:3565
 msgid "Set riscv gdbarch initialisation debugging."
 msgstr ""
 
-#: riscv-tdep.c:3563
+#: riscv-tdep.c:3566
 msgid "Show riscv gdbarch initialisation debugging."
 msgstr ""
 
-#: riscv-tdep.c:3564
+#: riscv-tdep.c:3567
 msgid ""
 "When non-zero, print debugging information for the riscv gdbarch\n"
 "initialisation process."
 msgstr ""
 
-#: riscv-tdep.c:3573 riscv-tdep.c:3577
+#: riscv-tdep.c:3576 riscv-tdep.c:3580
 msgid "RISC-V specific commands."
 msgstr ""
 
-#: riscv-tdep.c:3584
+#: riscv-tdep.c:3587
 msgid "Set debugger's use of compressed breakpoints."
 msgstr ""
 
-#: riscv-tdep.c:3585
+#: riscv-tdep.c:3588
 msgid "\tShow debugger's use of compressed breakpoints."
 msgstr ""
 
-#: riscv-tdep.c:3586
+#: riscv-tdep.c:3589
 msgid ""
 "Debugging compressed code requires compressed breakpoints to be used. If\n"
 "left to 'auto' then gdb will use them if the existing instruction is a\n"
@@ -27745,118 +27737,118 @@ msgstr ""
 msgid "Reinitialize source path to empty? "
 msgstr ""
 
-#: source.c:650
+#: source.c:649
 msgid "No current source file.\n"
 msgstr ""
 
-#: source.c:655
+#: source.c:654
 #, possible-c-format
 msgid "Current source file is %s\n"
 msgstr ""
 
-#: source.c:657
+#: source.c:656
 #, possible-c-format
 msgid "Compilation directory is %s\n"
 msgstr ""
 
-#: source.c:659
+#: source.c:658
 #, possible-c-format
 msgid "Located in %s\n"
 msgstr ""
 
-#: source.c:662
+#: source.c:661
 #, possible-c-format
 msgid "Contains %d line%s.\n"
 msgstr ""
 
-#: source.c:665
+#: source.c:664
 #, possible-c-format
 msgid "Source language is %s.\n"
 msgstr ""
 
-#: source.c:666
+#: source.c:665
 #, possible-c-format
 msgid "Producer is %s.\n"
 msgstr ""
 
-#: source.c:669
+#: source.c:668
 #, possible-c-format
 msgid "Compiled with %s debugging format.\n"
 msgstr ""
 
-#: source.c:671
+#: source.c:670
 #, possible-c-format
 msgid "%s preprocessor macro info.\n"
 msgstr ""
 
-#: source.c:1187
+#: source.c:1186
 msgid "invalid filename_display_string"
 msgstr ""
 
-#: source.c:1292
+#: source.c:1291
 #, possible-c-format
 msgid "Line number %d out of range; %s has %d lines."
 msgstr ""
 
-#: source.c:1431
+#: source.c:1430
 msgid "No line number information available"
 msgstr ""
 
 #. Is there any case in which we get here, and have an address
 #. which the user would want to see?  If we have debugging symbols
 #. and no line numbers?
-#: source.c:1491
+#: source.c:1490
 #, possible-c-format
 msgid "Line number %d is out of range for \"%s\".\n"
 msgstr ""
 
-#: source.c:1526
+#: source.c:1525
 msgid "Expression not found"
 msgstr ""
 
-#: source.c:1586
+#: source.c:1585
 msgid "Expression not found\n"
 msgstr ""
 
-#: source.c:1703
+#: source.c:1702
 msgid "Too many arguments in command"
 msgstr ""
 
-#: source.c:1712
+#: source.c:1711
 #, possible-c-format
 msgid "Source path substitution rule matching `%s':\n"
 msgstr ""
 
-#: source.c:1714
+#: source.c:1713
 msgid "List of all source path substitution rules:\n"
 msgstr ""
 
-#: source.c:1737 source.c:1788
+#: source.c:1736 source.c:1787
 msgid "Incorrect usage, too many arguments in command"
 msgstr ""
 
-#: source.c:1747
+#: source.c:1746
 msgid "Delete all source path substitution rules? "
 msgstr ""
 
-#: source.c:1748
+#: source.c:1747
 msgid "Canceled"
 msgstr ""
 
-#: source.c:1770
+#: source.c:1769
 #, possible-c-format
 msgid "No substitution rule defined for `%s'"
 msgstr ""
 
-#: source.c:1785
+#: source.c:1784
 msgid "Incorrect usage, too few arguments in command"
 msgstr ""
 
-#: source.c:1791
+#: source.c:1790
 msgid "First argument must be at least one character long"
 msgstr ""
 
-#: source.c:1852
+#: source.c:1851
 msgid ""
 "Add directory DIR to beginning of search path for source files.\n"
 "Forget cached info on source file locations and line positions.\n"
@@ -27865,15 +27857,15 @@ msgid ""
 "With no argument, reset the search path to $cdir:$cwd, the default."
 msgstr ""
 
-#: source.c:1868
+#: source.c:1867
 msgid "Set the search path for finding source files."
 msgstr ""
 
-#: source.c:1870
+#: source.c:1869
 msgid "Show the search path for finding source files."
 msgstr ""
 
-#: source.c:1872
+#: source.c:1871
 msgid ""
 "$cwd in the path means the current working directory.\n"
 "$cdir in the path means the compilation directory of the source file.\n"
@@ -27882,11 +27874,11 @@ msgid ""
 "Setting the value to an empty string sets it to $cdir:$cwd, the default."
 msgstr ""
 
-#: source.c:1883
+#: source.c:1882
 msgid "Information about the current source file."
 msgstr ""
 
-#: source.c:1885
+#: source.c:1884
 msgid ""
 "Core addresses of the code for a source line.\n"
 "Line can be specified as\n"
@@ -27901,35 +27893,35 @@ msgid ""
 "The address is also stored as the value of \"$_\"."
 msgstr ""
 
-#: source.c:1897
+#: source.c:1896
 msgid ""
 "Search for regular expression (see regex(3)) from last line listed.\n"
 "The matching line number is also stored as the value of \"$_\"."
 msgstr ""
 
-#: source.c:1903
+#: source.c:1902
 msgid ""
 "Search backward for regular expression (see regex(3)) from last line "
 "listed.\n"
 "The matching line number is also stored as the value of \"$_\"."
 msgstr ""
 
-#: source.c:1908
+#: source.c:1907
 msgid "Set number of source lines gdb will list by default."
 msgstr ""
 
-#: source.c:1909
+#: source.c:1908
 msgid "Show number of source lines gdb will list by default."
 msgstr ""
 
-#: source.c:1910
+#: source.c:1909
 msgid ""
 "Use this to choose how many source lines the \"list\" displays (unless\n"
 "the \"list\" argument explicitly specifies some other number).\n"
 "A value of \"unlimited\", or zero, means there's no limit."
 msgstr ""
 
-#: source.c:1919
+#: source.c:1918
 msgid ""
 "Add a substitution rule to rewrite the source directories.\n"
 "Usage: set substitute-path FROM TO\n"
@@ -27939,7 +27931,7 @@ msgid ""
 "is replaced by the new one."
 msgstr ""
 
-#: source.c:1929
+#: source.c:1928
 msgid ""
 "Delete one or all substitution rules rewriting the source directories.\n"
 "Usage: unset substitute-path [FROM]\n"
@@ -27948,7 +27940,7 @@ msgid ""
 "If the debugger cannot find a rule for FROM, it will display a warning."
 msgstr ""
 
-#: source.c:1938
+#: source.c:1937
 msgid ""
 "Show one or all substitution rules rewriting the source directories.\n"
 "Usage: show substitute-path [FROM]\n"
@@ -27956,15 +27948,15 @@ msgid ""
 "is not specified, print all substitution rules."
 msgstr ""
 
-#: source.c:1947
+#: source.c:1946
 msgid "Set how to display filenames."
 msgstr ""
 
-#: source.c:1948
+#: source.c:1947
 msgid "Show how to display filenames."
 msgstr ""
 
-#: source.c:1949
+#: source.c:1948
 msgid ""
 "filename-display can be:\n"
 "  basename - display only basename of a filename\n"
@@ -28841,136 +28833,136 @@ msgstr ""
 msgid "Load new symbol table from \"%s\"? "
 msgstr ""
 
-#: symfile.c:1109
+#: symfile.c:1106
 #, possible-c-format
 msgid "Reading symbols from %ps...\n"
 msgstr ""
 
-#: symfile.c:1122
+#: symfile.c:1119
 #, possible-c-format
 msgid "Expanding full symbols from %ps...\n"
 msgstr ""
 
-#: symfile.c:1135
+#: symfile.c:1132
 #, possible-c-format
 msgid "(No debugging symbols found in %ps)\n"
 msgstr ""
 
-#: symfile.c:1248
+#: symfile.c:1245
 #, possible-c-format
 msgid "Discard symbol table from `%s'? "
 msgstr ""
 
-#: symfile.c:1250
+#: symfile.c:1247
 msgid "Discard symbol table? "
 msgstr ""
 
-#: symfile.c:1261
+#: symfile.c:1258
 msgid "No symbol file now.\n"
 msgstr ""
 
-#: symfile.c:1321
+#: symfile.c:1318
 msgid " no, same file as the objfile.\n"
 msgstr ""
 
-#: symfile.c:1335 symfile.c:1353
+#: symfile.c:1332 symfile.c:1350
 msgid " no, error computing CRC.\n"
 msgstr ""
 
-#: symfile.c:1360
+#: symfile.c:1357
 #, possible-c-format
 msgid ""
 "the debug information found in \"%s\" does not match \"%s\" (CRC mismatch).\n"
 msgstr ""
 
-#: symfile.c:1365
+#: symfile.c:1362
 msgid " no, CRC doesn't match.\n"
 msgstr ""
 
-#: symfile.c:1382
+#: symfile.c:1379
 #, possible-c-format
 msgid ""
 "The directory where separate debug symbols are searched for is \"%s\".\n"
 msgstr ""
 
-#: symfile.c:1406
+#: symfile.c:1403
 #, possible-c-format
 msgid ""
 "\n"
 "Looking for separate debug info (debug link) for %s\n"
 msgstr ""
 
-#: symfile.c:1593
+#: symfile.c:1590
 msgid "-readnow and -readnever cannot be used simultaneously"
 msgstr ""
 
-#: symfile.c:1640 symfile.c:1657 symfile.c:2269 symfile.c:2299
+#: symfile.c:1637 symfile.c:1654 symfile.c:2266 symfile.c:2296
 #, possible-c-format
 msgid "Unrecognized argument \"%s\""
 msgstr ""
 
-#: symfile.c:1650 symfile.c:2291
+#: symfile.c:1647 symfile.c:2288
 msgid "Missing argument to -o"
 msgstr ""
 
-#: symfile.c:1661
+#: symfile.c:1658
 msgid "no symbol file name was specified"
 msgstr ""
 
-#: symfile.c:1812
+#: symfile.c:1809
 #, possible-c-format
 msgid "I'm sorry, Dave, I can't do that.  Symbol format `%s' unknown."
 msgstr ""
 
-#: symfile.c:1971
+#: symfile.c:1968
 #, possible-c-format
 msgid "Download verify read failed at %s"
 msgstr ""
 
-#: symfile.c:1974
+#: symfile.c:1971
 #, possible-c-format
 msgid "Download verify compare failed at %s"
 msgstr ""
 
-#: symfile.c:1986
+#: symfile.c:1983
 msgid "Canceled the download"
 msgstr ""
 
-#: symfile.c:2038
+#: symfile.c:2035
 msgid "file to load"
 msgstr ""
 
-#: symfile.c:2053
+#: symfile.c:2050
 #, possible-c-format
 msgid "Invalid download offset:%s."
 msgstr ""
 
-#: symfile.c:2056
+#: symfile.c:2053
 msgid "Too many parameters."
 msgstr ""
 
-#: symfile.c:2066
+#: symfile.c:2063
 #, possible-c-format
 msgid "\"%s\" is not an object file: %s"
 msgstr ""
 
-#: symfile.c:2081
+#: symfile.c:2078
 msgid "Load failed"
 msgstr ""
 
-#: symfile.c:2246
+#: symfile.c:2243
 msgid "add-symbol-file takes a file name and an address"
 msgstr ""
 
-#: symfile.c:2278
+#: symfile.c:2275
 msgid "Missing section name after \"-s\""
 msgstr ""
 
-#: symfile.c:2280
+#: symfile.c:2277
 msgid "Missing section address after \"-s\""
 msgstr ""
 
-#: symfile.c:2303
+#: symfile.c:2300
 msgid "You must provide a filename to be loaded."
 msgstr ""
 
@@ -28979,157 +28971,157 @@ msgstr ""
 #. functions.  We have to split this up into separate print
 #. statements because hex_string returns a local static
 #. string.
-#: symfile.c:2313
+#: symfile.c:2310
 #, possible-c-format
 msgid "add symbol table from file \"%s\""
 msgstr ""
 
-#: symfile.c:2326
+#: symfile.c:2323
 msgid " at\n"
 msgstr ""
 
-#: symfile.c:2346
+#: symfile.c:2343
 #, possible-c-format
 msgid "%s offset by %s\n"
 msgstr ""
 
-#: symfile.c:2348
+#: symfile.c:2345
 msgid " with all sections"
 msgstr ""
 
-#: symfile.c:2349
+#: symfile.c:2346
 msgid "with other sections"
 msgstr ""
 
-#: symfile.c:2360
+#: symfile.c:2357
 #, possible-c-format
 msgid "newly-added symbol file \"%s\" does not provide any symbols"
 msgstr ""
 
-#: symfile.c:2385
+#: symfile.c:2382
 msgid "remove-symbol-file: no symbol file provided"
 msgstr ""
 
-#: symfile.c:2395
+#: symfile.c:2392
 msgid "Missing address argument"
 msgstr ""
 
-#: symfile.c:2398 symfile.c:2419
+#: symfile.c:2395 symfile.c:2416
 #, possible-c-format
 msgid "Junk after %s"
 msgstr ""
 
-#: symfile.c:2437
+#: symfile.c:2434
 msgid "No symbol file found"
 msgstr ""
 
-#: symfile.c:2440
+#: symfile.c:2437
 #, possible-c-format
 msgid "Remove symbol table from file \"%s\"? "
 msgstr ""
 
 #. FIXME, should use print_sys_errmsg but it's not filtered.
-#: symfile.c:2478
+#: symfile.c:2475
 #, possible-c-format
 msgid "`%s' has disappeared; keeping its symbols.\n"
 msgstr ""
 
-#: symfile.c:2488
+#: symfile.c:2485
 #, possible-c-format
 msgid "`%s' has changed; re-reading symbols.\n"
 msgstr ""
 
-#: symfile.c:2552
+#: symfile.c:2549
 #, possible-c-format
 msgid "Can't open %s to read symbols."
 msgstr ""
 
-#: symfile.c:2559
+#: symfile.c:2556
 #, possible-c-format
 msgid "Can't read symbols from %s: %s."
 msgstr ""
 
-#: symfile.c:2644
+#: symfile.c:2641
 msgid "(no debugging symbols found)\n"
 msgstr ""
 
-#: symfile.c:2713
+#: symfile.c:2710
 #, possible-c-format
 msgid "Mapping between filename extension and source language is \"%s\".\n"
 msgstr ""
 
-#: symfile.c:2727
+#: symfile.c:2724
 #, possible-c-format
 msgid "'%s': Filename extension must begin with '.'"
 msgstr ""
 
-#: symfile.c:2734 symfile.c:2745
+#: symfile.c:2731 symfile.c:2742
 #, possible-c-format
 msgid "'%s': two arguments required -- filename extension and language"
 msgstr ""
 
-#: symfile.c:2780
+#: symfile.c:2777
 msgid "Filename extensions and the languages they represent:"
 msgstr ""
 
-#: symfile.c:3262
+#: symfile.c:3259
 msgid "No sections are mapped.\n"
 msgstr ""
 
-#: symfile.c:3274 symfile.c:3320
+#: symfile.c:3271 symfile.c:3317
 msgid ""
 "Overlay debugging not enabled.  Use either the 'overlay auto' or\n"
 "the 'overlay manual' command."
 msgstr ""
 
-#: symfile.c:3279 symfile.c:3325
+#: symfile.c:3276 symfile.c:3322
 msgid "Argument required: name of an overlay section"
 msgstr ""
 
-#: symfile.c:3301
+#: symfile.c:3298
 #, possible-c-format
 msgid "Note: section %s unmapped by overlap\n"
 msgstr ""
 
-#: symfile.c:3307 symfile.c:3337
+#: symfile.c:3304 symfile.c:3334
 #, possible-c-format
 msgid "No overlay section called %s"
 msgstr ""
 
-#: symfile.c:3333
+#: symfile.c:3330
 #, possible-c-format
 msgid "Section %s is not mapped"
 msgstr ""
 
-#: symfile.c:3350
+#: symfile.c:3347
 msgid "Automatic overlay debugging enabled."
 msgstr ""
 
-#: symfile.c:3363
+#: symfile.c:3360
 msgid "Overlay debugging enabled."
 msgstr ""
 
-#: symfile.c:3376
+#: symfile.c:3373
 msgid "Overlay debugging disabled."
 msgstr ""
 
-#: symfile.c:3387
+#: symfile.c:3384
 msgid "This target does not know how to read its overlay state."
 msgstr ""
 
-#: symfile.c:3490
+#: symfile.c:3487
 msgid ""
 "Error reading inferior's overlay table: couldn't find `_novlys' variable\n"
 "in inferior.  Use `overlay manual' mode."
 msgstr ""
 
-#: symfile.c:3499 symfile.c:3579
+#: symfile.c:3496 symfile.c:3576
 msgid ""
 "Error reading inferior's overlay table: couldn't find `_ovly_table' array\n"
 "in inferior.  Use `overlay manual' mode."
 msgstr ""
 
-#: symfile.c:3914
+#: symfile.c:3911
 msgid ""
 "Load symbol table from executable file FILE.\n"
 "Usage: symbol-file [-readnow | -readnever] [-o OFF] FILE\n"
@@ -29138,7 +29130,7 @@ msgid ""
 "to execute.\n"
 msgstr ""
 
-#: symfile.c:3922
+#: symfile.c:3919
 msgid ""
 "Load symbols from FILE, assuming FILE has been dynamically loaded.\n"
 "Usage: add-symbol-file FILE [-readnow | -readnever] [-o OFF] [ADDR] [-s SECT-"
@@ -29151,7 +29143,7 @@ msgid ""
 "of all sections for which no other address was specified.\n"
 msgstr ""
 
-#: symfile.c:3937
+#: symfile.c:3934
 msgid ""
 "Remove a symbol file added via the add-symbol-file command.\n"
 "Usage: remove-symbol-file FILENAME\n"
@@ -29160,7 +29152,7 @@ msgid ""
 "that lies within the boundaries of this symbol file in memory."
 msgstr ""
 
-#: symfile.c:3945
+#: symfile.c:3942
 msgid ""
 "Dynamically load FILE into the running program.\n"
 "FILE symbols are recorded for access from GDB.\n"
@@ -29170,77 +29162,77 @@ msgid ""
 "on its own."
 msgstr ""
 
-#: symfile.c:3955
+#: symfile.c:3952
 msgid "Commands for debugging overlays."
 msgstr ""
 
-#: symfile.c:3962
+#: symfile.c:3959
 msgid "Assert that an overlay section is mapped."
 msgstr ""
 
-#: symfile.c:3965
+#: symfile.c:3962
 msgid "Assert that an overlay section is unmapped."
 msgstr ""
 
-#: symfile.c:3968
+#: symfile.c:3965
 msgid "List mappings of overlay sections."
 msgstr ""
 
-#: symfile.c:3971
+#: symfile.c:3968
 msgid "Enable overlay debugging."
 msgstr ""
 
-#: symfile.c:3973
+#: symfile.c:3970
 msgid "Disable overlay debugging."
 msgstr ""
 
-#: symfile.c:3975
+#: symfile.c:3972
 msgid "Enable automatic overlay debugging."
 msgstr ""
 
-#: symfile.c:3977
+#: symfile.c:3974
 msgid "Read the overlay mapping state from the target."
 msgstr ""
 
-#: symfile.c:3981
+#: symfile.c:3978
 msgid "Set mapping between filename extension and source language."
 msgstr ""
 
-#: symfile.c:3982
+#: symfile.c:3979
 msgid "Show mapping between filename extension and source language."
 msgstr ""
 
-#: symfile.c:3983
+#: symfile.c:3980
 msgid "Usage: set extension-language .foo bar"
 msgstr ""
 
-#: symfile.c:3990
+#: symfile.c:3987
 msgid "All filename extensions associated with a source language."
 msgstr ""
 
-#: symfile.c:3993
+#: symfile.c:3990
 msgid "Set the directories where separate debug symbols are searched for."
 msgstr ""
 
-#: symfile.c:3994
+#: symfile.c:3991
 msgid "Show the directories where separate debug symbols are searched for."
 msgstr ""
 
-#: symfile.c:3995
+#: symfile.c:3992
 msgid ""
 "Separate debug symbols are first searched for in the same\n"
 "directory as the binary, then in the `"
 msgstr ""
 
-#: symfile.c:4006
+#: symfile.c:4003
 msgid "Set printing of symbol loading messages."
 msgstr ""
 
-#: symfile.c:4007
+#: symfile.c:4004
 msgid "Show printing of symbol loading messages."
 msgstr ""
 
-#: symfile.c:4008
+#: symfile.c:4005
 msgid ""
 "off   == turn all messages off\n"
 "brief == print messages for the executable,\n"
@@ -29249,15 +29241,15 @@ msgid ""
 "         and messages for each shared library."
 msgstr ""
 
-#: symfile.c:4019
+#: symfile.c:4016
 msgid "Set printing of separate debug info file search debug."
 msgstr ""
 
-#: symfile.c:4020
+#: symfile.c:4017
 msgid "Show printing of separate debug info file search debug."
 msgstr ""
 
-#: symfile.c:4021
+#: symfile.c:4018
 msgid ""
 "When on, GDB prints the searched locations while looking for separate debug "
 "info files."
@@ -30785,286 +30777,286 @@ msgstr ""
 msgid "unhandled state"
 msgstr ""
 
-#: top.c:136
+#: top.c:137
 #, possible-c-format
 msgid "Whether to confirm potentially dangerous operations is %s.\n"
 msgstr ""
 
-#: top.c:342
+#: top.c:343
 msgid "opening terminal failed"
 msgstr ""
 
-#: top.c:362
+#: top.c:363
 msgid "Usage: new-ui INTERPRETER TTY"
 msgstr ""
 
-#: top.c:647
+#: top.c:648
 msgid "That is not a command, just a help topic."
 msgstr ""
 
-#: top.c:763
+#: top.c:764
 msgid "No previous command to relaunch"
 msgstr ""
 
-#: top.c:890
+#: top.c:891
 #, possible-c-format
 msgid "Saving of the history record on exit is %s.\n"
 msgstr ""
 
-#: top.c:902
+#: top.c:903
 #, possible-c-format
 msgid "The size of the command history is %s.\n"
 msgstr ""
 
-#: top.c:915
+#: top.c:916
 #, possible-c-format
 msgid "The number of history entries to look back at for duplicates is %s.\n"
 msgstr ""
 
-#: top.c:925
+#: top.c:926
 #, possible-c-format
 msgid "The filename in which to record the command history is \"%s\".\n"
 msgstr ""
 
-#: top.c:1194 top.c:1224
+#: top.c:1195 top.c:1225
 #, possible-c-format
 msgid "Could not rename %s to %s: %s"
 msgstr ""
 
-#: top.c:1400
+#: top.c:1401
 msgid "Type \"show configuration\" for configuration details.\n"
 msgstr ""
 
-#: top.c:1406
+#: top.c:1407
 msgid "For bug reporting instructions, please see:\n"
 msgstr ""
 
-#: top.c:1410
+#: top.c:1411
 msgid ""
 "Find the GDB manual and other documentation resources online at:\n"
 "    <http://www.gnu.org/software/gdb/documentation/>."
 msgstr ""
 
-#: top.c:1413
+#: top.c:1414
 msgid "For help, type \"help\".\n"
 msgstr ""
 
-#: top.c:1415
+#: top.c:1416
 msgid "Type \"apropos word\" to search for commands related to \"word\"."
 msgstr ""
 
-#: top.c:1423
+#: top.c:1424
 #, possible-c-format
 msgid ""
 "This GDB was configured as follows:\n"
 "   configure --host=%s --target=%s\n"
 msgstr ""
 
-#: top.c:1427
+#: top.c:1428
 #, possible-c-format
 msgid ""
 "             --with-auto-load-dir=%s\n"
 "             --with-auto-load-safe-path=%s\n"
 msgstr ""
 
-#: top.c:1432
+#: top.c:1433
 msgid "             --with-expat\n"
 msgstr ""
 
-#: top.c:1436
+#: top.c:1437
 msgid "             --without-expat\n"
 msgstr ""
 
-#: top.c:1441
+#: top.c:1442
 #, possible-c-format
 msgid "             --with-gdb-datadir=%s%s\n"
 msgstr ""
 
-#: top.c:1445
+#: top.c:1446
 #, possible-c-format
 msgid "             --with-iconv-bin=%s%s\n"
 msgstr ""
 
-#: top.c:1450
+#: top.c:1451
 #, possible-c-format
 msgid "             --with-jit-reader-dir=%s%s\n"
 msgstr ""
 
-#: top.c:1454
+#: top.c:1455
 msgid "             --with-libunwind-ia64\n"
 msgstr ""
 
-#: top.c:1458
+#: top.c:1459
 msgid "             --without-libunwind-ia64\n"
 msgstr ""
 
-#: top.c:1463
+#: top.c:1464
 msgid "             --with-lzma\n"
 msgstr ""
 
-#: top.c:1467
+#: top.c:1468
 msgid "             --without-lzma\n"
 msgstr ""
 
-#: top.c:1472
+#: top.c:1473
 msgid "             --with-babeltrace\n"
 msgstr ""
 
-#: top.c:1476
+#: top.c:1477
 msgid "             --without-babeltrace\n"
 msgstr ""
 
-#: top.c:1481
+#: top.c:1482
 msgid "             --with-intel-pt\n"
 msgstr ""
 
-#: top.c:1485
+#: top.c:1486
 msgid "             --without-intel-pt\n"
 msgstr ""
 
-#: top.c:1490
+#: top.c:1491
 msgid "             --with-mpfr\n"
 msgstr ""
 
-#: top.c:1494
+#: top.c:1495
 msgid "             --without-mpfr\n"
 msgstr ""
 
-#: top.c:1499
+#: top.c:1500
 #, possible-c-format
 msgid "             --with-python=%s%s\n"
 msgstr ""
 
-#: top.c:1503
+#: top.c:1504
 msgid "             --without-python\n"
 msgstr ""
 
-#: top.c:1508
+#: top.c:1509
 msgid "             --with-guile\n"
 msgstr ""
 
-#: top.c:1512
+#: top.c:1513
 msgid "             --without-guile\n"
 msgstr ""
 
-#: top.c:1517
+#: top.c:1518
 msgid "             --enable-source-highlight\n"
 msgstr ""
 
-#: top.c:1521
+#: top.c:1522
 msgid "             --disable-source-highlight\n"
 msgstr ""
 
-#: top.c:1526
+#: top.c:1527
 #, possible-c-format
 msgid "             --with-relocated-sources=%s\n"
 msgstr ""
 
-#: top.c:1531
+#: top.c:1532
 #, possible-c-format
 msgid "             --with-separate-debug-dir=%s%s\n"
 msgstr ""
 
-#: top.c:1535
+#: top.c:1536
 #, possible-c-format
 msgid "             --with-sysroot=%s%s\n"
 msgstr ""
 
-#: top.c:1539
+#: top.c:1540
 #, possible-c-format
 msgid "             --with-system-gdbinit=%s%s\n"
 msgstr ""
 
-#: top.c:1543
+#: top.c:1544
 #, possible-c-format
 msgid "             --with-system-gdbinit-dir=%s%s\n"
 msgstr ""
 
 #. We assume "relocatable" will be printed at least once, thus we always
 #. print this text.  It's a reasonably safe assumption for now.
-#: top.c:1548
+#: top.c:1549
 msgid ""
 "\n"
 "(\"Relocatable\" means the directory can be moved with the GDB installation\n"
 "tree, and GDB will still find it.)\n"
 msgstr ""
 
-#: top.c:1627
+#: top.c:1628
 #, possible-c-format
 msgid "\tInferior %d [%s] will be detached.\n"
 msgstr ""
 
-#: top.c:1631
+#: top.c:1632
 #, possible-c-format
 msgid "\tInferior %d [%s] will be killed.\n"
 msgstr ""
 
-#: top.c:1650
+#: top.c:1651
 msgid ""
 "A debugging session is active.\n"
 "\n"
 msgstr ""
 
-#: top.c:1652
+#: top.c:1653
 msgid ""
 "\n"
 "Quit anyway? "
 msgstr ""
 
-#: top.c:1896
+#: top.c:1897
 msgid "\"set history\" must be followed by the name of a history subcommand.\n"
 msgstr ""
 
-#: top.c:1925
+#: top.c:1926
 msgid "Set verbose printing of informational messages."
 msgstr ""
 
-#: top.c:1926
+#: top.c:1927
 msgid "Show verbose printing of informational messages."
 msgstr ""
 
-#: top.c:2011
+#: top.c:2013
 #, possible-c-format
 msgid "Gdb's prompt is \"%s\".\n"
 msgstr ""
 
-#: top.c:2029
+#: top.c:2031
 #, possible-c-format
 msgid "Editing of command lines as they are typed is %s.\n"
 msgstr ""
 
-#: top.c:2031
+#: top.c:2033
 msgid "on"
 msgstr ""
 
-#: top.c:2031
+#: top.c:2033
 msgid "off"
 msgstr ""
 
-#: top.c:2038
+#: top.c:2040
 #, possible-c-format
 msgid "Annotation_level is %s.\n"
 msgstr ""
 
-#: top.c:2045
+#: top.c:2047
 #, possible-c-format
 msgid "Notification of completion for asynchronous execution commands is %s.\n"
 msgstr ""
 
-#: top.c:2068
+#: top.c:2070
 #, possible-c-format
 msgid "GDB's data directory is \"%s\".\n"
 msgstr ""
 
-#: top.c:2124
+#: top.c:2130
 msgid "Set gdb's prompt."
 msgstr ""
 
-#: top.c:2125
+#: top.c:2131
 msgid "Show gdb's prompt."
 msgstr ""
 
-#: top.c:2130
+#: top.c:2136
 msgid ""
 "Don't repeat this command.\n"
 "Primarily used inside of user-defined commands that should not be repeated "
@@ -31072,44 +31064,44 @@ msgid ""
 "hitting return."
 msgstr ""
 
-#: top.c:2136
+#: top.c:2142
 msgid "Set editing of command lines as they are typed."
 msgstr ""
 
-#: top.c:2137
+#: top.c:2143
 msgid "Show editing of command lines as they are typed."
 msgstr ""
 
-#: top.c:2138
+#: top.c:2144
 msgid ""
 "Use \"on\" to enable the editing, and \"off\" to disable it.\n"
 "Without an argument, command line editing is enabled.  To edit, use\n"
 "EMACS-like or VI-like commands like control-P or ESC."
 msgstr ""
 
-#: top.c:2146
+#: top.c:2152
 msgid "Set saving of the history record on exit."
 msgstr ""
 
-#: top.c:2147
+#: top.c:2153
 msgid "Show saving of the history record on exit."
 msgstr ""
 
-#: top.c:2148
+#: top.c:2154
 msgid ""
 "Use \"on\" to enable the saving, and \"off\" to disable it.\n"
 "Without an argument, saving is enabled."
 msgstr ""
 
-#: top.c:2156
+#: top.c:2162
 msgid "Set the size of the command history."
 msgstr ""
 
-#: top.c:2157
+#: top.c:2163
 msgid "Show the size of the command history."
 msgstr ""
 
-#: top.c:2158
+#: top.c:2164
 msgid ""
 "This is the number of previous commands to keep a record of.\n"
 "If set to \"unlimited\", the number of commands kept in the history\n"
@@ -31117,15 +31109,15 @@ msgid ""
 "variable \"GDBHISTSIZE\", or to 256 if this variable is not set."
 msgstr ""
 
-#: top.c:2168
+#: top.c:2174
 msgid "Set how far back in history to look for and remove duplicate entries."
 msgstr ""
 
-#: top.c:2169
+#: top.c:2175
 msgid "Show how far back in history to look for and remove duplicate entries."
 msgstr ""
 
-#: top.c:2170
+#: top.c:2176
 msgid ""
 "If set to a nonzero value N, GDB will look back at the last N history "
 "entries\n"
@@ -31137,73 +31129,73 @@ msgid ""
 "By default this option is set to 0."
 msgstr ""
 
-#: top.c:2182
+#: top.c:2188
 msgid "Set the filename in which to record the command history."
 msgstr ""
 
-#: top.c:2183
+#: top.c:2189
 msgid "Show the filename in which to record the command history."
 msgstr ""
 
-#: top.c:2184
+#: top.c:2190
 msgid "(the list of previous commands of which a record is kept)."
 msgstr ""
 
-#: top.c:2190
+#: top.c:2196
 msgid "Set whether to confirm potentially dangerous operations."
 msgstr ""
 
-#: top.c:2191
+#: top.c:2197
 msgid "Show whether to confirm potentially dangerous operations."
 msgstr ""
 
-#: top.c:2197
+#: top.c:2203
 msgid "Set annotation_level."
 msgstr ""
 
-#: top.c:2198
+#: top.c:2204
 msgid "Show annotation_level."
 msgstr ""
 
-#: top.c:2199
+#: top.c:2205
 msgid ""
 "0 == normal;     1 == fullname (for use when running under emacs)\n"
 "2 == output annotated suitably for use by programs that control GDB."
 msgstr ""
 
-#: top.c:2207
+#: top.c:2213
 msgid "Set notification of completion for asynchronous execution commands."
 msgstr ""
 
-#: top.c:2208
+#: top.c:2214
 msgid "Show notification of completion for asynchronous execution commands."
 msgstr ""
 
-#: top.c:2209
+#: top.c:2215
 msgid "Use \"on\" to enable the notification, and \"off\" to disable it."
 msgstr ""
 
-#: top.c:2216
+#: top.c:2222
 msgid "Set GDB's data directory."
 msgstr ""
 
-#: top.c:2217
+#: top.c:2223
 msgid "Show GDB's data directory."
 msgstr ""
 
-#: top.c:2218
+#: top.c:2224
 msgid "When set, GDB uses the specified path to search for data files."
 msgstr ""
 
-#: top.c:2225
+#: top.c:2231
 msgid "Set whether GDB's standard input is a terminal."
 msgstr ""
 
-#: top.c:2226
+#: top.c:2232
 msgid "Show whether GDB's standard input is a terminal."
 msgstr ""
 
-#: top.c:2227
+#: top.c:2233
 msgid ""
 "If on, GDB assumes that standard input is a terminal.  In practice, it\n"
 "means that GDB should wait for the user to answer queries associated to\n"
@@ -31213,7 +31205,7 @@ msgid ""
 "input settings."
 msgstr ""
 
-#: top.c:2238
+#: top.c:2244
 msgid ""
 "Create a new UI.\n"
 "Usage: new-ui INTERPRETER TTY\n"
@@ -31251,7 +31243,7 @@ msgstr ""
 msgid "Unable to open directory '%s' for saving trace data (%s)"
 msgstr ""
 
-#: tracectf.c:362 tracectf.c:371 tracefile-tfile.c:127
+#: tracectf.c:362 tracectf.c:371 tracefile-tfile.c:128
 #, possible-c-format
 msgid "Unable to open file '%s' for saving trace data (%s)"
 msgstr ""
@@ -31345,21 +31337,21 @@ msgid ""
 "using its own filesystem."
 msgstr ""
 
-#: tracefile-tfile.c:45
+#: tracefile-tfile.c:46
 msgid "Local trace dump file"
 msgstr ""
 
-#: tracefile-tfile.c:46
+#: tracefile-tfile.c:47
 msgid ""
 "Use a trace file as a target.\n"
 "Specify the filename of the trace file."
 msgstr ""
 
-#: tracefile-tfile.c:449
+#: tracefile-tfile.c:450
 msgid "Premature end of file while reading trace file"
 msgstr ""
 
-#: tracefile-tfile.c:469
+#: tracefile-tfile.c:470
 msgid "No trace file specified."
 msgstr ""
 
@@ -32148,20 +32140,24 @@ msgstr ""
 msgid "Cannot redirect readline output"
 msgstr ""
 
-#: tui/tui-layout.c:260
+#: tui/tui-layout.c:258
 msgid "Usage: layout prev | next | LAYOUT-NAME"
 msgstr ""
 
-#: tui/tui-layout.c:264
+#: tui/tui-layout.c:262
 msgid "Ambiguous command input."
 msgstr ""
 
-#: tui/tui-layout.c:285
+#: tui/tui-layout.c:283
 #, possible-c-format
 msgid "Unrecognized layout: %s"
 msgstr ""
 
-#: tui/tui-layout.c:554
+#: tui/tui-layout.c:632
+msgid "Invalid window height specified"
+msgstr ""
+
+#: tui/tui-layout.c:802
 msgid ""
 "Change the layout of windows.\n"
 "Usage: layout prev | next | LAYOUT-NAME\n"
@@ -32209,157 +32205,157 @@ msgstr ""
 msgid "TUI command to control the register window."
 msgstr ""
 
-#: tui/tui-win.c:198
+#: tui/tui-win.c:195
 #, possible-c-format
 msgid "The attribute mode to use for the active TUI window border is \"%s\".\n"
 msgstr ""
 
-#: tui/tui-win.c:210
+#: tui/tui-win.c:207
 #, possible-c-format
 msgid "The attribute mode to use for the TUI window borders is \"%s\".\n"
 msgstr ""
 
-#: tui/tui-win.c:222
+#: tui/tui-win.c:219
 #, possible-c-format
 msgid "The kind of border for TUI windows is \"%s\".\n"
 msgstr ""
 
-#: tui/tui-win.c:321
+#: tui/tui-win.c:318
 msgid "\"tui\" must be followed by the name of a tui command.\n"
 msgstr ""
 
-#: tui/tui-win.c:331
+#: tui/tui-win.c:328
 msgid "Text User Interface commands."
 msgstr ""
 
-#: tui/tui-win.c:358
+#: tui/tui-win.c:355
 #, possible-c-format
 msgid "TUI resize messaging is %s.\n"
 msgstr ""
 
-#: tui/tui-win.c:834 tui/tui-win.c:1005
+#: tui/tui-win.c:729 tui/tui-win.c:900
 #, possible-c-format
 msgid "Unrecognized window name \"%s\""
 msgstr ""
 
-#: tui/tui-win.c:836 tui/tui-win.c:1007
+#: tui/tui-win.c:731 tui/tui-win.c:902
 #, possible-c-format
 msgid "Window \"%s\" is not visible"
 msgstr ""
 
-#: tui/tui-win.c:840
+#: tui/tui-win.c:735
 #, possible-c-format
 msgid "Focus set to %s window.\n"
 msgstr ""
 
-#: tui/tui-win.c:844
+#: tui/tui-win.c:739
 #, possible-c-format
 msgid ""
 "Incorrect Number of Arguments.\n"
 "%s"
 msgstr ""
 
-#: tui/tui-win.c:852
+#: tui/tui-win.c:747
 msgid "The TUI is not active.\n"
 msgstr ""
 
-#: tui/tui-win.c:873
+#: tui/tui-win.c:768
 msgid "(has focus)"
 msgstr ""
 
-#: tui/tui-win.c:920
+#: tui/tui-win.c:815
 msgid "Tab width must not be 0"
 msgstr ""
 
-#: tui/tui-win.c:933
+#: tui/tui-win.c:828
 #, possible-c-format
 msgid "TUI tab width is %s spaces.\n"
 msgstr ""
 
-#: tui/tui-win.c:957
+#: tui/tui-win.c:852
 #, possible-c-format
 msgid "TUI source window compactness is %s.\n"
 msgstr ""
 
-#: tui/tui-win.c:972
+#: tui/tui-win.c:867
 msgid "Tab widths greater than 0 must be specified."
 msgstr ""
 
-#: tui/tui-win.c:1039 tui/tui-win.c:1045
+#: tui/tui-win.c:936
 #, possible-c-format
 msgid ""
 "Invalid window height specified.\n"
 "%s"
 msgstr ""
 
-#: tui/tui-win.c:1381
+#: tui/tui-win.c:1002
 #, possible-c-format
 msgid "Unrecognized window `%s'"
 msgstr ""
 
-#: tui/tui-win.c:1383
+#: tui/tui-win.c:1004
 msgid "Window is not visible"
 msgstr ""
 
-#: tui/tui-win.c:1404 tui/tui-win.c:1408
+#: tui/tui-win.c:1025 tui/tui-win.c:1029
 msgid "TUI configuration variables."
 msgstr ""
 
-#: tui/tui-win.c:1413
+#: tui/tui-win.c:1034
 msgid "Refresh the terminal display."
 msgstr ""
 
-#: tui/tui-win.c:1415
+#: tui/tui-win.c:1036
 msgid ""
 "Set the width (in characters) of tab stops.\n"
 "Usage: tabset N"
 msgstr ""
 
-#: tui/tui-win.c:1420
+#: tui/tui-win.c:1041
 msgid "Set or modify the height of a specified window.\n"
 msgstr ""
 
-#: tui/tui-win.c:1431
+#: tui/tui-win.c:1052
 msgid "List of all displayed windows."
 msgstr ""
 
-#: tui/tui-win.c:1432
+#: tui/tui-win.c:1053
 msgid "Set focus to named window or next/prev window.\n"
 msgstr ""
 
-#: tui/tui-win.c:1442
+#: tui/tui-win.c:1063
 msgid ""
 "Scroll window forward.\n"
 "Usage: + [WIN] [N]"
 msgstr ""
 
-#: tui/tui-win.c:1445
+#: tui/tui-win.c:1066
 msgid ""
 "Scroll window backward.\n"
 "Usage: - [WIN] [N]"
 msgstr ""
 
-#: tui/tui-win.c:1448
+#: tui/tui-win.c:1069
 msgid ""
 "Scroll window text to the left.\n"
 "Usage: < [WIN] [N]"
 msgstr ""
 
-#: tui/tui-win.c:1451
+#: tui/tui-win.c:1072
 msgid ""
 "Scroll window text to the right.\n"
 "Usage: > [WIN] [N]"
 msgstr ""
 
-#: tui/tui-win.c:1457
+#: tui/tui-win.c:1078
 msgid "Set the kind of border for TUI windows."
 msgstr ""
 
-#: tui/tui-win.c:1458
+#: tui/tui-win.c:1079
 msgid "Show the kind of border for TUI windows."
 msgstr ""
 
-#: tui/tui-win.c:1459
+#: tui/tui-win.c:1080
 msgid ""
 "This variable controls the border of TUI windows:\n"
 "   space           use a white space\n"
@@ -32367,15 +32363,15 @@ msgid ""
 "   acs             use the Alternate Character Set"
 msgstr ""
 
-#: tui/tui-win.c:1469
+#: tui/tui-win.c:1090
 msgid "Set the attribute mode to use for the TUI window borders."
 msgstr ""
 
-#: tui/tui-win.c:1470
+#: tui/tui-win.c:1091
 msgid "Show the attribute mode to use for the TUI window borders."
 msgstr ""
 
-#: tui/tui-win.c:1471
+#: tui/tui-win.c:1092
 msgid ""
 "This variable controls the attributes to use for the window borders:\n"
 "   normal          normal display\n"
@@ -32387,15 +32383,15 @@ msgid ""
 "   bold-standout   use extra bright or bold with standout mode"
 msgstr ""
 
-#: tui/tui-win.c:1485
+#: tui/tui-win.c:1106
 msgid "Set the attribute mode to use for the active TUI window border."
 msgstr ""
 
-#: tui/tui-win.c:1486
+#: tui/tui-win.c:1107
 msgid "Show the attribute mode to use for the active TUI window border."
 msgstr ""
 
-#: tui/tui-win.c:1487
+#: tui/tui-win.c:1108
 msgid ""
 "This variable controls the attributes to use for the active window border:\n"
 "   normal          normal display\n"
@@ -32407,40 +32403,40 @@ msgid ""
 "   bold-standout   use extra bright or bold with standout mode"
 msgstr ""
 
-#: tui/tui-win.c:1501
+#: tui/tui-win.c:1122
 msgid "Set the tab width, in characters, for the TUI."
 msgstr ""
 
-#: tui/tui-win.c:1502
+#: tui/tui-win.c:1123
 msgid "Show the tab witdh, in characters, for the TUI."
 msgstr ""
 
-#: tui/tui-win.c:1503
+#: tui/tui-win.c:1124
 msgid ""
 "This variable controls how many spaces are used to display a tab character."
 msgstr ""
 
-#: tui/tui-win.c:1509
+#: tui/tui-win.c:1130
 msgid "Set TUI resize messaging."
 msgstr ""
 
-#: tui/tui-win.c:1510
+#: tui/tui-win.c:1131
 msgid "Show TUI resize messaging."
 msgstr ""
 
-#: tui/tui-win.c:1511
+#: tui/tui-win.c:1132
 msgid "When enabled GDB will print a message when the terminal is resized."
 msgstr ""
 
-#: tui/tui-win.c:1519
+#: tui/tui-win.c:1140
 msgid "Set whether the TUI source window is compact."
 msgstr ""
 
-#: tui/tui-win.c:1520
+#: tui/tui-win.c:1141
 msgid "Show whether the TUI source window is compact."
 msgstr ""
 
-#: tui/tui-win.c:1521
+#: tui/tui-win.c:1142
 msgid ""
 "This variable controls whether the TUI source window is shown\n"
 "in a compact form.  The compact form puts the source closer to\n"
@@ -32791,76 +32787,76 @@ msgstr ""
 msgid "invalid decimal \"%s\""
 msgstr ""
 
-#: utils.c:3080
+#: utils.c:3077
 msgid "process-id to attach"
 msgstr ""
 
-#: utils.c:3086
+#: utils.c:3083
 #, possible-c-format
 msgid "Illegal process-id: %s."
 msgstr ""
 
-#: utils.c:3424
+#: utils.c:3421
 msgid "Set number of characters where GDB should wrap lines of its output."
 msgstr ""
 
-#: utils.c:3425
+#: utils.c:3422
 msgid "Show number of characters where GDB should wrap lines of its output."
 msgstr ""
 
-#: utils.c:3426
+#: utils.c:3423
 msgid ""
 "This affects where GDB wraps its output to fit the screen width.\n"
 "Setting this to \"unlimited\" or zero prevents GDB from wrapping its output."
 msgstr ""
 
-#: utils.c:3433
+#: utils.c:3430
 msgid "Set number of lines in a page for GDB output pagination."
 msgstr ""
 
-#: utils.c:3434
+#: utils.c:3431
 msgid "Show number of lines in a page for GDB output pagination."
 msgstr ""
 
-#: utils.c:3435
+#: utils.c:3432
 msgid ""
 "This affects the number of lines after which GDB will pause\n"
 "its output and ask you whether to continue.\n"
 "Setting this to \"unlimited\" or zero causes GDB never pause during output."
 msgstr ""
 
-#: utils.c:3444
+#: utils.c:3441
 msgid "Set state of GDB output pagination."
 msgstr ""
 
-#: utils.c:3445
+#: utils.c:3442
 msgid "Show state of GDB output pagination."
 msgstr ""
 
-#: utils.c:3446
+#: utils.c:3443
 msgid ""
 "When pagination is ON, GDB pauses at end of each screenful of\n"
 "its output and asks you whether to continue.\n"
 "Turning pagination off is an alternative to \"set height unlimited\"."
 msgstr ""
 
-#: utils.c:3455
+#: utils.c:3452
 msgid "Set printing of 8-bit characters in strings as \\nnn."
 msgstr ""
 
-#: utils.c:3456
+#: utils.c:3453
 msgid "Show printing of 8-bit characters in strings as \\nnn."
 msgstr ""
 
-#: utils.c:3463
+#: utils.c:3460
 msgid "Set timestamping of debugging messages."
 msgstr ""
 
-#: utils.c:3464
+#: utils.c:3461
 msgid "Show timestamping of debugging messages."
 msgstr ""
 
-#: utils.c:3465
+#: utils.c:3462
 msgid ""
 "When set, debugging messages will be marked with seconds and microseconds."
 msgstr ""
@@ -33580,11 +33576,11 @@ msgid "Show printing of char arrays to s
 msgstr ""
 
 #. show_cmd_cb
-#: valprint.c:3187 valprint.c:3241
+#: valprint.c:3187 valprint.c:3251
 msgid "Set printing of C++ virtual function tables."
 msgstr ""
 
-#: valprint.c:3188 valprint.c:3242
+#: valprint.c:3188 valprint.c:3252
 msgid "Show printing of C++ virtual function tables."
 msgstr ""
 
@@ -33599,73 +33595,88 @@ msgstr ""
 
 #. show_cmd_cb
 #: valprint.c:3205
-msgid "Set threshold for repeated print elements."
+msgid "Set whether to print values in raw form."
 msgstr ""
 
 #: valprint.c:3206
-msgid "Show threshold for repeated print elements."
+msgid "Show whether to print values in raw form."
 msgstr ""
 
 #: valprint.c:3207
+msgid ""
+"If set, values are printed in raw form, bypassing any\n"
+"pretty-printers for that value."
+msgstr ""
+
+#. show_cmd_cb
+#: valprint.c:3215
+msgid "Set threshold for repeated print elements."
+msgstr ""
+
+#: valprint.c:3216
+msgid "Show threshold for repeated print elements."
+msgstr ""
+
+#: valprint.c:3217
 msgid "\"unlimited\" causes all elements to be individually printed."
 msgstr ""
 
 #. show_cmd_cb
-#: valprint.c:3214
+#: valprint.c:3224
 msgid "Set printing of C++ static members."
 msgstr ""
 
-#: valprint.c:3215
+#: valprint.c:3225
 msgid "Show printing of C++ static members."
 msgstr ""
 
 #. show_cmd_cb
-#: valprint.c:3223
+#: valprint.c:3233
 msgid "Set printing of symbol names when printing pointers."
 msgstr ""
 
-#: valprint.c:3224
+#: valprint.c:3234
 msgid "Show printing of symbol names when printing pointers."
 msgstr ""
 
 #. show_cmd_cb
-#: valprint.c:3232
+#: valprint.c:3242
 msgid "Set printing of unions interior to structures."
 msgstr ""
 
-#: valprint.c:3233
+#: valprint.c:3243
 msgid "Show printing of unions interior to structures."
 msgstr ""
 
-#: valprint.c:3261
+#: valprint.c:3271
 msgid "Generic command for setting how things print."
 msgstr ""
 
-#: valprint.c:3268
+#: valprint.c:3278
 msgid "Generic command for showing print settings."
 msgstr ""
 
-#: valprint.c:3274
+#: valprint.c:3284
 msgid "Generic command for setting what things to print in \"raw\" mode."
 msgstr ""
 
-#: valprint.c:3281
+#: valprint.c:3291
 msgid "Generic command for showing \"print raw\" settings."
 msgstr ""
 
-#: valprint.c:3291
+#: valprint.c:3301
 msgid "Set default input radix for entering numbers."
 msgstr ""
 
-#: valprint.c:3292
+#: valprint.c:3302
 msgid "Show default input radix for entering numbers."
 msgstr ""
 
-#: valprint.c:3299
+#: valprint.c:3309
 msgid "Set default output radix for printing of values."
 msgstr ""
 
-#: valprint.c:3300
+#: valprint.c:3310
 msgid "Show default output radix for printing of values."
 msgstr ""
 
@@ -33676,14 +33687,14 @@ msgstr ""
 #. add_show_from_set() commands aren't really appropriate.
 #. FIXME: i18n: With the new add_setshow_integer command, that is no
 #. longer true - show can display anything.
-#: valprint.c:3313
+#: valprint.c:3323
 msgid ""
 "Set default input and output number radices.\n"
 "Use 'set input-radix' or 'set output-radix' to independently set each.\n"
 "Without an argument, sets both radices back to the default value of 10."
 msgstr ""
 
-#: valprint.c:3318
+#: valprint.c:3328
 msgid ""
 "Show the default input and output number radices.\n"
 "Use 'show input-radix' or 'show output-radix' to independently show each."
@@ -34437,24 +34448,24 @@ msgstr ""
 msgid "XML debugging is %s.\n"
 msgstr ""
 
-#: xml-support.c:996
+#: xml-support.c:994
 msgid "seek to end of file"
 msgstr ""
 
-#: xml-support.c:1005
+#: xml-support.c:1003
 #, possible-c-format
 msgid "Read error from \"%s\""
 msgstr ""
 
-#: xml-support.c:1017
+#: xml-support.c:1015
 msgid "Set XML parser debugging."
 msgstr ""
 
-#: xml-support.c:1018
+#: xml-support.c:1016
 msgid "Show XML parser debugging."
 msgstr ""
 
-#: xml-support.c:1019
+#: xml-support.c:1017
 msgid "When set, debugging messages for XML parsers are displayed."
 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.20191211/gdb/printcmd.c ./gdb/printcmd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/printcmd.c	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/printcmd.c	2019-12-15 01:49:40.000000000 +0000
@@ -1152,6 +1152,9 @@ print_command_parse_format (const char *
 {
   const char *exp = *expp;
 
+  /* opts->raw value might already have been set by 'set print raw-values'
+     or by using 'print -raw-values'.
+     So, do not set opts->raw to 0, only set it to 1 if /r is given.  */
   if (exp && *exp == '/')
     {
       format_data fmt;
@@ -1162,12 +1165,11 @@ print_command_parse_format (const char *
       last_format = fmt.format;
 
       opts->format = fmt.format;
-      opts->raw = fmt.raw;
+      opts->raw = opts->raw || fmt.raw;
     }
   else
     {
       opts->format = 0;
-      opts->raw = 0;
     }
 
   *expp = exp;
@@ -1365,7 +1367,7 @@ info_symbol_command (const char *arg, in
 	    gdb_assert (osect->objfile && objfile_name (osect->objfile));
 	    obj_name = objfile_name (osect->objfile);
 
-	    if (MULTI_OBJFILE_P ())
+	    if (current_program_space->multi_objfile_p ())
 	      if (pc_in_unmapped_range (addr, osect))
 		if (section_is_overlay (osect))
 		  printf_filtered (_("%s in load address range of "
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.20191211/gdb/progspace.c ./gdb/progspace.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/progspace.c	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/progspace.c	2019-12-15 01:49:40.000000000 +0000
@@ -23,8 +23,10 @@
 #include "arch-utils.h"
 #include "gdbcore.h"
 #include "solib.h"
+#include "solist.h"
 #include "gdbthread.h"
 #include "inferior.h"
+#include <algorithm>
 
 /* The last program space number assigned.  */
 int last_program_space_num = 0;
@@ -153,6 +155,60 @@ program_space::~program_space ()
   program_space_free_data (this);
 }
 
+/* See progspace.h.  */
+
+void
+program_space::free_all_objfiles ()
+{
+  struct so_list *so;
+
+  /* Any objfile reference would become stale.  */
+  for (so = master_so_list (); so; so = so->next)
+    gdb_assert (so->objfile == NULL);
+
+  while (!objfiles_list.empty ())
+    objfiles_list.front ()->unlink ();
+
+  clear_symtab_users (0);
+}
+
+/* See progspace.h.  */
+
+void
+program_space::add_objfile (std::shared_ptr<objfile> &&objfile,
+			    struct objfile *before)
+{
+  if (before == nullptr)
+    objfiles_list.push_back (std::move (objfile));
+  else
+    {
+      auto iter = std::find_if (objfiles_list.begin (), objfiles_list.end (),
+				[=] (const std::shared_ptr<::objfile> &objf)
+				{
+				  return objf.get () == before;
+				});
+      gdb_assert (iter != objfiles_list.end ());
+      objfiles_list.insert (iter, std::move (objfile));
+    }
+}
+
+/* See progspace.h.  */
+
+void
+program_space::remove_objfile (struct objfile *objfile)
+{
+  auto iter = std::find_if (objfiles_list.begin (), objfiles_list.end (),
+			    [=] (const std::shared_ptr<::objfile> &objf)
+			    {
+			      return objf.get () == objfile;
+			    });
+  gdb_assert (iter != objfiles_list.end ());
+  objfiles_list.erase (iter);
+
+  if (objfile == symfile_object_file)
+    symfile_object_file = NULL;
+}
+
 /* Copies program space SRC to DEST.  Copies the main executable file,
    and the main symbol file.  Returns DEST.  */
 
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.20191211/gdb/progspace.h ./gdb/progspace.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/progspace.h	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/progspace.h	2019-12-15 01:49:40.000000000 +0000
@@ -27,6 +27,7 @@
 #include "registry.h"
 #include "gdbsupport/next-iterator.h"
 #include "gdbsupport/safe-iterator.h"
+#include <list>
 
 struct target_ops;
 struct bfd;
@@ -37,6 +38,79 @@ struct address_space;
 struct program_space_data;
 struct address_space_data;
 
+typedef std::list<std::shared_ptr<objfile>> objfile_list;
+
+/* An iterator that wraps an iterator over std::shared_ptr<objfile>,
+   and dereferences the returned object.  This is useful for iterating
+   over a list of shared pointers and returning raw pointers -- which
+   helped avoid touching a lot of code when changing how objfiles are
+   managed.  */
+
+class unwrapping_objfile_iterator
+{
+public:
+
+  typedef unwrapping_objfile_iterator self_type;
+  typedef typename ::objfile *value_type;
+  typedef typename ::objfile &reference;
+  typedef typename ::objfile **pointer;
+  typedef typename objfile_list::iterator::iterator_category iterator_category;
+  typedef typename objfile_list::iterator::difference_type difference_type;
+
+  unwrapping_objfile_iterator (const objfile_list::iterator &iter)
+    : m_iter (iter)
+  {
+  }
+
+  objfile *operator* () const
+  {
+    return m_iter->get ();
+  }
+
+  unwrapping_objfile_iterator operator++ ()
+  {
+    ++m_iter;
+    return *this;
+  }
+
+  bool operator!= (const unwrapping_objfile_iterator &other) const
+  {
+    return m_iter != other.m_iter;
+  }
+
+private:
+
+  /* The underlying iterator.  */
+  objfile_list::iterator m_iter;
+};
+
+
+/* A range that returns unwrapping_objfile_iterators.  */
+
+struct unwrapping_objfile_range
+{
+  typedef unwrapping_objfile_iterator iterator;
+
+  unwrapping_objfile_range (objfile_list &ol)
+    : m_list (ol)
+  {
+  }
+
+  iterator begin () const
+  {
+    return iterator (m_list.begin ());
+  }
+
+  iterator end () const
+  {
+    return iterator (m_list.end ());
+  }
+
+private:
+
+  objfile_list &m_list;
+};
+
 /* A program space represents a symbolic view of an address space.
    Roughly speaking, it holds all the data associated with a
    non-running-yet program (main executable, main symbols), and when
@@ -138,7 +212,7 @@ struct program_space
   program_space (address_space *aspace_);
   ~program_space ();
 
-  typedef next_adapter<struct objfile> objfiles_range;
+  typedef unwrapping_objfile_range objfiles_range;
 
   /* Return an iterable object that can be used to iterate over all
      objfiles.  The basic use is in a foreach, like:
@@ -146,12 +220,10 @@ struct program_space
      for (objfile *objf : pspace->objfiles ()) { ... }  */
   objfiles_range objfiles ()
   {
-    return objfiles_range (objfiles_head);
+    return unwrapping_objfile_range (objfiles_list);
   }
 
-  typedef next_adapter<struct objfile,
-		       basic_safe_iterator<next_iterator<objfile>>>
-    objfiles_safe_range;
+  typedef basic_safe_range<objfiles_range> objfiles_safe_range;
 
   /* An iterable object that can be used to iterate over all objfiles.
      The basic use is in a foreach, like:
@@ -162,9 +234,29 @@ struct program_space
      deleted during iteration.  */
   objfiles_safe_range objfiles_safe ()
   {
-    return objfiles_safe_range (objfiles_head);
+    return objfiles_safe_range (objfiles_list);
   }
 
+  /* Add OBJFILE to the list of objfiles, putting it just before
+     BEFORE.  If BEFORE is nullptr, it will go at the end of the
+     list.  */
+  void add_objfile (std::shared_ptr<objfile> &&objfile,
+		    struct objfile *before);
+
+  /* Remove OBJFILE from the list of objfiles.  */
+  void remove_objfile (struct objfile *objfile);
+
+  /* Return true if there is more than one object file loaded; false
+     otherwise.  */
+  bool multi_objfile_p () const
+  {
+    return objfiles_list.size () > 1;
+  }
+
+  /* Free all the objfiles associated with this program space.  */
+  void free_all_objfiles ();
+
+
   /* Pointer to next in linked list.  */
   struct program_space *next = NULL;
 
@@ -215,9 +307,8 @@ struct program_space
      (e.g. the argument to the "symbol-file" or "file" command).  */
   struct objfile *symfile_object_file = NULL;
 
-  /* All known objfiles are kept in a linked list.  This points to
-     the head of this list.  */
-  struct objfile *objfiles_head = NULL;
+  /* All known objfiles are kept in a linked list.  */
+  std::list<std::shared_ptr<objfile>> objfiles_list;
 
   /* The set of target sections matching the sections mapped into
      this program space.  Managed by both exec_ops and solib.c.  */
@@ -258,10 +349,6 @@ struct address_space
 
 #define symfile_objfile current_program_space->symfile_object_file
 
-/* All known objfiles are kept in a linked list.  This points to the
-   root of this list.  */
-#define object_files current_program_space->objfiles_head
-
 /* The set of target sections matching the sections mapped into the
    current program space.  */
 #define current_target_sections (&current_program_space->target_sections)
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.20191211/gdb/riscv-ravenscar-thread.c ./gdb/riscv-ravenscar-thread.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/riscv-ravenscar-thread.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/riscv-ravenscar-thread.c	2019-12-15 01:49:40.000000000 +0000
@@ -0,0 +1,140 @@
+/* Ravenscar RISC-V target support.
+
+   Copyright (C) 2019 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   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 "defs.h"
+#include "gdbarch.h"
+#include "gdbcore.h"
+#include "regcache.h"
+#include "riscv-tdep.h"
+#include "inferior.h"
+#include "ravenscar-thread.h"
+#include "riscv-ravenscar-thread.h"
+
+struct riscv_ravenscar_ops : public ravenscar_arch_ops
+{
+  void fetch_registers (struct regcache *regcache, int regnum) override;
+  void store_registers (struct regcache *regcache, int regnum) override;
+
+private:
+
+  /* Return the offset of the register in the context buffer.  */
+  int register_offset (struct gdbarch *arch, int regnum);
+};
+
+int
+riscv_ravenscar_ops::register_offset (struct gdbarch *arch, int regnum)
+{
+  int offset;
+  if (regnum == RISCV_RA_REGNUM || regnum == RISCV_PC_REGNUM)
+    offset = 0;
+  else if (regnum == RISCV_SP_REGNUM)
+    offset = 1;
+  else if (regnum == RISCV_ZERO_REGNUM + 8) /* S0 */
+    offset = 2;
+  else if (regnum == RISCV_ZERO_REGNUM + 9) /* S1 */
+    offset = 3;
+  else if (regnum >= RISCV_ZERO_REGNUM + 19
+	   && regnum <= RISCV_ZERO_REGNUM + 27) /* S2..S11 */
+    offset = regnum - (RISCV_ZERO_REGNUM + 19) + 4;
+  else if (regnum >= RISCV_FIRST_FP_REGNUM
+	   && regnum <= RISCV_FIRST_FP_REGNUM + 11)
+    offset = regnum - RISCV_FIRST_FP_REGNUM + 14; /* FS0..FS11 */
+  else
+    {
+      /* Not saved.  */
+      return -1;
+    }
+
+  int size = register_size (arch, regnum);
+  return offset * size;
+}
+
+/* Supply register REGNUM, which has been saved on REGISTER_ADDR, to the
+   regcache.  */
+
+static void
+supply_register_at_address (struct regcache *regcache, int regnum,
+                            CORE_ADDR register_addr)
+{
+  struct gdbarch *gdbarch = regcache->arch ();
+  int buf_size = register_size (gdbarch, regnum);
+  gdb_byte *buf;
+
+  buf = (gdb_byte *) alloca (buf_size);
+  read_memory (register_addr, buf, buf_size);
+  regcache->raw_supply (regnum, buf);
+}
+
+void
+riscv_ravenscar_ops::fetch_registers (struct regcache *regcache, int regnum)
+{
+  struct gdbarch *gdbarch = regcache->arch ();
+  const int num_regs = gdbarch_num_regs (gdbarch);
+  int current_regnum;
+  CORE_ADDR current_address;
+  CORE_ADDR thread_descriptor_address;
+
+  /* The tid is the thread_id field, which is a pointer to the thread.  */
+  thread_descriptor_address = (CORE_ADDR) inferior_ptid.tid ();
+
+  /* Read registers.  */
+  for (current_regnum = 0; current_regnum < num_regs; current_regnum++)
+    {
+      int offset = register_offset (gdbarch, current_regnum);
+
+      if (offset != -1)
+        {
+          current_address = thread_descriptor_address + offset;
+          supply_register_at_address (regcache, current_regnum,
+                                      current_address);
+        }
+    }
+}
+
+void
+riscv_ravenscar_ops::store_registers (struct regcache *regcache, int regnum)
+{
+  struct gdbarch *gdbarch = regcache->arch ();
+  int buf_size = register_size (gdbarch, regnum);
+  gdb_byte buf[buf_size];
+  CORE_ADDR register_address;
+
+  int offset = register_offset (gdbarch, regnum);
+  if (offset != -1)
+    {
+      register_address = inferior_ptid.tid () + offset;
+
+      regcache->raw_collect (regnum, buf);
+      write_memory (register_address,
+		    buf,
+		    buf_size);
+    }
+}
+
+/* The ravenscar_arch_ops vector for most RISC-V targets.  */
+
+static struct riscv_ravenscar_ops riscv_ravenscar_ops;
+
+/* Register riscv_ravenscar_ops in GDBARCH.  */
+
+void
+register_riscv_ravenscar_ops (struct gdbarch *gdbarch)
+{
+  set_gdbarch_ravenscar_ops (gdbarch, &riscv_ravenscar_ops);
+}
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.20191211/gdb/riscv-ravenscar-thread.h ./gdb/riscv-ravenscar-thread.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/riscv-ravenscar-thread.h	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/riscv-ravenscar-thread.h	2019-12-15 01:49:40.000000000 +0000
@@ -0,0 +1,27 @@
+/* Ravenscar RISC-V target support.
+
+   Copyright (C) 2019 Free Software Foundation, Inc.
+
+   This file is part of GDB.
+
+   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/>.  */
+
+#ifndef RISCV_RAVENSCAR_THREAD_H
+#define RISCV_RAVENSCAR_THREAD_H
+
+struct gdbarch;
+
+extern void register_riscv_ravenscar_ops (struct gdbarch *gdbarch);
+
+#endif
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.20191211/gdb/riscv-tdep.c ./gdb/riscv-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/riscv-tdep.c	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/riscv-tdep.c	2019-12-15 01:49:40.000000000 +0000
@@ -56,6 +56,7 @@
 #include "observable.h"
 #include "prologue-value.h"
 #include "arch/riscv.h"
+#include "riscv-ravenscar-thread.h"
 
 /* The stack must be 16-byte aligned.  */
 #define SP_ALIGNMENT 16
@@ -3358,6 +3359,8 @@ riscv_gdbarch_init (struct gdbarch_info 
   /* Hook in OS ABI-specific overrides, if they have been registered.  */
   gdbarch_init_osabi (info, gdbarch);
 
+  register_riscv_ravenscar_ops (gdbarch);
+
   return gdbarch;
 }
 
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.20191211/gdb/solib.c ./gdb/solib.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/solib.c	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/solib.c	2019-12-15 01:49:40.000000000 +0000
@@ -835,7 +835,7 @@ update_solib_list (int from_tty)
 	  /* Unless the user loaded it explicitly, free SO's objfile.  */
 	  if (gdb->objfile && ! (gdb->objfile->flags & OBJF_USERLOADED)
 	      && !solib_used (gdb))
-	    delete gdb->objfile;
+	    gdb->objfile->unlink ();
 
 	  /* Some targets' section tables might be referring to
 	     sections from so->abfd; remove them.  */
@@ -1312,7 +1312,7 @@ reload_shared_libraries_1 (int from_tty)
 	{
 	  if (so->objfile && ! (so->objfile->flags & OBJF_USERLOADED)
 	      && !solib_used (so))
-	    delete so->objfile;
+	    so->objfile->unlink ();
 	  remove_target_sections (so);
 	  clear_so (so);
 	}
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.20191211/gdb/source.c ./gdb/source.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/source.c	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/source.c	2019-12-15 01:49:40.000000000 +0000
@@ -540,8 +540,7 @@ add_path (const char *dirname, char **wh
 	new_name_holder.reset (concat (name, ".", (char *) NULL));
 #endif
       else if (!IS_ABSOLUTE_PATH (name) && name[0] != '$')
-	new_name_holder.reset (concat (current_directory, SLASH_STRING, name,
-				       (char *) NULL));
+	new_name_holder = gdb_abspath (name);
       else
 	new_name_holder.reset (savestring (name, p - name));
       name = new_name_holder.get ();
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.20191211/gdb/symfile.c ./gdb/symfile.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/symfile.c	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/symfile.c	2019-12-15 01:49:40.000000000 +0000
@@ -940,7 +940,7 @@ syms_from_objfile_1 (struct objfile *obj
      if an error occurs during symbol reading.  */
   gdb::optional<clear_symtab_users_cleanup> defer_clear_users;
 
-  std::unique_ptr<struct objfile> objfile_holder (objfile);
+  objfile_up objfile_holder (objfile);
 
   /* If ADDRS is NULL, put together a dummy address list.
      We now establish the convention that an addr of zero means
@@ -958,7 +958,7 @@ syms_from_objfile_1 (struct objfile *obj
 
       if (symfile_objfile != NULL)
 	{
-	  delete symfile_objfile;
+	  symfile_objfile->unlink ();
 	  gdb_assert (symfile_objfile == NULL);
 	}
 
@@ -1093,10 +1093,7 @@ symbol_file_add_with_addrs (bfd *abfd, c
 
   if (mainline)
     flags |= OBJF_MAINLINE;
-  objfile = new struct objfile (abfd, name, flags);
-
-  if (parent)
-    add_separate_debug_objfile (objfile, parent);
+  objfile = objfile::make (abfd, name, flags, parent);
 
   /* We either created a new mapped symbol table, mapped an existing
      symbol table file which has not had initial symbol reading
@@ -1254,7 +1251,7 @@ symbol_file_clear (int from_tty)
      objfiles get stale by free_all_objfiles.  */
   no_shared_libraries (NULL, from_tty);
 
-  free_all_objfiles ();
+  current_program_space->free_all_objfiles ();
 
   gdb_assert (symfile_objfile == NULL);
   if (from_tty)
@@ -2441,7 +2438,7 @@ remove_symbol_file_command (const char *
 		 objfile_name (objf)))
     error (_("Not confirmed."));
 
-  delete objf;
+  objf->unlink ();
   clear_symtab_users (0);
 }
 
@@ -2498,7 +2495,7 @@ reread_symbols (void)
 	  /* If we get an error, blow away this objfile (not sure if
 	     that is the correct response for things like shared
 	     libraries).  */
-	  std::unique_ptr<struct objfile> objfile_holder (objfile);
+	  objfile_up objfile_holder (objfile);
 
 	  /* We need to do this whenever any symbols go away.  */
 	  clear_symtab_users_cleanup defer_clear_users (0);
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.20191211/gdb/target-float.c ./gdb/target-float.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/target-float.c	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/target-float.c	2019-12-15 01:49:40.000000000 +0000
@@ -647,8 +647,8 @@ host_float_ops<T>::from_target (const st
     {
       double dto;
 
-      floatformat_to_double (fmt->split_half ? fmt->split_half : fmt,
-			     from, &dto);
+      floatformat_to_double	/* ARI: floatformat_to_double */
+	(fmt->split_half ? fmt->split_half : fmt, from, &dto);
       *to = (T) dto;
       return;
     }
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.20191211/gdb/testsuite/ChangeLog ./gdb/testsuite/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/testsuite/ChangeLog	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/testsuite/ChangeLog	2019-12-15 01:49:40.000000000 +0000
@@ -1,3 +1,26 @@
+2019-12-11  Tom Tromey  <tom@tromey.com>
+
+	* gdb.tui/resize.exp: Fix regexp.
+	* gdb.tui/regs.exp: Fix regexps.
+	* gdb.tui/main.exp: Fix regexp.
+
+2019-12-11  Tom Tromey  <tom@tromey.com>
+
+	* gdb.tui/resize.exp: Update.
+	* gdb.tui/empty.exp (layouts): Update.
+
+2019-12-11  Tom Tromey  <tom@tromey.com>
+
+	* gdb.tui/regs.exp: Update.
+	* gdb.tui/empty.exp (layouts): Update.
+	* gdb.tui/basic.exp: Update.
+	* lib/tuiterm.exp (_check_box): Don't check bottom border.
+
+2019-12-11  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
+
+	* gdb.base/options.exp: Add -raw-values in the print completion list.
+	* gdb.python/py-prettyprint.exp: Add tests for -raw-values.
+
 2019-12-10  Kevin Buettner  <kevinb@redhat.com>
 
 	* gdb.threads/omp-par-scope.c: New file.
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.20191211/gdb/testsuite/gdb.base/options.exp ./gdb/testsuite/gdb.base/options.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/testsuite/gdb.base/options.exp	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/testsuite/gdb.base/options.exp	2019-12-15 01:49:40.000000000 +0000
@@ -168,6 +168,7 @@ proc_with_prefix test-print {{prefix ""}
 	"-null-stop"
 	"-object"
 	"-pretty"
+	"-raw-values"
 	"-repeats"
 	"-static-members"
 	"-symbol"
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.20191211/gdb/testsuite/gdb.python/py-prettyprint.exp ./gdb/testsuite/gdb.python/py-prettyprint.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/testsuite/gdb.python/py-prettyprint.exp	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/testsuite/gdb.python/py-prettyprint.exp	2019-12-15 01:49:40.000000000 +0000
@@ -199,3 +199,24 @@ gdb_test_no_output "python enable_lookup
 
 gdb_test "print ss" " = a=< a=<1> b=<$hex>> b=< a=<2> b=<$hex>>" \
     "print ss enabled #2"
+
+gdb_test "print -raw-values -- ss" " = {a = {a = 1, b = $hex}, b = {a = 2, b = $hex}}" \
+    "print -raw-values -- ss"
+
+gdb_test "print -raw-values on -- ss" " = {a = {a = 1, b = $hex}, b = {a = 2, b = $hex}}" \
+    "print -raw-values on -- ss"
+
+gdb_test "with print raw-values -- print ss" " = {a = {a = 1, b = $hex}, b = {a = 2, b = $hex}}" \
+    "with print raw-values -- print ss"
+
+# Test interaction between /r format and raw-values option:
+#   When /r is not present, raw-values option tells to bypass (or not) the pretty printers.
+#     (these cases are tested above).
+#   When /r is present, it must override the option raw-values off.
+gdb_test "print /r ss" " = {a = {a = 1, b = $hex}, b = {a = 2, b = $hex}}"
+
+gdb_test "with print raw-values off -- print /r ss" " = {a = {a = 1, b = $hex}, b = {a = 2, b = $hex}}"
+
+gdb_test "print -raw-values off -- /r ss" " = {a = {a = 1, b = $hex}, b = {a = 2, b = $hex}}"
+
+
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.20191211/gdb/testsuite/gdb.tui/basic.exp ./gdb/testsuite/gdb.tui/basic.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/testsuite/gdb.tui/basic.exp	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/testsuite/gdb.tui/basic.exp	2019-12-15 01:49:40.000000000 +0000
@@ -45,5 +45,5 @@ Term::check_box "asm box" 0 0 80 15
 Term::command "layout split"
 Term::check_contents "split layout contents" "21 *return 0.*$hex <main>"
 
-Term::check_box "source box in split layout" 0 0 80 8
-Term::check_box "asm box in split layout" 0 7 80 8
+Term::check_box "source box in split layout" 0 0 80 7
+Term::check_box "asm box in split layout" 0 6 80 9
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.20191211/gdb/testsuite/gdb.tui/empty.exp ./gdb/testsuite/gdb.tui/empty.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/testsuite/gdb.tui/empty.exp	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/testsuite/gdb.tui/empty.exp	2019-12-15 01:49:40.000000000 +0000
@@ -32,28 +32,28 @@ if {![Term::enter_tui]} {
 # 4. List of boxes in 90x40 mode
 # 5. List of test name and text for the empty window
 set layouts {
-    {src src {{0 0 80 15}} {{0 0 90 23}}
+    {src src {{0 0 80 15}} {{0 0 90 26}}
 	{{"no source" "No Source Available"}}}
-    {regs src-regs {{0 0 80 8} {0 7 80 8}} {{0 0 90 13} {0 12 90 13}}
+    {regs src-regs {{0 0 80 7} {0 6 80 9}} {{0 0 90 13} {0 12 90 13}}
 	{
 	    {"no source" "No Source Available"}
 	    {"no regs" "Register Values Unavailable"}
 	}}
-    {asm asm {{0 0 80 15}} {{0 0 90 23}}
+    {asm asm {{0 0 80 13}} {{0 0 90 26}}
 	{
 	    {"no asm" "No Assembly Available"}
 	}}
-    {regs asm-regs {{0 0 80 8} {0 7 80 8}} {{0 0 90 13} {0 12 90 13}}
+    {regs asm-regs {{0 0 80 7} {0 6 80 9}} {{0 0 90 13} {0 12 90 13}}
 	{
 	    {"no asm" "No Assembly Available"}
 	    {"no regs" "Register Values Unavailable"}
 	}}
-    {split split {{0 0 80 8} {0 7 80 8}} {{0 0 90 13} {0 12 90 13}}
+    {split split {{0 0 80 6} {0 5 80 8}} {{0 0 90 13} {0 12 90 13}}
 	{
 	    {"no source" "No Source Available"}
 	    {"no asm" "No Assembly Available"}
 	}}
-    {regs split-regs {{0 0 80 8} {0 7 80 8}} {{0 0 90 13} {0 12 90 13}}
+    {regs split-regs {{0 0 80 6} {0 5 80 8}} {{0 0 90 13} {0 12 90 13}}
 	{
 	    {"no asm" "No Assembly Available"}
 	    {"no regs" "Register Values Unavailable"}
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.20191211/gdb/testsuite/gdb.tui/main.exp ./gdb/testsuite/gdb.tui/main.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/testsuite/gdb.tui/main.exp	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/testsuite/gdb.tui/main.exp	2019-12-15 01:49:40.000000000 +0000
@@ -31,4 +31,4 @@ if {![Term::enter_tui]} {
 }
 
 Term::command "file [standard_output_file $testfile]"
-Term::check_contents "show main after file" ">|21 *return 0"
+Term::check_contents "show main after file" "\\|.*21 *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-9.0.50.20191211/gdb/testsuite/gdb.tui/regs.exp ./gdb/testsuite/gdb.tui/regs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/testsuite/gdb.tui/regs.exp	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/testsuite/gdb.tui/regs.exp	2019-12-15 01:49:40.000000000 +0000
@@ -34,12 +34,12 @@ if {![Term::enter_tui]} {
     unsupported "TUI not supported"
 }
 
-Term::check_contents "source at startup" ">|21 *return 0"
+Term::check_contents "source at startup" "\\|.*21 *return 0"
 
 Term::command "layout regs"
-Term::check_box "register box" 0 0 80 8
-Term::check_box "source box in regs layout" 0 7 80 8
+Term::check_box "register box" 0 0 80 7
+Term::check_box "source box in regs layout" 0 6 80 9
 
 set text [Term::get_line 1]
 # Just check for any register window content at all.
-Term::check_contents "any register contents" "^|.*\[^ \].*|$"
+Term::check_contents "any register contents" "\\|.*\[^ \].*\\|"
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.20191211/gdb/testsuite/gdb.tui/resize.exp ./gdb/testsuite/gdb.tui/resize.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/testsuite/gdb.tui/resize.exp	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/testsuite/gdb.tui/resize.exp	2019-12-15 01:49:40.000000000 +0000
@@ -34,7 +34,7 @@ if {![Term::enter_tui]} {
     unsupported "TUI not supported"
 }
 
-Term::check_contents "source at startup" ">|21 *return 0"
+Term::check_contents "source at startup" "\\|.*21 *return 0"
 
 Term::resize 40 90
-Term::check_box "source box after resize" 0 0 90 23
+Term::check_box "source box after resize" 0 0 90 26
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.20191211/gdb/testsuite/lib/tuiterm.exp ./gdb/testsuite/lib/tuiterm.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/testsuite/lib/tuiterm.exp	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/testsuite/lib/tuiterm.exp	2019-12-15 01:49:40.000000000 +0000
@@ -555,13 +555,9 @@ namespace eval Term {
 	    return "lr corner"
 	}
 
-	for {set i [expr {$x + 1}]} {$i < $x2 - 1} {incr i} {
-	    # Note we do not check the top border of the box, because
-	    # it will contain a title.
-	    if {[get_char $i $y2] != "-"} {
-		return "bottom border $i"
-	    }
-	}
+	# Note we do not check the horizonal borders of the box.  The
+	# top will contain a title, and the bottom may as well, if it
+	# is overlapped by some other border.
 	for {set i [expr {$y + 1}]} {$i < $y2 - 1} {incr i} {
 	    if {[get_char $x $i] != "|"} {
 		return "left side $i"
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.20191211/gdb/top.c ./gdb/top.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/top.c	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/top.c	2019-12-15 01:49:40.000000000 +0000
@@ -54,6 +54,7 @@
 #include "gdb_select.h"
 #include "gdbsupport/scope-exit.h"
 #include "gdbarch.h"
+#include "gdbsupport/pathstuff.h"
 
 /* readline include files.  */
 #include "readline/readline.h"
@@ -1994,12 +1995,13 @@ init_history (void)
          that was read.  */
 #ifdef __MSDOS__
       /* No leading dots in file names are allowed on MSDOS.  */
-      history_filename = concat (current_directory, "/_gdb_history",
-				 (char *)NULL);
+      const char *fname = "_gdb_history";
 #else
-      history_filename = concat (current_directory, "/.gdb_history",
-				 (char *)NULL);
+      const char *fname = ".gdb_history";
 #endif
+
+      gdb::unique_xmalloc_ptr<char> temp (gdb_abspath (fname));
+      history_filename = temp.release ();
     }
   read_history (history_filename);
 }
@@ -2077,8 +2079,12 @@ set_history_filename (const char *args,
      directories the file written will be the same as the one
      that was read.  */
   if (!IS_ABSOLUTE_PATH (history_filename))
-    history_filename = reconcat (history_filename, current_directory, "/", 
-				 history_filename, (char *) NULL);
+    {
+      gdb::unique_xmalloc_ptr<char> temp (gdb_abspath (history_filename));
+
+      xfree (history_filename);
+      history_filename = temp.release ();
+    }
 }
 
 static void
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.20191211/gdb/tracefile-tfile.c ./gdb/tracefile-tfile.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/tracefile-tfile.c	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/tracefile-tfile.c	2019-12-15 01:49:40.000000000 +0000
@@ -32,6 +32,7 @@
 #include "xml-tdesc.h"
 #include "target-descriptions.h"
 #include "gdbsupport/buffer.h"
+#include "gdbsupport/pathstuff.h"
 #include <algorithm>
 
 #ifndef O_LARGEFILE
@@ -470,8 +471,7 @@ tfile_target_open (const char *arg, int 
 
   gdb::unique_xmalloc_ptr<char> filename (tilde_expand (arg));
   if (!IS_ABSOLUTE_PATH (filename.get ()))
-    filename.reset (concat (current_directory, "/", filename.get (),
-			    (char *) NULL));
+    filename = gdb_abspath (filename.get ());
 
   flags = O_BINARY | O_LARGEFILE;
   flags |= O_RDONLY;
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.20191211/gdb/tui/tui-command.c ./gdb/tui/tui-command.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/tui/tui-command.c	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/tui/tui-command.c	2019-12-15 01:49:40.000000000 +0000
@@ -50,8 +50,8 @@ tui_cmd_window::resize (int height_, int
     }
   else
     viewport_height = 1;
-  origin.x = origin_x;
-  origin.y = origin_y;
+  x = origin_x;
+  y = origin_y;
 
   if (handle == nullptr)
     make_window ();
@@ -66,7 +66,7 @@ tui_cmd_window::resize (int height_, int
 #ifdef HAVE_WRESIZE
       wresize (handle.get (), height, width);
 #endif
-      mvwin (handle.get (), origin.y, origin.x);
+      mvwin (handle.get (), y, x);
       wmove (handle.get (), 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-9.0.50.20191211/gdb/tui/tui-data.h ./gdb/tui/tui-data.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/tui/tui-data.h	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/tui/tui-data.h	2019-12-15 01:49:40.000000000 +0000
@@ -30,12 +30,6 @@ struct tui_cmd_window;
 struct tui_source_window_base;
 struct tui_source_window;
 
-/* This is a point definition.  */
-struct tui_point
-{
-  int x, y;
-};
-
 /* A deleter that calls delwin.  */
 struct curses_deleter
 {
@@ -82,6 +76,18 @@ public:
     return "";
   }
 
+  /* Compute the maximum height of this window.  */
+  virtual int max_height () const = 0;
+
+  /* Compute the minimum height of this window.  */
+  virtual int min_height () const = 0;
+
+  /* Return true if this window can be boxed.  */
+  virtual bool can_box () const
+  {
+    return false;
+  }
+
   /* Resize this window.  The parameters are used to set the window's
      size and position.  */
   virtual void resize (int height, int width,
@@ -102,7 +108,8 @@ public:
   /* Window height.  */
   int height = 0;
   /* Origin of window.  */
-  struct tui_point origin = {0, 0};
+  int x = 0;
+  int y = 0;
   /* Viewport height.  */
   int viewport_height = 0;
 };
@@ -173,8 +180,12 @@ public:
   {
   }
 
-  /* Compute the maximum height of this window.  */
-  virtual int max_height () const;
+  int max_height () const override;
+
+  int min_height () const override
+  {
+    return MIN_WIN_HEIGHT;
+  }
 
   /* Called after the tab width has been changed.  */
   virtual void update_tab_width ()
@@ -201,7 +212,7 @@ public:
     return true;
   }
 
-  virtual bool can_box () const
+  bool can_box () const override
   {
     return true;
   }
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.20191211/gdb/tui/tui-layout.c ./gdb/tui/tui-layout.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/tui/tui-layout.c	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/tui/tui-layout.c	2019-12-15 01:49:40.000000000 +0000
@@ -41,17 +41,18 @@
 #include "gdb_curses.h"
 
 static void show_layout (enum tui_layout_type);
-static void show_source_or_disasm_and_command (enum tui_layout_type);
-static void show_source_command (void);
-static void show_disasm_command (void);
-static void show_source_disasm_command (void);
-static void show_data (enum tui_layout_type);
 static enum tui_layout_type next_layout (void);
 static enum tui_layout_type prev_layout (void);
 static void tui_layout_command (const char *, int);
 static void extract_display_start_addr (struct gdbarch **, CORE_ADDR *);
 
 
+/* The pre-defined layouts.  */
+static tui_layout_split *standard_layouts[UNDEFINED_LAYOUT];
+
+/* The layout that is currently applied.  */
+static std::unique_ptr<tui_layout_base> applied_layout;
+
 static enum tui_layout_type current_layout = UNDEFINED_LAYOUT;
 
 /* Accessor for the current layout.  */
@@ -61,6 +62,21 @@ tui_current_layout (void)
   return current_layout;
 }
 
+/* See tui-layout.h.  */
+
+void
+tui_apply_current_layout ()
+{
+  applied_layout->apply (0, 0, tui_term_width (), tui_term_height ());
+}
+
+/* See tui-layout.  */
+
+void
+tui_adjust_window_height (struct tui_win_info *win, int new_height)
+{
+  applied_layout->adjust_size (win->name (), new_height);
+}
 
 /* Show the screen layout defined.  */
 static void
@@ -71,26 +87,8 @@ show_layout (enum tui_layout_type layout
   if (layout != cur_layout)
     {
       tui_make_all_invisible ();
-      switch (layout)
-	{
-	case SRC_DATA_COMMAND:
-	case DISASSEM_DATA_COMMAND:
-	  show_data (layout);
-	  break;
-	  /* Now show the new layout.  */
-	case SRC_COMMAND:
-	  show_source_command ();
-	  break;
-	case DISASSEM_COMMAND:
-	  show_disasm_command ();
-	  break;
-	case SRC_DISASSEM_COMMAND:
-	  show_source_disasm_command ();
-	  break;
-	default:
-	  break;
-	}
-
+      applied_layout = standard_layouts[layout]->clone ();
+      tui_apply_current_layout ();
       current_layout = layout;
       tui_delete_invisible_windows ();
     }
@@ -364,111 +362,12 @@ prev_layout (void)
   return (enum tui_layout_type) new_layout;
 }
 
-/* Show the Source/Command layout.  */
-static void
-show_source_command (void)
-{
-  show_source_or_disasm_and_command (SRC_COMMAND);
-}
-
-
-/* Show the Dissassem/Command layout.  */
-static void
-show_disasm_command (void)
-{
-  show_source_or_disasm_and_command (DISASSEM_COMMAND);
-}
-
-
-/* Show the Source/Disassem/Command layout.  */
-static void
-show_source_disasm_command (void)
-{
-  int cmd_height, src_height, asm_height;
-
-  if (TUI_CMD_WIN != NULL)
-    cmd_height = TUI_CMD_WIN->height;
-  else
-    cmd_height = tui_term_height () / 3;
-
-  src_height = (tui_term_height () - cmd_height) / 2;
-  asm_height = tui_term_height () - (src_height + cmd_height);
-
-  if (TUI_SRC_WIN == NULL)
-    tui_win_list[SRC_WIN] = new tui_source_window ();
-  TUI_SRC_WIN->resize (src_height,
-		       tui_term_width (),
-		       0,
-		       0);
-
-  struct tui_locator_window *locator = tui_locator_win_info_ptr ();
-  gdb_assert (locator != nullptr);
-
-  if (TUI_DISASM_WIN == NULL)
-    tui_win_list[DISASSEM_WIN] = new tui_disasm_window ();
-  TUI_DISASM_WIN->resize (asm_height,
-			  tui_term_width (),
-			  0,
-			  src_height - 1);
-  locator->resize (1, tui_term_width (),
-		   0, (src_height + asm_height) - 1);
-
-  if (TUI_CMD_WIN == NULL)
-    tui_win_list[CMD_WIN] = new tui_cmd_window ();
-  TUI_CMD_WIN->resize (cmd_height,
-		       tui_term_width (),
-		       0,
-		       tui_term_height () - cmd_height);
-}
-
-
-/* Show the Source/Data/Command or the Dissassembly/Data/Command
-   layout.  */
-static void
-show_data (enum tui_layout_type new_layout)
-{
-  int total_height = (tui_term_height () - TUI_CMD_WIN->height);
-  int src_height, data_height;
-  enum tui_win_type win_type;
-
-  struct tui_locator_window *locator = tui_locator_win_info_ptr ();
-  gdb_assert (locator != nullptr);
-
-  data_height = total_height / 2;
-  src_height = total_height - data_height;
-  if (tui_win_list[DATA_WIN] == nullptr)
-    tui_win_list[DATA_WIN] = new tui_data_window ();
-  tui_win_list[DATA_WIN]->resize (data_height, tui_term_width (), 0, 0);
-
-  if (new_layout == SRC_DATA_COMMAND)
-    win_type = SRC_WIN;
-  else
-    win_type = DISASSEM_WIN;
-
-  if (tui_win_list[win_type] == NULL)
-    {
-      if (win_type == SRC_WIN)
-	tui_win_list[win_type] = new tui_source_window ();
-      else
-	tui_win_list[win_type] = new tui_disasm_window ();
-    }
-
-  tui_win_list[win_type]->resize (src_height,
-				  tui_term_width (),
-				  0,
-				  data_height - 1);
-  locator->resize (1, tui_term_width (),
-		   0, total_height - 1);
-  TUI_CMD_WIN->resize (TUI_CMD_WIN->height, tui_term_width (),
-		       0, total_height);
-}
-
 void
 tui_gen_win_info::resize (int height_, int width_,
 			  int origin_x_, int origin_y_)
 {
   if (width == width_ && height == height_
-      && origin.x == origin_x_ && origin.y == origin_y_
+      && x == origin_x_ && y == origin_y_
       && handle != nullptr)
     return;
 
@@ -478,14 +377,14 @@ tui_gen_win_info::resize (int height_, i
     viewport_height = height - 2;
   else
     viewport_height = 1;
-  origin.x = origin_x_;
-  origin.y = origin_y_;
+  x = origin_x_;
+  y = origin_y_;
 
   if (handle != nullptr)
     {
 #ifdef HAVE_WRESIZE
       wresize (handle.get (), height, width);
-      mvwin (handle.get (), origin.y, origin.x);
+      mvwin (handle.get (), y, x);
       wmove (handle.get (), 0, 0);
 #else
       handle.reset (nullptr);
@@ -498,47 +397,396 @@ tui_gen_win_info::resize (int height_, i
   rerender ();
 }
 
-/* Show the Source/Command or the Disassem layout.  */
-static void
-show_source_or_disasm_and_command (enum tui_layout_type layout_type)
-{
-  struct tui_source_window_base *win_info;
-  int src_height, cmd_height;
-  struct tui_locator_window *locator = tui_locator_win_info_ptr ();
-  gdb_assert (locator != nullptr);
+
 
-  if (TUI_CMD_WIN != NULL)
-    cmd_height = TUI_CMD_WIN->height;
-  else
-    cmd_height = tui_term_height () / 3;
-  src_height = tui_term_height () - cmd_height;
+/* Helper function that returns a TUI window, given its name.  */
 
-  if (layout_type == SRC_COMMAND)
+static tui_gen_win_info *
+tui_get_window_by_name (const std::string &name)
+{
+  if (name == "src")
     {
       if (tui_win_list[SRC_WIN] == nullptr)
 	tui_win_list[SRC_WIN] = new tui_source_window ();
-      win_info = TUI_SRC_WIN;
+      return tui_win_list[SRC_WIN];
     }
-  else
+  else if (name == "cmd")
+    {
+      if (tui_win_list[CMD_WIN] == nullptr)
+	tui_win_list[CMD_WIN] = new tui_cmd_window ();
+      return tui_win_list[CMD_WIN];
+    }
+  else if (name == "regs")
+    {
+      if (tui_win_list[DATA_WIN] == nullptr)
+	tui_win_list[DATA_WIN] = new tui_data_window ();
+      return tui_win_list[DATA_WIN];
+    }
+  else if (name == "asm")
     {
       if (tui_win_list[DISASSEM_WIN] == nullptr)
 	tui_win_list[DISASSEM_WIN] = new tui_disasm_window ();
-      win_info = TUI_DISASM_WIN;
+      return tui_win_list[DISASSEM_WIN];
+    }
+  else
+    {
+      gdb_assert (name == "locator");
+      return tui_locator_win_info_ptr ();
+    }
+}
+
+/* See tui-layout.h.  */
+
+std::unique_ptr<tui_layout_base>
+tui_layout_window::clone () const
+{
+  tui_layout_window *result = new tui_layout_window (m_contents.c_str ());
+  return std::unique_ptr<tui_layout_base> (result);
+}
+
+/* See tui-layout.h.  */
+
+void
+tui_layout_window::apply (int x_, int y_, int width_, int height_)
+{
+  x = x_;
+  y = y_;
+  width = width_;
+  height = height_;
+  gdb_assert (m_window != nullptr);
+  m_window->resize (height, width, x, y);
+}
+
+/* See tui-layout.h.  */
+
+void
+tui_layout_window::get_sizes (int *min_height, int *max_height)
+{
+  if (m_window == nullptr)
+    m_window = tui_get_window_by_name (m_contents);
+  *min_height = m_window->min_height ();
+  *max_height = m_window->max_height ();
+}
+
+/* See tui-layout.h.  */
+
+bool
+tui_layout_window::top_boxed_p () const
+{
+  gdb_assert (m_window != nullptr);
+  return m_window->can_box ();
+}
+
+/* See tui-layout.h.  */
+
+bool
+tui_layout_window::bottom_boxed_p () const
+{
+  gdb_assert (m_window != nullptr);
+  return m_window->can_box ();
+}
+
+/* See tui-layout.h.  */
+
+tui_layout_split *
+tui_layout_split::add_split (int weight)
+{
+  tui_layout_split *result = new tui_layout_split ();
+  split s = {weight, std::unique_ptr<tui_layout_base> (result)};
+  m_splits.push_back (std::move (s));
+  return result;
+}
+
+/* See tui-layout.h.  */
+
+void
+tui_layout_split::add_window (const char *name, int weight)
+{
+  tui_layout_window *result = new tui_layout_window (name);
+  split s = {weight, std::unique_ptr<tui_layout_base> (result)};
+  m_splits.push_back (std::move (s));
+}
+
+/* See tui-layout.h.  */
+
+std::unique_ptr<tui_layout_base>
+tui_layout_split::clone () const
+{
+  tui_layout_split *result = new tui_layout_split ();
+  for (const split &item : m_splits)
+    {
+      std::unique_ptr<tui_layout_base> next = item.layout->clone ();
+      split s = {item.weight, std::move (next)};
+      result->m_splits.push_back (std::move (s));
+    }
+  return std::unique_ptr<tui_layout_base> (result);
+}
+
+/* See tui-layout.h.  */
+
+void
+tui_layout_split::get_sizes (int *min_height, int *max_height)
+{
+  *min_height = 0;
+  *max_height = 0;
+  for (const split &item : m_splits)
+    {
+      int new_min, new_max;
+      item.layout->get_sizes (&new_min, &new_max);
+      *min_height += new_min;
+      *max_height += new_max;
+    }
+}
+
+/* See tui-layout.h.  */
+
+bool
+tui_layout_split::top_boxed_p () const
+{
+  if (m_splits.empty ())
+    return false;
+  return m_splits[0].layout->top_boxed_p ();
+}
+
+/* See tui-layout.h.  */
+
+bool
+tui_layout_split::bottom_boxed_p () const
+{
+  if (m_splits.empty ())
+    return false;
+  return m_splits.back ().layout->top_boxed_p ();
+}
+
+/* See tui-layout.h.  */
+
+void
+tui_layout_split::set_weights_from_heights ()
+{
+  for (int i = 0; i < m_splits.size (); ++i)
+    m_splits[i].weight = m_splits[i].layout->height;
+}
+
+/* See tui-layout.h.  */
+
+bool
+tui_layout_split::adjust_size (const char *name, int new_height)
+{
+  /* Look through the children.  If one is a layout holding the named
+     window, we're done; or if one actually is the named window,
+     update it.  */
+  int found_index = -1;
+  for (int i = 0; i < m_splits.size (); ++i)
+    {
+      if (m_splits[i].layout->adjust_size (name, new_height))
+	return true;
+      const char *win_name = m_splits[i].layout->get_name ();
+      if (win_name != nullptr && strcmp (name, win_name) == 0)
+	{
+	  found_index = i;
+	  break;
+	}
+    }
+
+  if (found_index == -1)
+    return false;
+  if (m_splits[found_index].layout->height == new_height)
+    return true;
+
+  set_weights_from_heights ();
+  int delta = m_splits[found_index].weight - new_height;
+  m_splits[found_index].weight = new_height;
+
+  /* Distribute the "delta" over the next window; but if the next
+     window cannot hold it all, keep going until we either find a
+     window that does, or until we loop all the way around.  */
+  for (int i = 0; delta != 0 && i < m_splits.size () - 1; ++i)
+    {
+      int index = (found_index + 1 + i) % m_splits.size ();
+
+      int new_min, new_max;
+      m_splits[index].layout->get_sizes (&new_min, &new_max);
+
+      if (delta < 0)
+	{
+	  /* The primary window grew, so we are trying to shrink other
+	     windows.  */
+	  int available = m_splits[index].weight - new_min;
+	  int shrink_by = std::min (available, -delta);
+	  m_splits[index].weight -= shrink_by;
+	  delta += shrink_by;
+	}
+      else
+	{
+	  /* The primary window shrank, so we are trying to grow other
+	     windows.  */
+	  int available = new_max - m_splits[index].weight;
+	  int grow_by = std::min (available, delta);
+	  m_splits[index].weight += grow_by;
+	  delta -= grow_by;
+	}
     }
 
-  locator->resize (1, tui_term_width (),
-		   0, src_height - 1);
-  win_info->resize (src_height - 1,
-		    tui_term_width (),
-		    0,
-		    0);
-
-  if (TUI_CMD_WIN == NULL)
-    tui_win_list[CMD_WIN] = new tui_cmd_window ();
-  TUI_CMD_WIN->resize (cmd_height,
-		       tui_term_width (),
-		       0,
-		       src_height);
+  if (delta != 0)
+    {
+      warning (_("Invalid window height specified"));
+      /* Effectively undo any modifications made here.  */
+      set_weights_from_heights ();
+    }
+  else
+    {
+      /* Simply re-apply the updated layout.  */
+      apply (x, y, width, height);
+    }
+
+  return true;
+}
+
+/* See tui-layout.h.  */
+
+void
+tui_layout_split::apply (int x_, int y_, int width_, int height_)
+{
+  x = x_;
+  y = y_;
+  width = width_;
+  height = height_;
+
+  struct height_info
+  {
+    int height;
+    int min_height;
+    int max_height;
+    /* True if this window will share a box border with the previous
+       window in the list.  */
+    bool share_box;
+  };
+
+  std::vector<height_info> info (m_splits.size ());
+
+  /* Step 1: Find the min and max height of each sub-layout.
+     Fixed-sized layouts are given their desired height, and then the
+     remaining space is distributed among the remaining windows
+     according to the weights given.  */
+  int available_height = height;
+  int last_index = -1;
+  int total_weight = 0;
+  for (int i = 0; i < m_splits.size (); ++i)
+    {
+      bool cmd_win_already_exists = TUI_CMD_WIN != nullptr;
+
+      /* Always call get_sizes, to ensure that the window is
+	 instantiated.  This is a bit gross but less gross than adding
+	 special cases for this in other places.  */
+      m_splits[i].layout->get_sizes (&info[i].min_height, &info[i].max_height);
+
+      if (!m_applied
+	  && cmd_win_already_exists
+	  && m_splits[i].layout->get_name () != nullptr
+	  && strcmp (m_splits[i].layout->get_name (), "cmd") == 0)
+	{
+	  /* If this layout has never been applied, then it means the
+	     user just changed the layout.  In this situation, it's
+	     desirable to keep the size of the command window the
+	     same.  Setting the min and max heights this way ensures
+	     that the resizing step, below, does the right thing with
+	     this window.  */
+	  info[i].min_height = TUI_CMD_WIN->height;
+	  info[i].max_height = TUI_CMD_WIN->height;
+	}
+
+      if (info[i].min_height == info[i].max_height)
+	available_height -= info[i].min_height;
+      else
+	{
+	  last_index = i;
+	  total_weight += m_splits[i].weight;
+	}
+
+      /* Two adjacent boxed windows will share a border, making a bit
+	 more height available.  */
+      if (i > 0
+	  && m_splits[i - 1].layout->bottom_boxed_p ()
+	  && m_splits[i].layout->top_boxed_p ())
+	info[i].share_box = true;
+    }
+
+  /* Step 2: Compute the height of each sub-layout.  Fixed-sized items
+     are given their fixed size, while others are resized according to
+     their weight.  */
+  int used_height = 0;
+  for (int i = 0; i < m_splits.size (); ++i)
+    {
+      /* Compute the height and clamp to the allowable range.  */
+      info[i].height = available_height * m_splits[i].weight / total_weight;
+      if (info[i].height > info[i].max_height)
+	info[i].height = info[i].max_height;
+      if (info[i].height < info[i].min_height)
+	info[i].height = info[i].min_height;
+      /* If there is any leftover height, just redistribute it to the
+	 last resizeable window, by dropping it from the allocated
+	 height.  We could try to be fancier here perhaps, by
+	 redistributing this height among all windows, not just the
+	 last window.  */
+      if (info[i].min_height != info[i].max_height)
+	{
+	  used_height += info[i].height;
+	  if (info[i].share_box)
+	    --used_height;
+	}
+    }
+
+  /* Allocate any leftover height.  */
+  if (available_height >= used_height && last_index != -1)
+    info[last_index].height += available_height - used_height;
+
+  /* Step 3: Resize.  */
+  int height_accum = 0;
+  for (int i = 0; i < m_splits.size (); ++i)
+    {
+      /* If we fall off the bottom, just make allocations overlap.
+	 GIGO.  */
+      if (height_accum + info[i].height > height)
+	height_accum = height - info[i].height;
+      else if (info[i].share_box)
+	--height_accum;
+      m_splits[i].layout->apply (x, y + height_accum, width, info[i].height);
+      height_accum += info[i].height;
+    }
+
+  m_applied = true;
+}
+
+static void
+initialize_layouts ()
+{
+  standard_layouts[SRC_COMMAND] = new tui_layout_split ();
+  standard_layouts[SRC_COMMAND]->add_window ("src", 2);
+  standard_layouts[SRC_COMMAND]->add_window ("locator", 0);
+  standard_layouts[SRC_COMMAND]->add_window ("cmd", 1);
+
+  standard_layouts[DISASSEM_COMMAND] = new tui_layout_split ();
+  standard_layouts[DISASSEM_COMMAND]->add_window ("asm", 2);
+  standard_layouts[DISASSEM_COMMAND]->add_window ("locator", 0);
+  standard_layouts[DISASSEM_COMMAND]->add_window ("cmd", 1);
+
+  standard_layouts[SRC_DATA_COMMAND] = new tui_layout_split ();
+  standard_layouts[SRC_DATA_COMMAND]->add_window ("regs", 1);
+  standard_layouts[SRC_DATA_COMMAND]->add_window ("src", 1);
+  standard_layouts[SRC_DATA_COMMAND]->add_window ("locator", 0);
+  standard_layouts[SRC_DATA_COMMAND]->add_window ("cmd", 1);
+
+  standard_layouts[DISASSEM_DATA_COMMAND] = new tui_layout_split ();
+  standard_layouts[DISASSEM_DATA_COMMAND]->add_window ("regs", 1);
+  standard_layouts[DISASSEM_DATA_COMMAND]->add_window ("asm", 1);
+  standard_layouts[DISASSEM_DATA_COMMAND]->add_window ("locator", 0);
+  standard_layouts[DISASSEM_DATA_COMMAND]->add_window ("cmd", 1);
+
+  standard_layouts[SRC_DISASSEM_COMMAND] = new tui_layout_split ();
+  standard_layouts[SRC_DISASSEM_COMMAND]->add_window ("src", 1);
+  standard_layouts[SRC_DISASSEM_COMMAND]->add_window ("asm", 1);
+  standard_layouts[SRC_DISASSEM_COMMAND]->add_window ("locator", 0);
+  standard_layouts[SRC_DISASSEM_COMMAND]->add_window ("cmd", 1);
 }
 
 
@@ -565,4 +813,6 @@ Layout names are:\n\
            the register window is displayed with \n\
            the window that has current logical focus."));
   set_cmd_completer (cmd, layout_completer);
+
+  initialize_layouts ();
 }
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.20191211/gdb/tui/tui-layout.h ./gdb/tui/tui-layout.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/tui/tui-layout.h	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/tui/tui-layout.h	2019-12-15 01:49:40.000000000 +0000
@@ -25,7 +25,160 @@
 #include "tui/tui.h"
 #include "tui/tui-data.h"
 
+/* The basic object in a TUI layout.  This represents a single piece
+   of screen real estate.  Subclasses determine the exact
+   behavior.  */
+class tui_layout_base
+{
+public:
+
+  DISABLE_COPY_AND_ASSIGN (tui_layout_base);
+
+  /* Clone this object.  Ordinarily a layout is cloned before it is
+     used, so that any necessary modifications do not affect the
+     "skeleton" layout.  */
+  virtual std::unique_ptr<tui_layout_base> clone () const = 0;
+
+  /* Change the size and location of this layout.  */
+  virtual void apply (int x, int y, int width, int height) = 0;
+
+  /* Return the minimum and maximum height of this layout.  */
+  virtual void get_sizes (int *min_height, int *max_height) = 0;
+
+  /* True if the topmost item in this layout is boxed.  */
+  virtual bool top_boxed_p () const = 0;
+
+  /* True if the bottommost item in this layout is boxed.  */
+  virtual bool bottom_boxed_p () const = 0;
+
+  /* Return the name of this layout's window, or nullptr if this
+     layout does not represent a single window.  */
+  virtual const char *get_name () const
+  {
+    return nullptr;
+  }
+
+  /* Adjust the size of the window named NAME to NEW_HEIGHT, updating
+     the sizes of the other windows around it.  */
+  virtual bool adjust_size (const char *name, int new_height) = 0;
+
+  /* The most recent space allocation.  */
+  int x = 0;
+  int y = 0;
+  int width = 0;
+  int height = 0;
+
+protected:
+
+  tui_layout_base () = default;
+};
+
+/* A TUI layout object that displays a single window.  The window is
+   given by name.  */
+class tui_layout_window : public tui_layout_base
+{
+public:
+
+  explicit tui_layout_window (const char *name)
+    : m_contents (name)
+  {
+  }
+
+  DISABLE_COPY_AND_ASSIGN (tui_layout_window);
+
+  std::unique_ptr<tui_layout_base> clone () const override;
+
+  void apply (int x, int y, int width, int height) override;
+
+  const char *get_name () const override
+  {
+    return m_contents.c_str ();
+  }
+
+  bool adjust_size (const char *name, int new_height) override
+  {
+    return false;
+  }
+
+  bool top_boxed_p () const override;
+
+  bool bottom_boxed_p () const override;
+
+protected:
+
+  void get_sizes (int *min_height, int *max_height) override;
+
+private:
+
+  /* Type of content to display.  */
+  std::string m_contents;
+
+  /* When a layout is applied, this is updated to point to the window
+     object.  */
+  tui_gen_win_info *m_window = nullptr;
+};
+
+/* A TUI layout that holds other layouts.  */
+class tui_layout_split : public tui_layout_base
+{
+public:
+
+  tui_layout_split () = default;
+
+  DISABLE_COPY_AND_ASSIGN (tui_layout_split);
+
+  /* Add a new split layout to this layout.  WEIGHT is the desired
+     size, which is relative to the other weights given in this
+     layout.  */
+  tui_layout_split *add_split (int weight);
+
+  /* Add a new window to this layout.  NAME is the name of the window
+     to add.  WEIGHT is the desired size, which is relative to the
+     other weights given in this layout.  */
+  void add_window (const char *name, int weight);
+
+  std::unique_ptr<tui_layout_base> clone () const override;
+
+  void apply (int x, int y, int width, int height) override;
+
+  bool adjust_size (const char *name, int new_height) override;
+
+  bool top_boxed_p () const override;
+
+  bool bottom_boxed_p () const override;
+
+protected:
+
+  void get_sizes (int *min_height, int *max_height) override;
+
+private:
+
+  /* Set the weights from the current heights.  */
+  void set_weights_from_heights ();
+
+  struct split
+  {
+    /* The requested weight.  */
+    int weight;
+    /* The layout.  */
+    std::unique_ptr<tui_layout_base> layout;
+  };
+
+  /* The splits.  */
+  std::vector<split> m_splits;
+
+  /* True if this layout has already been applied at least once.  */
+  bool m_applied = false;
+};
+
 extern void tui_add_win_to_layout (enum tui_win_type);
 extern void tui_set_layout (enum tui_layout_type);
 
+/* Apply the current layout.  */
+extern void tui_apply_current_layout ();
+
+/* Adjust the window height of WIN to NEW_HEIGHT.  */
+extern void tui_adjust_window_height (struct tui_win_info *win,
+				      int new_height);
+
 #endif /* TUI_TUI_LAYOUT_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.20191211/gdb/tui/tui-regs.h ./gdb/tui/tui-regs.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/tui/tui-regs.h	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/tui/tui-regs.h	2019-12-15 01:49:40.000000000 +0000
@@ -41,6 +41,16 @@ struct tui_data_item_window : public tui
 
   void refresh_window () override;
 
+  int max_height () const override
+  {
+    return 1;
+  }
+
+  int min_height () const override
+  {
+    return 1;
+  }
+
   const char *name = nullptr;
   /* The register number, or data display number.  */
   int item_no = -1;
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.20191211/gdb/tui/tui-stack.h ./gdb/tui/tui-stack.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/tui/tui-stack.h	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/tui/tui-stack.h	2019-12-15 01:49:40.000000000 +0000
@@ -37,6 +37,16 @@ struct tui_locator_window : public tui_g
     proc_name[0] = 0;
   }
 
+  int max_height () const override
+  {
+    return 1;
+  }
+
+  int min_height () const override
+  {
+    return 1;
+  }
+
   void rerender () override;
 
   /* Update the locator, with the provided arguments.
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.20191211/gdb/tui/tui-win.c ./gdb/tui/tui-win.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/tui/tui-win.c	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/tui/tui-win.c	2019-12-15 01:49:40.000000000 +0000
@@ -56,9 +56,6 @@
 
 #include <signal.h>
 
-static enum tui_status tui_adjust_win_heights (struct tui_win_info *, 
-					       int);
-static int new_height_ok (struct tui_win_info *, int);
 static void tui_set_tab_width_command (const char *, int);
 static void tui_refresh_all_command (const char *, int);
 static void tui_all_windows_info (const char *, int);
@@ -536,13 +533,7 @@ tui_resize_all (void)
   height_diff = screenheight - tui_term_height ();
   if (height_diff || width_diff)
     {
-      enum tui_layout_type cur_layout = tui_current_layout ();
       struct tui_win_info *win_with_focus = tui_win_with_focus ();
-      struct tui_win_info *first_win;
-      struct tui_win_info *second_win;
-      tui_source_window_base *src_win;
-      struct tui_locator_window *locator = tui_locator_win_info_ptr ();
-      int new_height, split_diff, cmd_split_diff, num_wins_displayed = 2;
 
 #ifdef HAVE_RESIZE_TERM
       resize_term (screenheight, screenwidth);
@@ -553,108 +544,12 @@ tui_resize_all (void)
       tui_update_gdb_sizes ();
       tui_set_term_height_to (screenheight);
       tui_set_term_width_to (screenwidth);
-      if (cur_layout == SRC_DISASSEM_COMMAND 
-	  || cur_layout == SRC_DATA_COMMAND
-	  || cur_layout == DISASSEM_DATA_COMMAND)
-	num_wins_displayed++;
-      split_diff = height_diff / num_wins_displayed;
-      cmd_split_diff = split_diff;
-      if (height_diff % num_wins_displayed)
-	{
-	  if (height_diff < 0)
-	    cmd_split_diff--;
-	  else
-           cmd_split_diff++;
-       }
-      /* Now adjust each window.  */
+
       /* erase + clearok are used instead of a straightforward clear as
          AIX 5.3 does not define clear.  */
       erase ();
       clearok (curscr, TRUE);
-      switch (cur_layout)
-       {
-	case SRC_COMMAND:
-	case DISASSEM_COMMAND:
-	  src_win = *(tui_source_windows ().begin ());
-	  /* Check for invalid heights.  */
-	  if (height_diff == 0)
-	    new_height = src_win->height;
-	  else if ((src_win->height + split_diff) >=
-		   (screenheight - MIN_CMD_WIN_HEIGHT - 1))
-	    new_height = screenheight - MIN_CMD_WIN_HEIGHT - 1;
-	  else if ((src_win->height + split_diff) <= 0)
-	    new_height = MIN_WIN_HEIGHT;
-	  else
-	    new_height = src_win->height + split_diff;
-
-	  src_win->resize (new_height, screenwidth, 0, 0);
-
-	  locator->resize (1, screenwidth, 0, new_height);
-
-	  new_height = screenheight - (new_height + 1);
-	  TUI_CMD_WIN->resize (new_height, screenwidth,
-			       0, locator->origin.y + 1);
-	  break;
-	default:
-	  if (cur_layout == SRC_DISASSEM_COMMAND)
-	    {
-	      src_win = TUI_SRC_WIN;
-	      first_win = src_win;
-	      second_win = TUI_DISASM_WIN;
-	    }
-	  else
-	    {
-	      first_win = TUI_DATA_WIN;
-	      src_win = *(tui_source_windows ().begin ());
-	      second_win = src_win;
-	    }
-	  /* Change the first window's height/width.  */
-	  /* Check for invalid heights.  */
-	  if (height_diff == 0)
-	    new_height = first_win->height;
-	  else if ((first_win->height +
-		    second_win->height + (split_diff * 2)) >=
-		   (screenheight - MIN_CMD_WIN_HEIGHT - 1))
-	    new_height = (screenheight - MIN_CMD_WIN_HEIGHT - 1) / 2;
-	  else if ((first_win->height + split_diff) <= 0)
-	    new_height = MIN_WIN_HEIGHT;
-	  else
-	    new_height = first_win->height + split_diff;
-
-	  first_win->resize (new_height, screenwidth, 0, 0);
-
-	  /* Change the second window's height/width.  */
-	  /* Check for invalid heights.  */
-	  if (height_diff == 0)
-	    new_height = second_win->height;
-	  else if ((first_win->height +
-		    second_win->height + (split_diff * 2)) >=
-		   (screenheight - MIN_CMD_WIN_HEIGHT - 1))
-	    {
-	      new_height = screenheight - MIN_CMD_WIN_HEIGHT - 1;
-	      if (new_height % 2)
-		new_height = (new_height / 2) + 1;
-	      else
-		new_height /= 2;
-	    }
-	  else if ((second_win->height + split_diff) <= 0)
-	    new_height = MIN_WIN_HEIGHT;
-	  else
-	    new_height = second_win->height + split_diff;
-
-	  second_win->resize (new_height, screenwidth,
-			      0, first_win->height - 1);
-
-	  locator->resize (1, screenwidth,
-			   0, second_win->origin.y + new_height);
-
-	  /* Change the command window's height/width.  */
-	  new_height = screenheight - (locator->origin.y + 1);
-	  TUI_CMD_WIN->resize (new_height, screenwidth,
-			       0, locator->origin.y + 1);
-	  break;
-	}
-
+      tui_apply_current_layout ();
       tui_delete_invisible_windows ();
       /* Turn keypad back on, unless focus is in the command
 	 window.  */
@@ -1034,12 +929,8 @@ tui_set_win_height_command (const char *
 
 		  /* Now change the window's height, and adjust
 		     all other windows around it.  */
-		  if (tui_adjust_win_heights (win_info,
-					      new_height) == TUI_FAILURE)
-		    warning (_("Invalid window height specified.\n%s"),
-			     WIN_HEIGHT_USAGE);
-		  else
-		    tui_update_gdb_sizes ();
+		  tui_adjust_window_height (win_info, new_height);
+		  tui_update_gdb_sizes ();
 		}
 	      else
 		warning (_("Invalid window height specified.\n%s"),
@@ -1053,170 +944,6 @@ tui_set_win_height_command (const char *
     printf_filtered (WIN_HEIGHT_USAGE);
 }
 
-/* Function to adjust all window heights around the primary.   */
-static enum tui_status
-tui_adjust_win_heights (struct tui_win_info *primary_win_info,
-			int new_height)
-{
-  enum tui_status status = TUI_FAILURE;
-
-  if (new_height_ok (primary_win_info, new_height))
-    {
-      status = TUI_SUCCESS;
-      if (new_height != primary_win_info->height)
-	{
-	  int diff;
-	  struct tui_win_info *win_info;
-	  struct tui_locator_window *locator = tui_locator_win_info_ptr ();
-	  enum tui_layout_type cur_layout = tui_current_layout ();
-	  int width = tui_term_width ();
-
-	  diff = (new_height - primary_win_info->height) * (-1);
-	  if (cur_layout == SRC_COMMAND 
-	      || cur_layout == DISASSEM_COMMAND)
-	    {
-	      struct tui_win_info *src_win_info;
-
-	      primary_win_info->resize (new_height, width,
-					0, primary_win_info->origin.y);
-	      if (primary_win_info->type == CMD_WIN)
-		{
-		  win_info = *(tui_source_windows ().begin ());
-		  src_win_info = win_info;
-		}
-	      else
-		{
-		  win_info = tui_win_list[CMD_WIN];
-		  src_win_info = primary_win_info;
-		}
-	      win_info->resize (win_info->height + diff, width,
-				0, win_info->origin.y);
-	      TUI_CMD_WIN->origin.y = locator->origin.y + 1;
-	      if ((src_win_info->type == SRC_WIN
-		   || src_win_info->type == DISASSEM_WIN))
-		{
-		  tui_source_window_base *src_base
-		    = (tui_source_window_base *) src_win_info;
-		  if (src_base->content.empty ())
-		    src_base->erase_source_content ();
-		}
-	    }
-	  else
-	    {
-	      struct tui_win_info *first_win;
-	      struct tui_source_window_base *second_win;
-	      tui_source_window_base *src1;
-
-	      if (cur_layout == SRC_DISASSEM_COMMAND)
-		{
-		  src1 = TUI_SRC_WIN;
-		  first_win = src1;
-		  second_win = TUI_DISASM_WIN;
-		}
-	      else
-		{
-		  src1 = nullptr;
-		  first_win = TUI_DATA_WIN;
-		  second_win = *(tui_source_windows ().begin ());
-		}
-	      if (primary_win_info == TUI_CMD_WIN)
-		{ /* Split the change in height across the 1st & 2nd
-		     windows, adjusting them as well.  */
-		  /* Subtract the locator.  */
-		  int first_split_diff = diff / 2;
-		  int second_split_diff = first_split_diff;
-
-		  if (diff % 2)
-		    {
-		      if (first_win->height >
-			  second_win->height)
-			if (diff < 0)
-			  first_split_diff--;
-			else
-			  first_split_diff++;
-		      else
-			{
-			  if (diff < 0)
-			    second_split_diff--;
-			  else
-			    second_split_diff++;
-			}
-		    }
-		  /* Make sure that the minimum heights are
-		     honored.  */
-		  while ((first_win->height + first_split_diff) < 3)
-		    {
-		      first_split_diff++;
-		      second_split_diff--;
-		    }
-		  while ((second_win->height + second_split_diff) < 3)
-		    {
-		      second_split_diff++;
-		      first_split_diff--;
-		    }
-		  first_win->resize (first_win->height + first_split_diff,
-				     width,
-				     0, first_win->origin.y);
-		  second_win->resize (second_win->height + second_split_diff,
-				      width,
-				      0, first_win->height - 1);
-		  locator->resize (1, width,
-				   0, (second_win->origin.y
-				       + second_win->height + 1));
-
-		  TUI_CMD_WIN->resize (new_height, width,
-				       0, locator->origin.y + 1);
-		}
-	      else
-		{
-		  if ((TUI_CMD_WIN->height + diff) < 1)
-		    { /* If there is no way to increase the command
-			 window take real estate from the 1st or 2nd
-			 window.  */
-		      if ((TUI_CMD_WIN->height + diff) < 1)
-			{
-			  int i;
-
-			  for (i = TUI_CMD_WIN->height + diff;
-			       (i < 1); i++)
-			    if (primary_win_info == first_win)
-			      second_win->height--;
-			    else
-			      first_win->height--;
-			}
-		    }
-		  if (primary_win_info == first_win)
-		    first_win->resize (new_height, width, 0, 0);
-		  else
-		    first_win->resize (first_win->height, width, 0, 0);
-		  second_win->origin.y = first_win->height - 1;
-		  if (primary_win_info == second_win)
-		    second_win->resize (new_height, width,
-					0, first_win->height - 1);
-		  else
-		    second_win->resize (second_win->height, width,
-					0, first_win->height - 1);
-		  locator->resize (1, width,
-				   0, (second_win->origin.y
-				       + second_win->height + 1));
-		  TUI_CMD_WIN->origin.y = locator->origin.y + 1;
-		  if ((TUI_CMD_WIN->height + diff) < 1)
-		    TUI_CMD_WIN->resize (1, width, 0, locator->origin.y + 1);
-		  else
-		    TUI_CMD_WIN->resize (TUI_CMD_WIN->height + diff, width,
-					 0, locator->origin.y + 1);
-		}
-	      if (src1 != nullptr && src1->content.empty ())
-		src1->erase_source_content ();
-	      if (second_win->content.empty ())
-		second_win->erase_source_content ();
-	    }
-	}
-    }
-
-  return status;
-}
-
 /* See tui-data.h.  */
 
 int
@@ -1225,112 +952,6 @@ tui_win_info::max_height () const
   return tui_term_height () - 2;
 }
 
-static int
-new_height_ok (struct tui_win_info *primary_win_info, 
-	       int new_height)
-{
-  int ok = (new_height < tui_term_height ());
-
-  if (ok)
-    {
-      int diff;
-      enum tui_layout_type cur_layout = tui_current_layout ();
-
-      diff = (new_height - primary_win_info->height) * (-1);
-      if (cur_layout == SRC_COMMAND || cur_layout == DISASSEM_COMMAND)
-	{
-	  ok = (new_height <= primary_win_info->max_height ()
-		&& new_height >= MIN_CMD_WIN_HEIGHT);
-	  if (ok)
-	    {			/* Check the total height.  */
-	      struct tui_win_info *win_info;
-
-	      if (primary_win_info == TUI_CMD_WIN)
-		win_info = *(tui_source_windows ().begin ());
-	      else
-		win_info = TUI_CMD_WIN;
-	      ok = ((new_height +
-		     (win_info->height + diff)) <= tui_term_height ());
-	    }
-	}
-      else
-	{
-	  int cur_total_height, total_height, min_height = 0;
-	  struct tui_win_info *first_win;
-	  struct tui_win_info *second_win;
-
-	  if (cur_layout == SRC_DISASSEM_COMMAND)
-	    {
-	      first_win = TUI_SRC_WIN;
-	      second_win = TUI_DISASM_WIN;
-	    }
-	  else
-	    {
-	      first_win = TUI_DATA_WIN;
-	      second_win = *(tui_source_windows ().begin ());
-	    }
-	  /* We could simply add all the heights to obtain the same
-	     result but below is more explicit since we subtract 1 for
-	     the line that the first and second windows share, and add
-	     one for the locator.  */
-	  total_height = cur_total_height =
-	    (first_win->height + second_win->height - 1)
-	    + TUI_CMD_WIN->height + 1;	/* Locator. */
-	  if (primary_win_info == TUI_CMD_WIN)
-	    {
-	      /* Locator included since first & second win share a line.  */
-	      ok = ((first_win->height +
-		     second_win->height + diff) >=
-		    (MIN_WIN_HEIGHT * 2) 
-		    && new_height >= MIN_CMD_WIN_HEIGHT);
-	      if (ok)
-		{
-		  total_height = new_height + 
-		    (first_win->height +
-		     second_win->height + diff);
-		  min_height = MIN_CMD_WIN_HEIGHT;
-		}
-	    }
-	  else
-	    {
-	      min_height = MIN_WIN_HEIGHT;
-
-	      /* First see if we can increase/decrease the command
-	         window.  And make sure that the command window is at
-	         least 1 line.  */
-	      ok = ((TUI_CMD_WIN->height + diff) > 0);
-	      if (!ok)
-		{ /* Looks like we have to increase/decrease one of
-		     the other windows.  */
-		  if (primary_win_info == first_win)
-		    ok = (second_win->height + diff) >= min_height;
-		  else
-		    ok = (first_win->height + diff) >= min_height;
-		}
-	      if (ok)
-		{
-		  if (primary_win_info == first_win)
-		    total_height = new_height +
-		      second_win->height +
-		      TUI_CMD_WIN->height + diff;
-		  else
-		    total_height = new_height +
-		      first_win->height +
-		      TUI_CMD_WIN->height + diff;
-		}
-	    }
-	  /* Now make sure that the proposed total height doesn't
-	     exceed the old total height.  */
-	  if (ok)
-	    ok = (new_height >= min_height 
-		  && total_height <= cur_total_height);
-	}
-    }
-
-  return ok;
-}
-
-
 static void
 parse_scrolling_args (const char *arg, 
 		      struct tui_win_info **win_to_scroll,
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.20191211/gdb/tui/tui-wingeneral.c ./gdb/tui/tui-wingeneral.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/tui/tui-wingeneral.c	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/tui/tui-wingeneral.c	2019-12-15 01:49:40.000000000 +0000
@@ -131,7 +131,7 @@ tui_win_info::check_and_display_highligh
 void
 tui_gen_win_info::make_window ()
 {
-  handle.reset (newwin (height, width, origin.y, origin.x));
+  handle.reset (newwin (height, width, y, x));
   if (handle != NULL)
     scrollok (handle.get (), TRUE);
 }
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.20191211/gdb/utils.c ./gdb/utils.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/utils.c	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/utils.c	2019-12-15 01:49:40.000000000 +0000
@@ -186,7 +186,7 @@ abort_with_message (const char *msg)
   else
     fputs_unfiltered (msg, gdb_stderr);
 
-  abort ();		/* NOTE: GDB has only three calls to abort().  */
+  abort ();		/* ARI: abort */
 }
 
 /* Dump core trying to increase the core soft limit to hard limit first.  */
@@ -200,7 +200,7 @@ dump_core (void)
   setrlimit (RLIMIT_CORE, &rlim);
 #endif /* HAVE_SETRLIMIT */
 
-  abort ();		/* NOTE: GDB has only three calls to abort().  */
+  abort ();		/* ARI: abort */
 }
 
 /* Check whether GDB will be able to dump core using the dump_core
@@ -320,7 +320,7 @@ internal_vproblem (struct internal_probl
            does not fix this problem.  This is the solution suggested
            at http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25509.  */
 	if (write (STDERR_FILENO, msg, sizeof (msg)) != sizeof (msg))
-          abort (); /* NOTE: GDB has only three calls to abort().  */
+          abort (); /* ARI: abort */
 	exit (1);
       }
   }
@@ -3033,9 +3033,6 @@ gdb_argv::reset (const char *s)
 {
   char **argv = buildargv (s);
 
-  if (s != NULL && argv == NULL)
-    malloc_failure (0);
-
   freeargv (m_argv);
   m_argv = argv;
 }
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.20191211/gdb/utils.h ./gdb/utils.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/utils.h	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/utils.h	2019-12-15 01:49:40.000000000 +0000
@@ -146,10 +146,7 @@ public:
   }
 
   /* A constructor that calls buildargv on STR.  STR may be NULL, in
-     which case this object is initialized with a NULL array.  If
-     buildargv fails due to out-of-memory, call malloc_failure.
-     Therefore, the value is guaranteed to be non-NULL, unless the
-     parameter itself is NULL.  */
+     which case this object is initialized with a NULL array.  */
 
   explicit gdb_argv (const char *str)
     : m_argv (NULL)
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.20191211/gdb/valprint.c ./gdb/valprint.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/valprint.c	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/valprint.c	2019-12-15 01:49:40.000000000 +0000
@@ -3198,6 +3198,16 @@ Use \"unlimited\" to print the complete 
     NULL, /* help_doc */
   },
 
+  boolean_option_def {
+    "raw-values",
+    [] (value_print_options *opt) { return &opt->raw; },
+    NULL, /* show_cmd_cb */
+    N_("Set whether to print values in raw form."),
+    N_("Show whether to print values in raw form."),
+    N_("If set, values are printed in raw form, bypassing any\n\
+pretty-printers for that value.")
+  },
+
   uinteger_option_def {
     "repeats",
     [] (value_print_options *opt) { return &opt->repeat_count_threshold; },
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.20191211/gdb/version.in ./gdb/version.in
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/version.in	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/version.in	2019-12-15 01:49:40.000000000 +0000
@@ -1 +1 @@
-9.0.50.DATE-git
+10.0.50.DATE-git
\ No newline at end of file
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.20191211/gdb/xml-support.c ./gdb/xml-support.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/gdb/xml-support.c	2019-12-11 01:49:19.000000000 +0000
+++ ./gdb/xml-support.c	2019-12-15 01:49:40.000000000 +0000
@@ -977,8 +977,6 @@ xml_fetch_content_from_file (const char 
     {
       char *fullname = concat (dirname, "/", filename, (char *) NULL);
 
-      if (fullname == NULL)
-	malloc_failure (0);
       file = gdb_fopen_cloexec (fullname, FOPEN_RT);
       xfree (fullname);
     }
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.20191211/include/ChangeLog ./include/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/include/ChangeLog	2019-12-11 01:49:20.000000000 +0000
+++ ./include/ChangeLog	2019-12-15 01:49:41.000000000 +0000
@@ -1,3 +1,14 @@
+2019-12-12  Luis Machado  <luis.machado@linaro.org>
+
+	* diagnostics.h (DIAGNOSTIC_IGNORE_UNUSED_FUNCTION). Remove
+	definitions.
+
+2019-12-11  Alan Modra  <amodra@gmail.com>
+
+	* opcode/mmix.h (PUSHGO_INSN_BYTE): Make unsigned.
+	(GO_INSN_BYTE, SETL_INSN_BYTE, INCML_INSN_BYTE, INCMH_INSN_BYTE),
+	(INCH_INSN_BYTE, SWYM_INSN_BYTE, JMP_INSN_BYTE): Likewise.
+
 2019-12-11  Alan Modra  <amodra@gmail.com>
 
 	* dis-asm.h (INSN_HAS_RELOC, DISASSEMBLE_DATA),
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.20191211/include/diagnostics.h ./include/diagnostics.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/include/diagnostics.h	2019-12-11 01:49:20.000000000 +0000
+++ ./include/diagnostics.h	2019-12-15 01:49:41.000000000 +0000
@@ -53,8 +53,6 @@
   DIAGNOSTIC_IGNORE ("-Wdeprecated-declarations")
 # define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER \
   DIAGNOSTIC_IGNORE ("-Wdeprecated-register")
-# define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION \
-  DIAGNOSTIC_IGNORE ("-Wunused-function")
 # if __has_warning ("-Wenum-compare-switch")
 #  define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES \
    DIAGNOSTIC_IGNORE ("-Wenum-compare-switch")
@@ -65,9 +63,6 @@
 
 #elif defined (__GNUC__) /* GCC */
 
-# define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION \
-  DIAGNOSTIC_IGNORE ("-Wunused-function")
-
 # define DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION \
   DIAGNOSTIC_IGNORE ("-Wstringop-truncation")
 
@@ -88,10 +83,6 @@
 # define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER
 #endif
 
-#ifndef DIAGNOSTIC_IGNORE_UNUSED_FUNCTION
-# define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION
-#endif
-
 #ifndef DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES
 # define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES
 #endif
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.20191211/include/opcode/mmix.h ./include/opcode/mmix.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/include/opcode/mmix.h	2019-12-11 01:49:20.000000000 +0000
+++ ./include/opcode/mmix.h	2019-12-15 01:49:41.000000000 +0000
@@ -173,14 +173,14 @@ extern const struct mmix_spec_reg mmix_s
 #define COND_INV_BIT 0x8
 #define PRED_INV_BIT 0x10
 
-#define PUSHGO_INSN_BYTE 0xbe
-#define GO_INSN_BYTE 0x9e
-#define SETL_INSN_BYTE 0xe3
-#define INCML_INSN_BYTE 0xe6
-#define INCMH_INSN_BYTE 0xe5
-#define INCH_INSN_BYTE 0xe4
-#define SWYM_INSN_BYTE 0xfd
-#define JMP_INSN_BYTE 0xf0
+#define PUSHGO_INSN_BYTE 0xbeu
+#define GO_INSN_BYTE 0x9eu
+#define SETL_INSN_BYTE 0xe3u
+#define INCML_INSN_BYTE 0xe6u
+#define INCMH_INSN_BYTE 0xe5u
+#define INCH_INSN_BYTE 0xe4u
+#define SWYM_INSN_BYTE 0xfdu
+#define JMP_INSN_BYTE 0xf0u
 
 /* We can have 256 - 32 (local registers) - 1 ($255 is not allocatable)
    global registers.  */
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.20191211/md5.sum ./md5.sum
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/md5.sum	2019-12-11 01:53:32.000000000 +0000
+++ ./md5.sum	2019-12-15 01:53:47.000000000 +0000
@@ -36,17 +36,17 @@ a8bf329c24203303d1343c3eed58c07b  bfd/el
 5cb0eef365977eb8c7430c04738a9e2c  bfd/wasm-module.c
 ce93ef6cd4c0ba0799b9d6d75b36638a  bfd/elf64-mips.c
 c4d082a9c0c27456afe3357c4987b675  bfd/cpu-m9s12x.c
-234d6987ee078af67b59afbaac1d5380  bfd/version.h
+1c7cc3d917fe04ac96f9cbfed65dade6  bfd/version.h
 f635e95e06957e744083b2160029e168  bfd/cpu-tilegx.c
 f2af796af1efd1971472837a26010b6f  bfd/coff-mcore.c
 89637e92fbef834ef0c545805106bcc4  bfd/cpu-avr.c
 177bd7b4c84ba5c009fb078257ef06cb  bfd/aout64.c
 dc806684dd47180750f8cf5ff388f622  bfd/elf32-pru.c
 f5ad372cf681a57b9a43f6975c05e33c  bfd/ChangeLog-2012
-226b49cf54fe0a6f9be8e45f77eb8fd8  bfd/elf.c
+13a81c20c652e80fe4dafc8824914e90  bfd/elf.c
 0b76fafe89d70f2ea04f6b9a1e79989f  bfd/hppabsd-core.c
 8f4546a5e1b4bfb7045af3f6a958973e  bfd/elf32-xgate.c
-0b89057e69f67bd9835a9160e89333e7  bfd/elf32-nds32.h
+aef1d85dd6b919750362585cd5e2c76e  bfd/elf32-nds32.h
 edaa4c4a5b377cabf9e17e30762b76a0  bfd/coff-bfd.h
 72a78281f3eb7326f7ad5ad599e61635  bfd/ecoff.c
 a652e1b7bb38b7c4378e613c12204310  bfd/cpu-moxie.c
@@ -57,7 +57,7 @@ d3bd0a60b47cd43b306af9acd9b32772  bfd/pe
 f6dc4257b12673ac54b6cf79e50e0908  bfd/cpu-ip2k.c
 d409d08248526f735f15722cfc595872  bfd/elf32-tilepro.h
 5c399f0e20296ccbdc501aaea7455ea7  bfd/elf32-s390.c
-db8c5846f5a187cf6f8eb455a1975b0a  bfd/libaout.h
+06d4adf1a3d0845ba353c39cb50182a5  bfd/libaout.h
 f528f4062ebaa7f218a73b5ab504e069  bfd/elfxx-aarch64.h
 8b31e3f09dc7f5ea410459c61f469a2c  bfd/elf-vxworks.c
 98c057745f0991973c7c857ae1605c31  bfd/elfxx-mips.c
@@ -144,7 +144,7 @@ c32be227fcc3dd00493299d20a75828d  bfd/pc
 fcc67a779dcd381af3a557c8e5b3b509  bfd/configure.host
 0d7cbe6cd7b24362d5e0d95b5a0405e1  bfd/cpu-aarch64.c
 7dfeef54f96f69d4c808b89e4d048605  bfd/elf32-ft32.c
-bc0c02d462482ceed18480679b6094b6  bfd/bfd-in2.h
+3a16c2a7c5d02c4c2a48904e0ee244fa  bfd/bfd-in2.h
 ef5ce2816e009df3c5babd78e62050c9  bfd/cpu-nfp.c
 bd53d90e8f59b0fc0d91113809b7ba97  bfd/cpu-k1om.c
 bed3ebb05c76beb310263894a90540e3  bfd/cpu-lm32.c
@@ -157,7 +157,7 @@ c82c9be2b327a90a22ccfef126d1eb3b  bfd/el
 86d298205604be86e5c5820e0d62b350  bfd/cpu-m10300.c
 372e446f49da372fa75bd5bfa662aa17  bfd/elf32.c
 439a02a9528a2d38ee7bd022637b45a4  bfd/elf-nacl.c
-05f66176583e5b58c47328aa5564bfbe  bfd/libbfd.c
+abd8d10c29d606a3414154dc1bb98c95  bfd/libbfd.c
 daf85abb65bf8fdbc8b9a19c8facd808  bfd/elf32-d10v.c
 a6fa6c331ed0bf323e530e1fa8c9fc30  bfd/coff-arm.c
 f6c3020c281ee5297cef09822108fd85  bfd/elf32-score.h
@@ -174,7 +174,7 @@ bbcba73fa5056239bb44500e9ec00d90  bfd/ci
 f429a221c87ad5751721df36245fba7a  bfd/cpu-i386.c
 ed6baa180c313066fcaf71503df9156f  bfd/rs6000-core.c
 f238056ba921d8d82efe67f75f0e9749  bfd/elf-eh-frame.c
-7c747b42264a2a2f5b18c5e346c3f9ff  bfd/netbsd.h
+e77777cc3a772b06bcade3d5f0c9dc6e  bfd/netbsd.h
 a6e415e05baf84511c3d62d58056870f  bfd/elf32-hppa.h
 97996874ca7c27a7fc1311616e406158  bfd/elf32-rx.h
 45cb45921c67b79fa3f6b5ae7d7ea34a  bfd/elf32-cr16.c
@@ -192,7 +192,7 @@ ee87609e727ca93f94b2727e062827f8  bfd/el
 3a83ad486532ac5a4c93d0f686dc681a  bfd/som.h
 478adb2deb9af088f46355eb33522c1d  bfd/aout-ns32k.c
 5f7cb33a929a9c4cfaa56adf0a5baf28  bfd/host-aout.c
-7dc6ebd4b3c528052d040c4c8ced6dd0  bfd/doc/libbfd.texi
+c03c6311c040b2adb6d0db0d4792428d  bfd/doc/libbfd.texi
 f06f2eb2d0f895dc76222fd862da6279  bfd/doc/init.texi
 930173859dab35d4c1c03efd5ddb18e3  bfd/doc/format.texi
 f2c7b61a9f7d3edb04f3d566f3389def  bfd/doc/reloc.texi
@@ -207,7 +207,7 @@ f32b11f47b666164ab1aa78183a50b1e  bfd/do
 b0249c7b998a1f43ece824837ab8bcd4  bfd/doc/bfdver.texi
 3d524b7e195fb38eb168045e4a2d18aa  bfd/doc/coffcode.texi
 11ed9773e30ff48eaba6617cf24b1f83  bfd/doc/makefile.vms
-37f6cb31f60d5757d40302482f49fdbc  bfd/doc/bfd.info
+4720ec05fbb7d573d2d87203b30267b1  bfd/doc/bfd.info
 200d0f8c2248d96fd6c2f88e751b013b  bfd/doc/bfdt.texi
 e67d8b07516154c4ddbee2e3bab3d75e  bfd/doc/doc.str
 9a6e644c9e94d7b18073f5cc6ef4395a  bfd/doc/header.sed
@@ -310,7 +310,7 @@ f08e0ff000a936b171a17db1b3506380  bfd/ho
 232e1d3a2ef4667ac8299fe3bbb2f245  bfd/hosts/decstation.h
 59527e3809175e8399033e55d476f247  bfd/hosts/vaxult.h
 2b9ea29665f8e4e2f78b646567059733  bfd/ChangeLog-2017
-6649caae338d0e16683951a11af37c08  bfd/mmo.c
+f67f8df0c6cb1e6b256a5adf3d6c1aa4  bfd/mmo.c
 0a7459c02c604d85f758af880d4dbcab  bfd/coff-z8k.c
 60e5353a5e95211e247d675985ff9f90  bfd/cpu-alpha.c
 6e2589a26c40f4428f74803c81023c62  bfd/elf32-tic6x.c
@@ -403,14 +403,14 @@ bf3124212f297f533195226f5574c9d1  bfd/el
 4f64387cc2f68f7f980105d0a6443858  bfd/elfxx-ia64.h
 72fd73fc0277b8c62634baabecbda132  bfd/elf32-or1k.c
 968eb947c31825340e4d7b98a8896ec4  bfd/targets.c
-8da101927ca87bddec301f03af2f045e  bfd/ChangeLog
+ff1796cf31f707bf438dbb7b46efe5c6  bfd/ChangeLog
 9c32275c313835ee61d8589d518f660b  bfd/section.c
 2fddd07f100af0551285d028f9fe8eb0  bfd/elf-s390-common.c
 07d1c3689bb0c5e5b6d5dfce7aee122e  bfd/elf32-lm32.c
 af4db43d12e2cfdaeffb10ef7befa9c4  bfd/elf32-avr.h
 66f08698bc6287b5a6a1c69f5a004b15  bfd/elf64-alpha.c
 f0a888c9c67dcd490a8d43be3bf7dc2a  bfd/verilog.c
-5dc4e75b7f08006b31a9c45f1de5465a  bfd/libhppa.h
+9a2b8c1f2b5d773e73649c2fae1f4ad2  bfd/libhppa.h
 0dffd8ff7e8c42c17ab131e57dcd0b3e  bfd/pei-arm-wince.c
 e67cd64ef3f0bd715917161f23c09e0c  bfd/arc-got.h
 e28af36cb79f67521514af0004f56fb6  bfd/coff-tic54x.c
@@ -425,7 +425,7 @@ c50e59518604f040f78c62d4c1dba3a6  bfd/pe
 e4d2dc1f4dd23b77953636bf0a721cd1  bfd/cpu-tic30.c
 5dbf7dda55d75e9a4ba95e6e4c9de3ea  bfd/cpu-m32r.c
 7450da4150ff19cb98e15abd7f3acbbd  bfd/elf32-csky.c
-4c8cea3960591e5bf1251fc446bab4e5  bfd/elf32-arm.c
+bc36f619e3f1f220efe3c5f17a0b38b8  bfd/elf32-arm.c
 b639c27d91e37fef6304c7e483f9d511  bfd/elf32-ppc.h
 1304eb5ab3399fa008542bc27b4f4798  bfd/cpu-msp430.c
 68a4c622bb1c6da72efb21da56fc15d3  bfd/cpu-fr30.c
@@ -500,7 +500,7 @@ c7111da5688d7c20a74b5532cd61310f  bfd/cp
 694111f3c4213b3a169327bff1fcbf97  bfd/elf32-rl78.c
 56d84c76975f41c74f5d45e7a5b1c8fe  bfd/cpu-tic80.c
 6b145a5c7771eed832bfb873accfdd2d  bfd/elf64-sparc.c
-7be9e95dbae1cd5cb99acbc241b1d6a4  bfd/elf32-rx.c
+1d28af48d930cf65fe76095eb7259f48  bfd/elf32-rx.c
 5b0977bb4338376d1924620d43c0b4e8  bfd/archive64.c
 306fba5aea8fc84b37bbc362cd2ebbd9  bfd/cpu-v850.c
 76cb6c46fc8b0dda19c34c8815ff75b6  bfd/cpu-l1om.c
@@ -651,7 +651,7 @@ a19fd9e8443a64db1dc14972cac446ab  cpu/me
 2f25728eb6321969c8b21f7ce4bb9fd2  cpu/frv.cpu
 c9ca560e22cd9a4f6386fa7d81ba9dd1  cpu/iq2000.cpu
 36dd0633e45fe6482aff65f67346b345  cpu/mep-fmax.cpu
-8478e21437987fdd72afc30c273cad50  cpu/lm32.cpu
+d0c7fefe64d9940a02bb6326b7a7ebec  cpu/lm32.cpu
 36a3725cfe5376cf5bbe2ba4ba3af92b  cpu/iq10.cpu
 3935b10637681bb2478258da8908eccf  cpu/sh64-media.cpu
 d186b867bf5b1d1468f0db54b209a404  cpu/simplify.inc
@@ -669,14 +669,14 @@ d64a929fc5b5c7fc2f29e1911a708435  cpu/or
 65ee6179eb425bb10ca3078a08b2a976  cpu/mep-avc2.cpu
 ff87656b73d5b97cf0df1ddae9e105e2  cpu/mep-core.cpu
 3e071f0b9c6ed8919fc0cfbd4e2c255a  cpu/ip2k.cpu
-8266f08975b905c3e763809216edb261  cpu/epiphany.cpu
+6af4b3d7ecacad1b05ed60edc5a3462c  cpu/epiphany.cpu
 38fbf7cb411f825e5cee1bd6f7e64680  cpu/lm32.opc
 489902d19fb758761a771d924f53612a  cpu/xc16x.opc
 9079eaecdbe5e3a0ef3e27e756845a23  cpu/m32r.cpu
 948e8928f44c21e4e46631023475d4c8  cpu/xc16x.cpu
 cbeb95243a93647804306f55db1b7362  cpu/bpf.opc
 42945e544a3ba1dd34a91161aacf9e76  cpu/or1kcommon.cpu
-6e6747e2c83b0bd7ee2590bb37e32530  cpu/ChangeLog
+3ece2be2b83e4e6d1395514995ef5c8e  cpu/ChangeLog
 e9b8e80ddc3003dd30c422877d4bb767  cpu/sh.opc
 051b41a8f22ff0a5dc829da70867b9d6  cpu/mt.opc
 16f51fbd17b7bbe501733bc197b50717  cpu/sh64-compact.cpu
@@ -686,7 +686,7 @@ f3d24c37ae7c5adb6ccd701a977e415a  cpu/fr
 1a19d96dd536cdcdef47e68d897fe639  cpu/m32r.opc
 b4ecfabcfae65cc11bf52fd29db940bc  cpu/fr30.opc
 e28d4c4ced67f70f91462403eb823e08  cpu/mep-c5.cpu
-1283a75df6b64b35120fccc4c352a420  cpu/m32c.cpu
+2f1ab20ded619a0fe3b11028c492afce  cpu/m32c.cpu
 8e3b808b3f665daa3a35b5333062ea9e  cpu/xstormy16.opc
 2ec6a978ace41c4f6444cd841689b839  cpu/ip2k.opc
 d534cf9b6b4a7e68f003dcf5d9174cb8  cpu/mep.cpu
@@ -722,7 +722,7 @@ aabc0e3af9169d4298ca70c709f97494  gdb/pp
 440ee11435de5ec90320b04f5a7bc2e2  gdb/charset-list.h
 425ba96cd44e77192fff951906a6acc6  gdb/m2-lang.c
 4059bdae2cb8752e4cd11edd7c1b1e07  gdb/target-float.h
-ed569e84c07211d1f97c847c8440314a  gdb/corelow.c
+cee584a814e2539b6483b396e306c2d1  gdb/corelow.c
 4c8af26a9d9474284d6b5c5e6284543b  gdb/ppc-linux-tdep.h
 9fa0e1a75ea46cb1b721a15b772c6c63  gdb/dwarf2-frame-tailcall.h
 349b188907736d3ac349e30e509f4e37  gdb/ChangeLog-1996
@@ -753,14 +753,14 @@ c923fbcaa47240f82d7ef756c59c87ba  gdb/Ch
 644f2141634d41fa00b5cbf3b61331d1  gdb/frame.c
 f58a6ef9094881fb0797296e47d6358a  gdb/i386-bsd-nat.h
 872be449ea0ede048ac193747d131870  gdb/ChangeLog-2002
-02e431732534d52ead450b6d33a6ebba  gdb/maint.h
+d83770b49f7f4ed6e38722733a915f3a  gdb/maint.h
 c53d011c44de38f7035cdc4592a6c648  gdb/microblaze-linux-tdep.c
 3883017d85f3d418e11b1e486c651f83  gdb/unwind_stop_reasons.def
 270a9f5aad16278236d04147afdf278b  gdb/bcache.h
 3724de6d692ecabe045b076296ce0a98  gdb/objfile-flags.h
 f8eeb7d8ca92555d4f09fc6e25ff33f6  gdb/ui-style.c
 b27dfa5b4181f6b8684d3bbea927cb80  gdb/contrib/expect-read1.c
-4ce72166a8d44d954b88a0dc798a98bf  gdb/contrib/ari/gdb_ari.sh
+09f054bdcab04b19b268fbef4ca58a65  gdb/contrib/ari/gdb_ari.sh
 2a0627db75931c2ce84dd8b5d2fbf8ed  gdb/contrib/ari/update-web-ari.sh
 eebbeecacf4aa93cad59bb5c6871837a  gdb/contrib/ari/gdb_find.sh
 0d04ee92bc603678b0ee0e6e25ef8c90  gdb/contrib/ari/create-web-ari-in-src.sh
@@ -776,7 +776,7 @@ e4ad0e0363c34db7802550035d3757aa  gdb/tr
 ffb3b80a0279866c6948e1131f589266  gdb/gdb-demangle.h
 02f0c034ef0f6c556acfed96a299d6a2  gdb/process-stratum-target.c
 78c6359a047e4d5483a90c021196a18a  gdb/ravenscar-thread.c
-ca28d4cdbf084b2dacb08e9c48af0071  gdb/Makefile.in
+510d483c918531775a653298d3b32d98  gdb/Makefile.in
 a76da13e8bc37fdb10451c8e325b8baf  gdb/btrace.h
 ed316f4adf752b73da1c357437cfa771  gdb/x86-bsd-nat.c
 2cc0e89d09628e04609b0d799c1784bf  gdb/windows-nat.h
@@ -804,7 +804,7 @@ d2a2e8637cabe2067c64c373df3b2561  gdb/re
 964fd1e21dfca4e8f8aa26722d597a2a  gdb/gdb.c
 a5843e056f4a29811ef70df0054a6998  gdb/linux-record.h
 8502008258dde5e90855eef89b85559b  gdb/disasm-selftests.c
-c071aa7abc6d6ef102c20b448276c19b  gdb/solib.c
+3efcf0d91067b571e348940dfb639576  gdb/solib.c
 53cf114ff5719cd047da9d38dd318599  gdb/ChangeLog-2012
 42b9f7c51223e595f66c2210064be682  gdb/ChangeLog-1990
 ebd0f97169ea5063dd7de47beed2098c  gdb/nto-procfs.c
@@ -816,7 +816,7 @@ ce736dbe663f54bda1bbf9f6192271c2  gdb/re
 bbe47b4b5324261b91d3c2241c9fd1cd  gdb/c-typeprint.c
 aaba5be6cbb9d783df71def1db3822c3  gdb/xtensa-tdep.c
 2e53e0b3e32b64a7ab61addbe43704db  gdb/or1k-linux-tdep.c
-2a4493a9e3593e861beed66ca2f13499  gdb/top.c
+31fa52c0d8bb102a7d597c37d8b05ce2  gdb/top.c
 8d79f8f089a47be11386029a964cfa99  gdb/python/py-record-full.h
 67e134f107fb2e54c3b3d00ecb90cb1e  gdb/python/py-cmd.c
 6c72fc62b04884b670d728ade6b79ba9  gdb/python/py-infthread.c
@@ -898,7 +898,7 @@ eaa3a73234b2f6ba100c1724966767f4  gdb/py
 0695b3ac03f7b5abe4c451284753a989  gdb/target.h
 eb2a102ed912c94add37ac67958f80cf  gdb/obsd-nat.h
 813f0015bfd7a536037b336c7d01ec79  gdb/frame-base.c
-6897ee65b3524b1bf432f876b13874ee  gdb/riscv-tdep.c
+ceb795f1ebf761e51d1eaea9d2c8e39b  gdb/riscv-tdep.c
 31ee13e36c08a35b9a2c85f60d90b7cb  gdb/fork-child.c
 22f04f05ce6611c197f6f88f545f9336  gdb/ax-general.c
 b035f977dcbf13d0a320e601f99aedfa  gdb/record.c
@@ -907,12 +907,12 @@ c061a5ff57f9c2891a0c1c91f3070edd  gdb/i3
 a65a25394acd87612fe5a8f86ef24d25  gdb/source-cache.c
 73d248eb61de8211da15f4dab80b95f4  gdb/iq2000-tdep.c
 11f3532471e0b8d1288c0d748aa82511  gdb/ser-base.c
-8fa9890157defc6286f324188841e073  gdb/version.in
+632a1ecb0c152f580c319101cb326542  gdb/version.in
 195256927383e77b9da7a4eb550e9d3d  gdb/linux-record.c
 52f5df9e620fc58ef3b04c2aa1588696  gdb/sparc64-sol2-tdep.c
 f14b09f4a5becc43e35e0afbd8ff7c33  gdb/amd64-nat.c
 b4681cf21f79615beaed6c1b9dad5f81  gdb/ppc-ravenscar-thread.c
-b53b4ea8c1698f6839b152857b9fc2dd  gdb/symfile.c
+a38448668a00dab128f78a96f57a49d9  gdb/symfile.c
 246ae174b54a1e47630bc1858558a01f  gdb/auxv.c
 e5019f9b26d33b511e0dc7994b8d2995  gdb/bfin-linux-tdep.c
 81e45b37ce840a9d11a1c45e3edc473e  gdb/m2-lang.h
@@ -928,7 +928,7 @@ c196c06378d1d5e587ef6de8468bc763  gdb/sh
 e401cf632129c067967af70b42d84e73  gdb/proc-flags.c
 34116c4afa055d95ecadbb10ce09dfd2  gdb/copying.c
 fee7321284a7b6a7ae764203deeba115  gdb/xtensa-config.c
-8a5694678a53bbf2de44b006eabc29c6  gdb/go32-nat.c
+aa93bce905d183d022180039ddad82a2  gdb/go32-nat.c
 2c2e18008574a6f886c4f051254c6c49  gdb/inline-frame.h
 3cc5238730f52f590f01c80fc69f3afd  gdb/nat/fork-inferior.h
 8530190fbfdda3b386117f5c667f2309  gdb/nat/aarch64-sve-linux-sigcontext.h
@@ -981,7 +981,7 @@ af0985d648de398a33ca6e6f0632d0ef  gdb/gn
 206f338681e0c7f1b0c85fceaac447fd  gdb/x86-linux-nat.h
 24dafe04053931e031169dcafd928b83  gdb/sol-thread.c
 02601273c3288de3fa9c0c068f5f18db  gdb/xtensa-linux-tdep.c
-a7c8c3a7ea6b26d55273a1125042b563  gdb/configure.tgt
+10eebc5a5504cc6023071a83ee30c5fd  gdb/configure.tgt
 272788b8145e2f04ad2e54bcea2a2159  gdb/solib-aix.h
 552119bec5e570b81091d69f99e95455  gdb/event-loop.h
 9848aa9b749a0d7a54a763719c462e66  gdb/ax.h
@@ -999,7 +999,7 @@ a6cf3c46df0fd70b6d266a1db9c4567a  gdb/pp
 e29e38bfd5dd34ec69271a3378013e6a  gdb/ser-unix.h
 10f1ab52f1493708bbbe37fd10ad91dd  gdb/inferior-iter.h
 1edb0611df86e0a068f2a8765dfeb5e9  gdb/csky-linux-tdep.c
-73cbb81e1354da382c4a49f917e12f09  gdb/utils.c
+19854aaef71a964ea03e5c693170c4fe  gdb/utils.c
 90e56dea65beb67443d6c83cbc5fed7f  gdb/ChangeLog-1997
 0d5ba3c2e32c43e5417a9d08edfdb968  gdb/trad-frame.h
 a7d91380ff4dd9e0a720081f7a55257e  gdb/arm-tdep.c
@@ -1035,7 +1035,7 @@ cd657a4e8ed2d45e7bd6bac5a702c10c  gdb/cl
 0658d32a1f1c82c01c24cc55cca65d34  gdb/valprint.h
 0110a020b84a78ca16939ce417bf9caf  gdb/amd64-fbsd-nat.c
 ef066d07ce477b1c1eacd6ca754bb7a8  gdb/ravenscar-thread.h
-aaa82b382f9fc70dc98b25237dc5f652  gdb/objfiles.h
+d2c3bca9a3e9f2ea31b59ad59f388020  gdb/objfiles.h
 429546b995763d93b68e72b3c3e0b543  gdb/reply_mig_hack.awk
 0affd1e5b89d0a34bd8be605a4c4c42e  gdb/nto-tdep.h
 24096aca3294cab3717506c2c69a7272  gdb/msg_reply.defs
@@ -1063,12 +1063,12 @@ ee4a61e6937e01529f64a6d89f2f4613  gdb/fb
 b51b16d9d2a7a5d1419300d404e22537  gdb/inferior.c
 cf4bf55d52b3fd322e1e505aa0676578  gdb/mips-tdep.c
 85bb40c5d02876059100091fbfff9353  gdb/solib-dsbt.c
-bbcb64a09dc92b845d1b65dca6426240  gdb/minsyms.c
+ed01bb04ec0396d1b69afef64221c9f2  gdb/minsyms.c
 f723363e60108c880e59b753662acddc  gdb/i386-darwin-tdep.c
 eeeb11bd5598871af4fab7bd1438faf1  gdb/m68k-bsd-nat.c
 ac941da2de4682fd470093be06df6fc1  gdb/linux-nat-trad.h
 7b8a5048cfb6f899a8199897f0864c8f  gdb/ChangeLog-2005
-ee0beee388bb6cca37bf2360ee1602e3  gdb/event-top.c
+14de65715038a7382e821dfa8fd15317  gdb/event-top.c
 141fb605ccd4c086d7e66e6086581201  gdb/mem-break.c
 22f0b85440bf90f031e702fdb51a4f3b  gdb/riscv-linux-nat.c
 8ac0cc460149d894ba660ac1772b7a97  gdb/charset.c
@@ -1149,6 +1149,7 @@ e3eacfa14bfda41e07058fd6c5cabdc6  gdb/da
 82a4781418f3ae15e2608f8c61182fd5  gdb/ada-typeprint.c
 e432650f349837ea0344c360fdbc4092  gdb/sparc64-nbsd-tdep.c
 f971d36e35ec0c3fce64b819d7891f15  gdb/ChangeLog-1993
+7ac24222327a12762a66b195593d5ffb  gdb/riscv-ravenscar-thread.h
 97cf02bb61361edc782a95cfc85a6deb  gdb/regcache.c
 7df96f040c2f0143864fda00b9dc1360  gdb/thread.c
 60b4873a6bdd481029ee36a2c1c9280b  gdb/gdb_buildall.sh
@@ -1172,6 +1173,7 @@ b2d5a45589b9ee835a1f891ffdba728a  gdb/se
 192ff6b5e04237ffccc7a984e09e48de  gdb/linux-nat.h
 a4c73d37d6721188cdfc0afb5c39b3d1  gdb/sh-linux-tdep.c
 dddb3052d3013584839f41f44ea31015  gdb/go-exp.y
+449452f9b15fc5c37bfc02c4dcd4ab6b  gdb/riscv-ravenscar-thread.c
 ce8e906ee5a9523e760c2ac9d2b7fd5a  gdb/dbxread.c
 a12c129c6a322b6da6f3be28d5c64855  gdb/remote-notif.c
 1b9023495f4606b354761e1adc7fbf38  gdb/aarch64-linux-tdep.h
@@ -1206,7 +1208,7 @@ cdaa654bddaff716531556c9f599dfd5  gdb/ty
 ad0a28559cae16d5c6917cd8223dec0f  gdb/m32r-linux-nat.c
 963c0b6541094fe70dd3a064c26c13f9  gdb/sparc64-nbsd-nat.c
 96b992596bf1d8f56076097f3c55b099  gdb/gdb_bfd.c
-e3ea4aae0db254970838e32ded539a4b  gdb/NEWS
+eb88df85bcca64ea17bcc42602f4aaf2  gdb/NEWS
 97fdbf06d19ca02ff16730e400dc2cfc  gdb/x86-nat.c
 80a4f4781f91d134f9322ebbea92bec8  gdb/dcache.c
 c4f2c8bc152abb23fccef51af4ead140  gdb/ada-lex.l
@@ -1264,35 +1266,35 @@ e82e1a53dbb63d792fc8645192a4b2cb  gdb/gd
 a900d20b330fb8bb2bfe7b3275055a04  gdb/rust-exp.c
 3003aeb2f0a62020daf165042967653a  gdb/i386-linux-tdep.h
 0cc7848cb02c6994bce128c6dd8d9094  gdb/tui/tui-winsource.h
-4938d1612eed96c389ba7d89136a6fdb  gdb/tui/tui-stack.h
+4c4934a014619ac0635016e4cf741e28  gdb/tui/tui-stack.h
 645a0d06902d4b7d5ac946f9f056c2ff  gdb/tui/tui-disasm.h
-473e3a7211b9b188775a4d1cdb000069  gdb/tui/tui-command.c
+133f6a32efbae8661a8e3429e110b8f3  gdb/tui/tui-command.c
 a12f3617ffba20c72097f7acddc82c68  gdb/tui/tui-hooks.h
 febe04e7d1eeaa9760b3fa7169099848  gdb/tui/tui-hooks.c
 56dd0b48c0031697a3d5efcad2da47c3  gdb/tui/tui-out.h
 11bbc056347b1e7d7a6e7b26003867b3  gdb/tui/tui.c
 25b1223a16e852b4068e95e52a6c50cb  gdb/tui/tui-disasm.c
 f5b7f048f5d7bf39ba6641b531a97636  gdb/tui/tui-io.h
-1e0bb38c8b363e0d18ad25dbfc573ee0  gdb/tui/tui-layout.h
+387fd94c3ca457e28a7f9c478f853603  gdb/tui/tui-layout.h
 f61c26618cd1a3106c3bba05f1626a52  gdb/tui/tui-command.h
 51f6c905cf266e1d94505f5e2f083b2d  gdb/tui/tui-stack.c
 21cba99dbe52aa63198186c73b863671  gdb/tui/tui-source.c
 debbb649e8312c71265a504d33e63bcb  gdb/tui/tui-io.c
-3751e7eb4c6c6ad085e2c1db4f35e025  gdb/tui/tui-layout.c
+3e70503110e1a461e5d4a6d1db6e8a2f  gdb/tui/tui-layout.c
 482795171785083441ed13601c879126  gdb/tui/tui-wingeneral.h
 a62f7a678d56cd4bfbd984ac2ba973bc  gdb/tui/tui-interp.c
 23d545bd050b58e374a16359aa43daab  gdb/tui/tui-source.h
 e6ad8bf4caaaafee7691cbbc56229f21  gdb/tui/tui-winsource.c
 f4ab8011ea7e23cabc6b4df15fbcf261  gdb/tui/tui-data.c
-f24255c78455cae3d79938aa022f7af0  gdb/tui/tui-regs.h
+b72f3c5f560a1095902166145fee54b1  gdb/tui/tui-regs.h
 47166d0c2ae51670d0eb3d2cb5379446  gdb/tui/tui-regs.c
 75c9dc88d38c06de1770a866dce36db6  gdb/tui/tui-file.c
 db9e1004ab1d2295d604d54012a3f355  gdb/tui/tui-file.h
 0415f3bd7a379430b752618c1e8c7cd4  gdb/tui/ChangeLog-1998-2003
-19a1dc415e0872cf86552d2fd3d76792  gdb/tui/tui-wingeneral.c
+d0dcb614b535fbc84c00032069f5e88b  gdb/tui/tui-wingeneral.c
 db080741beda79d95dd9faea631a6647  gdb/tui/tui-out.c
-6fe02bb88026669e4ebc73b56ac385db  gdb/tui/tui-win.c
-aa7596d6a9a59de31d516173c2f4b159  gdb/tui/tui-data.h
+9c91b4eb3faa6b0520eb68a2e0a6770c  gdb/tui/tui-win.c
+c6a376d6b1dd50b6cd942dce08654d7e  gdb/tui/tui-data.h
 8f0b69e7b27dcf8f451bfa881554fcf1  gdb/tui/tui-win.h
 6933bbe7dc97cb5d6287bd4b87132bce  gdb/tui/tui.h
 1c4827e1487d0d3852b24fc243af7a8f  gdb/target-dcache.h
@@ -2019,7 +2021,7 @@ f4424a0ea0aba5208764702291dcb6ac  gdb/te
 7aaa8fabd8b9039dc669b557a4a45d78  gdb/testsuite/gdb.python/py-explore.c
 30d55b308b6299485b5b3ee9b2362590  gdb/testsuite/gdb.python/py-explore.exp
 5af4f2d19635ec2e601b25c298168818  gdb/testsuite/gdb.python/py-value.c
-084d784ec62df82727f22705b4b2950b  gdb/testsuite/gdb.python/py-prettyprint.exp
+796bccc19059ad44cb56c22fc8dcf46f  gdb/testsuite/gdb.python/py-prettyprint.exp
 06f408ca4a0bfeaa0d56616167ba6d3a  gdb/testsuite/gdb.python/py-unwind.c
 e51dd812e5d3adc53f85ffdcb6aa0d43  gdb/testsuite/gdb.python/py-type.c
 733af5e54ccf5c873ed269d7294ab51a  gdb/testsuite/gdb.python/py-shared.exp
@@ -2397,7 +2399,7 @@ a00faf363ad5eba878e829bf07248876  gdb/te
 8bc8209645da71588123cfd4d4092726  gdb/testsuite/gdb.base/solib-overlap-main.c
 6935acb0c5167bd10db1a46bd79398f8  gdb/testsuite/gdb.base/call-strs.c
 d4fb80f2899412f6dda37f7a5d6e65dc  gdb/testsuite/gdb.base/ena-dis-br.exp
-f4dc85cfffe93b233a3959961f10c806  gdb/testsuite/gdb.base/options.exp
+6272dcc4bf1b24f77410c068fb67781c  gdb/testsuite/gdb.base/options.exp
 6f4e7b67bd850a776b60eef031e62f58  gdb/testsuite/gdb.base/many-headers.exp
 867ca411929548dd2a86ccdc8fc6ede2  gdb/testsuite/gdb.base/noreturn-finish.exp
 7caf5663c1a9d3a7128e08ffc4098699  gdb/testsuite/gdb.base/random-signal.c
@@ -4059,7 +4061,7 @@ b0bf011a94a6483b2b50bed137d52560  gdb/te
 4f69559c814c27545e736f649fa1ebf9  gdb/testsuite/gdb.arch/powerpc-vector-regs.c
 602f3775067c66774599b2718da72875  gdb/testsuite/gdb.testsuite/foreach_with_prefix.exp
 ab748a2334f82a957dcd6be4fd60645c  gdb/testsuite/lib/cl_util.h
-345db03bfdaa8f253ab390bbc8513b4f  gdb/testsuite/lib/tuiterm.exp
+ccf72ae5bfee3964b935a0b619bee9f0  gdb/testsuite/lib/tuiterm.exp
 2c3a58de8ebf47a17e65843bfdad852c  gdb/testsuite/lib/fortran.exp
 e1003a4ad1f6a8bdc5dbf836f0c3c15c  gdb/testsuite/lib/objc.exp
 234ffc76309549ad212fe584c7f4ed26  gdb/testsuite/lib/unbuffer_output.c
@@ -4456,7 +4458,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
-867ed242638296e0b91050625c366b82  gdb/testsuite/ChangeLog
+1043eaa5def2a55025ebe15d5540f5f7  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
@@ -4560,17 +4562,17 @@ b8e277530bac05a3b02ee9445ee80856  gdb/te
 b565e4a85309da8b3acec4db61d054a6  gdb/testsuite/gdb.objc/nondebug.exp
 7df9d59fc511ad52590b72ab06a508ca  gdb/testsuite/gdb.objc/nondebug.m
 3fbafa53dd2d21f358e6ad3d158e38d0  gdb/testsuite/gdb.objc/basicclass.exp
-d162ed98bb092b825bb4aac035158ed7  gdb/testsuite/gdb.tui/regs.exp
-34ec2c5280099e0f413b086d801c3f68  gdb/testsuite/gdb.tui/main.exp
-2ee7ea987e9c2ebd810c3adf9523dfc8  gdb/testsuite/gdb.tui/resize.exp
+36618a46ec0f6b4caf1f2364ce88b0ed  gdb/testsuite/gdb.tui/regs.exp
+47fea864159ac2660b3677950e85c91f  gdb/testsuite/gdb.tui/main.exp
+16f7cba3c2bbd9dca72c6780ed6b567a  gdb/testsuite/gdb.tui/resize.exp
 7a9365aba15f5c2a31656c5dc781055f  gdb/testsuite/gdb.tui/tui-nl-filtered-output.exp
 a6b2884fb1024218115a782bcc58abb2  gdb/testsuite/gdb.tui/tui-disasm-long-lines.exp
 4fe5215aba09046afa88adc433b479e9  gdb/testsuite/gdb.tui/list.exp
-0b354d7e733b696be903717f1e4f4475  gdb/testsuite/gdb.tui/basic.exp
+83e998de8751f7fac956f2d0a31a6631  gdb/testsuite/gdb.tui/basic.exp
 20c19bdddff28ea546e712b65e7931d2  gdb/testsuite/gdb.tui/winheight.exp
 76a7bd7557521d8ba2a419b311ea9149  gdb/testsuite/gdb.tui/tui-layout.c
 5088c16b60bb9d2179889f0dd2c34c4c  gdb/testsuite/gdb.tui/corefile-run.exp
-6cfeb81f6f057d0a34afed182aa5caa3  gdb/testsuite/gdb.tui/empty.exp
+8f7a39ea69ef62905ab3d353fa8a458f  gdb/testsuite/gdb.tui/empty.exp
 aa01b62dec7d79c025d503a28701868f  gdb/testsuite/gdb.tui/tui-disasm-long-lines.c
 9dcb53737ede34af62a9991de300092f  gdb/testsuite/gdb.tui/completion.exp
 134e8365138c5df1906e1b342e3628b5  gdb/testsuite/gdb.tui/tui-layout.exp
@@ -5295,44 +5297,44 @@ e80b03a7b7627b45d3215a1080f61615  gdb/sy
 518eeb650ede533c76597c3a1c3b5b5f  gdb/f-valprint.c
 b4661232e1c651351e7aab789eebdb61  gdb/gdb_curses.h
 8108dd8f906f2654fecc74958cf383db  gdb/doc/psrc.sed
-b9de6bd9ea4d4d759e4494f1bd439941  gdb/doc/gdb.info-3
-f4a61ff184836b252f0d0966a563ebde  gdb/doc/gdb.info-4
+fa4b39e8a3f3c0b2eca5a6b493acd6ff  gdb/doc/gdb.info-3
+e3146cc9da55e482f823bf0f4cabce86  gdb/doc/gdb.info-4
 ab0fe311032294b952da80585b8b90e7  gdb/doc/fdl.texi
 5db562992b3f0178f803b66c2b2337fd  gdb/doc/Makefile.in
-b5e2fb01b09f1e8868a32574d4b812aa  gdb/doc/gdb.info-7
-cf092b717121c1bcabf5589434c2b3d3  gdb/doc/gdbserver.1
+f91f9bd1811dcd02ae486d6d0c59511e  gdb/doc/gdb.info-7
+ba23e73b3e6c4e1539bbdb8c62edcfb7  gdb/doc/gdbserver.1
 34e70c52a663f6a691f6ceb17e8b3e48  gdb/doc/guile.texi
 f81a0e00e0cb9e41b078069fb9bedb07  gdb/doc/stack_frame.txt
 a07e6b7f88c558d15d03adeeaca94c74  gdb/doc/stabs.info
-36ead43d7757ccacc2034959693a4f4f  gdb/doc/gdb.info-5
-093150dcff29f3396f1a4ff6c7ae3948  gdb/doc/gdb.info-8
+179417f06c9a3499988a3d20f3d06ad1  gdb/doc/gdb.info-5
+425303a7f228f9d3732a392ad19236b1  gdb/doc/gdb.info-8
 9137c9e47e1692b8efec8e28482aa6fb  gdb/doc/agentexpr.texi
 66674dc351ba95941f422dc18cae24bb  gdb/doc/.gitignore
-b3be546a2dcb7cf542820997bc094b50  gdb/doc/gdb.info-1
+1995df1a7c4fbe7f4d56ff307466b61f  gdb/doc/gdb.info-1
 d5d06eaf9b4d44aa442a4a281aa9aea4  gdb/doc/a4rc.sed
-4e16c6e3b35344cee44bd5814b6ce1d5  gdb/doc/gdb.info-6
-e56d1d100677e3f5949bacad8189c328  gdb/doc/gdb.texinfo
-1659f9b8acce9e0ffa4434aa0be118b2  gdb/doc/gdb-add-index.1
+8723b0dbdec11c289dd63ab4ea491691  gdb/doc/gdb.info-6
+2178b0da4d9cc0ca2bc98573f79121ff  gdb/doc/gdb.texinfo
+22b4a8b0277fa0b2c81fc6b69d3e17fc  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
-a221fa5440c3d0f376b362e9d0d0ffef  gdb/doc/gdb.info-2
+8ff7b544dee2d3b24583f0e9897b232f  gdb/doc/gdb.info-2
 fdd79e6125e56c1eb7e28b2a71d5b48e  gdb/doc/refcard.tex
 6076d300a46651562d4ecd0604442414  gdb/doc/stack_frame.png
-76f97e073f3966609d011aa3a212fd2f  gdb/doc/gdb.info
-51a07a9648b9ecdc4abe95178dbdaf7e  gdb/doc/python.texi
+0100829688ef5bcf44d6e267d6b736a9  gdb/doc/gdb.info
+24a584baad4515b0f438400931efebd8  gdb/doc/python.texi
 9927faec0d3464d1bc485cd0c69a4a46  gdb/doc/stabs.texinfo
-61d96ac2df2302dea14c2039245d1210  gdb/doc/ChangeLog
-03fe17cbb471c07538a37d8e2edd9692  gdb/doc/gdb.1
-ed945677f5e476cb0838499644f00aec  gdb/doc/gcore.1
+401f4a59c515a041357e1994c45deb88  gdb/doc/ChangeLog
+a33d8678aba75d4e3410a3dae21f790c  gdb/doc/gdb.1
+6bbb4e0ccdb836a18ac2cf391eac9c96  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
-a3d6d767d7420ac08b3fed2d7edfdca7  gdb/doc/gdbinit.5
+944e2f8f24cc4c0c05909e6760377391  gdb/doc/gdbinit.5
 24d4f8b6396da16d9a8dd98281ac40ff  gdb/doc/Doxyfile-gdb-xref.in
 6f3b23a5f42aba8cbac1bcf7329942e4  gdb/doc/annotate.texinfo
 0b3e26fe6db92700f1e51071ff475193  gdb/doc/doxy-index.in
@@ -5394,7 +5396,7 @@ f8ef1c4fdc043ed02cb189ab003d69de  gdb/ad
 66cfa710958741f26aa9fc2a6eb0be21  gdb/dwarf2-frame.c
 6258d6a52141a0c56486958f497f18fb  gdb/mips-tdep.h
 7289821942d7a0e8bcf00df35790b435  gdb/sparc-nbsd-tdep.c
-213932566bf09983fe32e7c63b1d0455  gdb/target-float.c
+5c48de26685c5cd8b69a50e0712305e6  gdb/target-float.c
 2f0873dea04d36b4068c68a98383e353  gdb/riscv-tdep.h
 2950b97545109b369bc3da0a5a51421f  gdb/mips-fbsd-tdep.h
 809b3c403e85c83729ef5fc3bcfd43f6  gdb/gdb_select.h
@@ -5402,7 +5404,7 @@ f8ef1c4fdc043ed02cb189ab003d69de  gdb/ad
 8231b684b7d88405d04d2bef46a24822  gdb/ChangeLog-2004
 0262f02056540c63aa04699bbfe073ac  gdb/record-btrace.h
 6185dfd85d68e7154a5241d761f609ef  gdb/machoread.c
-77dc4682a7a5821dfb05eb67b9baf98d  gdb/printcmd.c
+14dc0146e3da9a6c5a8ea895f08c06d6  gdb/printcmd.c
 3a6eb757ea7c63d8924d634edc88da51  gdb/serial.c
 81e6fc400bf5d122718f1170d2dbefb1  gdb/gcore.in
 981d4979b5631ccf25f92a2fc5ec7156  gdb/ser-go32.c
@@ -5421,7 +5423,7 @@ fa65e5caeea359892241390569065984  gdb/ft
 cc8d949a11ca64c3ccff8b7e92449d12  gdb/tic6x-tdep.c
 652e9b357cacf96ad83c4cd7b134e146  gdb/gregset.h
 1818e224275234a88f51c541c8e468c2  gdb/infcall.h
-9ff17085439c0df277aa143916fbc52a  gdb/source.c
+b3b5f4b6baf03cd9da27e5f3c94f3cd1  gdb/source.c
 e80bcdf714445215a7895be33ffe0f26  gdb/sparc64-linux-nat.c
 1ae8477c065d0ca15f05d474010211d8  gdb/build-id.h
 d5e828332ce4825474128ed81a8c89f9  gdb/xcoffread.c
@@ -5431,7 +5433,7 @@ f508fce11cec611605079e9bbdd0dc1c  gdb/va
 b0d7765cde908403b2a60a419e8e5e7c  gdb/test-target.c
 9c2ef671f91314480a7eaa8cfcda58b0  gdb/continuations.h
 d3c3774037b52a130908c5b0e77b5519  gdb/infrun.h
-2439bc100cd31e615cdf3d021e8837d1  gdb/jit.c
+66ac579121182c960bb2e4710a09f8e0  gdb/jit.c
 5dd4f42bee6ff8d579a1ff2ffc9b0130  gdb/rx-tdep.c
 b09142fd95c99052976f2670e53006b6  gdb/frame-base.h
 e12e581d2911f2644ad6cf433c0e4a19  gdb/xml-syscall.c
@@ -5442,7 +5444,7 @@ c2e44c70bb6c500907865666c02806d2  gdb/hp
 0cc2bebe355d24d3412e8d657cf4a580  gdb/osabi.h
 01aec1727ac3d0ae667d7c421ad4f3dd  gdb/symfile.h
 be3ebe24b6c7611f1d04f11bc4730889  gdb/aarch64-ravenscar-thread.h
-0e26f0d3db82cc7bb4efe8f4afac05b9  gdb/fbsd-tdep.c
+d25959e1a6242232fc4e41e94c60e7a4  gdb/fbsd-tdep.c
 301431026f0926203ae5ae1022d2bbe1  gdb/gdb_vfork.h
 f058ce54f957301d2273e4cae2ecd6cd  gdb/hppa-linux-nat.c
 4f6cc32268d35b4bf1666fa068741048  gdb/avr-tdep.c
@@ -5751,7 +5753,7 @@ dbc4dc4321858d3d314ff9201176f4f5  gdb/fe
 e11c46ffce0d2817a18d200fe9afbccb  gdb/features/aarch64-fpu.xml
 9d9baf6ee79baadc2a660370cb2c1afc  gdb/gdb_indent.sh
 5afe7da120561dead28fb8221bc144a9  gdb/infcmd.c
-cafa2250708089626ca79a97245b6610  gdb/valprint.c
+088c6f699dc4a0a335a66076ee210316  gdb/valprint.c
 6af968a34afeb9eab9fd547e3fa65d62  gdb/solib-target.c
 7d40f66ff5bf4c4d11a2623bdc59f0ea  gdb/tilegx-tdep.c
 37fc98e9876223442e12822a3ba0166d  gdb/c-lang.h
@@ -5764,7 +5766,7 @@ c622629ce98d348a92a1d82095ac28ee  gdb/ty
 d71fe72add3d11f0bea0d05e69bd4965  gdb/selftest-arch.h
 ff2b2264d3bc2c96926dca89c1596eff  gdb/prologue-value.h
 6ce01f5f6d16f8a7bf879c0bd920c0da  gdb/auto-load.h
-dce587078c693a6ff096e9ac8c76f247  gdb/maint.c
+00142a7bf6c941722f9212f2ad10317a  gdb/maint.c
 c086e7b7f948f2285c1cbb4d6656689c  gdb/x86-bsd-nat.h
 a8282658401449c6beef61c9f36f145b  gdb/moxie-tdep.c
 e6c0df08f646157de09b7821e371f857  gdb/gdbtypes.c
@@ -5802,7 +5804,7 @@ d34e2c6824843e56bc190057113db218  gdb/mi
 81f3798555f34511135791013d7b26f8  gdb/amd64-linux-tdep.h
 7b8117324acf28d3f8e3ad185ed9d8bd  gdb/sparc-obsd-tdep.c
 c8d711e40ef2ce2adcfc5aa36c327dfd  gdb/ChangeLog-2016
-b97cb6a646f4f28aa27ee636b244f652  gdb/tracefile-tfile.c
+4eb3cf57182bd7c754ac29591b570c7b  gdb/tracefile-tfile.c
 e57842c3f6ed1f60a6fedd1261753bac  gdb/xml-tdesc.c
 ea6ad255c671e75d09ea06192bf77b49  gdb/dwarf-index-cache.h
 d3687b0e6b977d0dd23dca0fab27e7e9  gdb/solib.h
@@ -5842,7 +5844,7 @@ a88e31ebdc95dea2e182e90fa3596b09  gdb/va
 7242736b5bba9098c974d0e015b167a5  gdb/std-regs.c
 90d72be4c884a79ded08fa4fbbcb6b9b  gdb/go-lang.h
 9a1fd6216061720bf8556e23cf224721  gdb/i386-windows-nat.c
-553018c3b6d53a1383dccea66547a74c  gdb/po/gdb.pot
+901cfbd8747fd116ff51634afcdd7f82  gdb/po/gdb.pot
 1851bff0653201a488dcae18dde7efad  gdb/po/gdbtext
 7da5f0db2eb697d3fb85524954abaef5  gdb/break-catch-syscall.c
 f7aa291f013990b620f171fbd5c9d9b2  gdb/ada-lang.c
@@ -5874,7 +5876,7 @@ e3e2430aebaf80b6aca6759cfa9612d4  gdb/nb
 0d4182edc7beb626c56d423668383a2b  gdb/i386-fbsd-nat.c
 094e893d632874e14e92917b8c57c5fd  gdb/mipsread.c
 d4e47464ef8b510c11c547fb163d603a  gdb/amd64-darwin-tdep.c
-a19acb91e140e1a2bd42924ea1938eaa  gdb/ChangeLog
+7ca0ca6444c996ad4553530b582e7a42  gdb/ChangeLog
 2fd8f81fb260df7b31ffaaaa44e1d4b9  gdb/go-typeprint.c
 6bdae112ab8858c8b8eb3e32bc9b5b45  gdb/score-tdep.c
 170c97d0320940cea4fda1d1cb413687  gdb/xml-support.h
@@ -5914,7 +5916,7 @@ e15b66cf521662a3d42008410ed3a2c7  gdb/hp
 29fdee5a20a0a34cb2c788e8a8330ce9  gdb/nios2-tdep.c
 6f30360a58cf6fd88e223d5dba0f6adc  gdb/inline-frame.c
 d57b217a5c934eb5fcdc2b23b97f8322  gdb/p-typeprint.c
-8994ae8f1a8445c86b21b3e3e2459a55  gdb/xml-support.c
+bbe1416d2536c767ab7993e879feecbe  gdb/xml-support.c
 b34bd52f65001ae47a617326da9290a3  gdb/amd64-nbsd-nat.c
 448aa29f65826863a5a541c18ab2ee25  gdb/arch-utils.h
 5cfa770b39facd51d62a7ffd5e39dd39  gdb/darwin-nat.h
@@ -5929,7 +5931,7 @@ a086afe75c944455b65364d97f311063  gdb/bu
 e47d0045a9290ea002fc3da491cfee00  gdb/corefile.c
 490a02742eb8fb6a6ca024bf4b0e8959  gdb/x86-linux-nat.c
 283bf2b9f35f1184f098c1eabf1fbc58  gdb/macrotab.h
-ba166849b3d810d87a0b74402fcdbf01  gdb/progspace.h
+9b38baf5ec5b16e3a5cf52ec1c5f91a3  gdb/progspace.h
 071369803c3aba386e15e14a3328bf55  gdb/regformats/s390-tevx-linux64.dat
 44fa14e15b931dc63422873dc3a5aae1  gdb/regformats/nios2-linux.dat
 c67b2b2b626f63872d35e77d7845e9b6  gdb/regformats/mips64-dsp-linux.dat
@@ -5996,7 +5998,7 @@ b09b0ee5da44df728eb552f6bf6ed138  gdb/re
 7d521124886bd1a212ec6ac542743020  gdb/regformats/s390x-linux64.dat
 40ba412a0b4d6cebeef61c90e6f6629d  gdb/regformats/s390-linux64.dat
 5b7809bbc018af8b2c2bd6f0c2842351  gdb/arm-obsd-tdep.c
-a589cf0552427bd2251d6feb9a7cf263  gdb/utils.h
+6da970f2186a70b455ae4fd82f5e7f3e  gdb/utils.h
 994725e6719c445fa7b173452d0f9507  gdb/sparc-sol2-tdep.c
 283a66ed511d8293555fdce4810e1873  gdb/procfs.c
 ea3a0339e53fcacc45f5b891634f3e2d  gdb/solib-svr4.h
@@ -6049,7 +6051,7 @@ b57628c489d12a55931c64a1c75bee2b  gdb/ch
 97273dc809ad6327b606ddbb85a547ce  gdb/fortran-operator.def
 ec37492833a420567b71a6afa1840bc7  gdb/memory-map.c
 081c1b0e5d292b76fa9a9489c50ab2db  gdb/mdebugread.c
-e627ef90ea5e10cf66b83c23af44839d  gdb/progspace.c
+50b237630eb9f5139ac851ca72bc5d31  gdb/progspace.c
 695314fdd81787b828c240a9c7256046  gdb/ChangeLog-2018
 35ae8edab0076f180bd5dd69040556d5  gdb/sparc64-fbsd-nat.c
 571119fb533af599ec89544556ddaf5c  gdb/nbsd-tdep.c
@@ -6213,7 +6215,7 @@ ab547fc523d932c710785acb1950e83c  gdb/st
 140d077412ae615053b55e8cd29dfee2  gdb/stubs/sh-stub.c
 c40e87506f597a7943c5276b857d0684  gdb/buildsym.c
 ffcc2e5b1bb083aa858f572a9e1c4b84  gdb/breakpoint.h
-61f1bf956c005df7b7782007cb41d4d5  gdb/objfiles.c
+a4609d1977793238a36958678cbb8beb  gdb/objfiles.c
 336df5aa02e0c34ca27f7c40a8731e7b  gdb/debug.c
 91a2751fd55fc5eee28d4ff5ed905e4a  gdb/sol2-tdep.h
 8e5d59c64b208a6ef3be68d8d479f8a9  gdb/ppc-linux-tdep.c
@@ -6265,12 +6267,12 @@ c6cd914d25d68ae7fd55fa5940dbb557  gdb/co
 53f3475545edbd080ad9b4691fd6dead  gdb/compile/compile-c-symbols.c
 971182606de181459a7067a1fb2deded  gdb/compile/compile-c.h
 a5ad2aab1501687cb087b22b3d6898ed  gdb/compile/compile-object-run.h
-daa9c40911d002903167a7a890690900  gdb/compile/compile-object-load.c
+40468ef6e37368416f2c9c4e7c01553c  gdb/compile/compile-object-load.c
 fd7fb73193ab5d850ef4fc560475344e  gdb/compile/gcc-cp-plugin.h
 ac0bb6f379fac722f4bbbfa4b779cc1b  gdb/compile/compile-c-support.c
 71e692cd45d1b2f559118f45f7df87b4  gdb/compile/compile-cplus.h
 98d04c23167a12fcbf1821a3620fddd1  gdb/compile/gcc-c-plugin.h
-fe8bfb0304fcf0372bb1cbd874f8327c  gdb/compile/compile-object-run.c
+009718cf1507bb683d68b0151451989b  gdb/compile/compile-object-run.c
 4515ecb0578daf22147c4a8525455a53  gdb/compile/compile-cplus-symbols.c
 797504580fb7b0cebd6e088c4e816f09  gdb/compile/compile-internal.h
 057e21b49faf3a8c53eddb9ef82b3686  gdb/compile/compile-object-load.h
@@ -6351,12 +6353,12 @@ bae3712b17bcb8ab5870e0423d9fcb59  gdb/ms
 c30c66ae4b53b6a4b92b7b3a6b9d0fa2  gdb/ctfread.c
 02a758bd8ee89525fb539ca26c3d092a  gdb/m2-typeprint.c
 9ec5eaa81809574b860587bbe81ae0b0  gdb/ax-gdb.h
-1a4c4056b4be0418b7a30e908cdcfb5f  gdb/bsd-kvm.c
+6c47a3f29ebfada796802b8127ab5ed2  gdb/bsd-kvm.c
 1cb85c021d0fdf0a8c77626cf49763ab  gdb/gdb_regex.c
 072e96cf597ad46ab5a35760e6ea5650  gdb/i386-fbsd-tdep.h
 a3be6d8cc29663c059e5488e8f4b60ac  gdb/gdbsupport/valid-expr.h
 7d423978ee66b62ed8ccfe31b3edb23a  gdb/gdbsupport/environ.c
-3425f85ba2bb0ad51d00a5ca9c4be86e  gdb/gdbsupport/safe-iterator.h
+7244aae5df20ce78bd656b18c4a4d145  gdb/gdbsupport/safe-iterator.h
 1a721dceca4a52676e68799414efe297  gdb/gdbsupport/common-debug.h
 277dd6ccde3810521dae624369786184  gdb/gdbsupport/common-defs.h
 07c3f92849c212e23f0d01a522ffe132  gdb/gdbsupport/buffer.c
@@ -6405,9 +6407,9 @@ f914bf96917665a123fec5bcc254db01  gdb/gd
 14b480b9a17b3d904adf4ce6e6f7fbca  gdb/gdbsupport/scoped_mmap.h
 c717370aa06a7ecd1b88e2130059bfba  gdb/gdbsupport/scoped_restore.h
 d2eb5056b67ef31b7cf1eec0eeac60b5  gdb/gdbsupport/gdb_string_view.h
-1a7af9e15036a039938fe7348673cdf4  gdb/gdbsupport/thread-pool.c
+ffded519c8e8c4d8ce1f19261a686c04  gdb/gdbsupport/thread-pool.c
 6be07717af3ac2e580fd350bcd67dc36  gdb/gdbsupport/rsp-low.h
-1051f2450834f86c537ebd14eef93696  gdb/gdbsupport/common-utils.c
+6a1c26ad4d257d0fd2937d3ccd7607a9  gdb/gdbsupport/common-utils.c
 d4ce6a61596d8b5dade3f999c8fb046e  gdb/gdbsupport/gdb_assert.h
 2d44d863416676392aac9f6ef4032faa  gdb/gdbsupport/gdb_tilde_expand.c
 179d6009658c1194072ce52d13d18315  gdb/gdbsupport/cleanups.h
@@ -6423,16 +6425,16 @@ b49291b450e8482b6a1bb0d734406468  gdb/gd
 5d22666f4a51560074e6e7f1655a1f45  gdb/gdbsupport/scoped_fd.h
 d8a7ffc11f241004d45c3e4b91796212  gdb/gdbsupport/ptid.c
 ff200282480b9cd49492ff4c2fc91a34  gdb/gdbsupport/gdb_unlinker.h
-26976478015d2fc22ae85a7f93d6aad2  gdb/gdbsupport/pathstuff.h
+5e5c2be250f05fc32b24bac78088ce54  gdb/gdbsupport/pathstuff.h
 3ddf304a7d731b166cde2ebda665473c  gdb/gdbsupport/default-init-alloc.h
 075c3788eebd849cecd3fc406af8b14b  gdb/gdbsupport/gdb-sigmask.h
-6990812b12312d353f0fa23864202233  gdb/gdbsupport/safe-strerror.c
+bba8ff056a3f67caa45527be6837dba9  gdb/gdbsupport/safe-strerror.c
 80cf5d2dc3e037ec721a4e2d6901b98d  gdb/gdbsupport/new-op.c
 19c73edc63f84cb4bbbc0c25ed23d27f  gdb/gdbsupport/btrace-common.h
 52b076df1eedfa559a9f62d85a095787  gdb/gdbsupport/block-signals.h
 11892868404e4f5a0a4780e2a3c16e92  gdb/gdbsupport/gdb_signals.h
 6ded252b05d007fc0839e66e26ece33c  gdb/gdbsupport/gdb_ref_ptr.h
-f2358e2c78b01401dcca389db17f2fa2  gdb/gdbsupport/pathstuff.c
+65b9a83caee55e872fe3e319e4d10258  gdb/gdbsupport/pathstuff.c
 53f0fae67f5b60ac2b30fd79985c59db  gdb/gdbsupport/preprocessor.h
 c6d6c8997c028731df94800942d316f4  gdb/gdbsupport/break-common.h
 2753978fb04615b50efd9a32ca0238fb  gdb/gdbsupport/rsp-low.c
@@ -6988,7 +6990,7 @@ d947ad669709a730d3f627ed1932bf51  includ
 e44328bd57b66d8911813206c5463153  include/leb128.h
 7f9fcc517ea3ab1c28623514c37a0279  include/ctf.h
 db564fde8994756b41a82b425e5baba4  include/opcode/hppa.h
-90360e0a6e1eebfb8c71521c2bda3264  include/opcode/mmix.h
+e4aaaed05751869caa2f17657e644168  include/opcode/mmix.h
 a34ebcadd9ebde14cd94a465c4d69c44  include/opcode/cris.h
 7d9073913e7c2363c8d949d31910e9b5  include/opcode/tic4x.h
 ac914ce9ce888eb335489b4ab301a5fe  include/opcode/ChangeLog-0415
@@ -7129,7 +7131,7 @@ ac5c6fe8de400c9792753b5db5b255d5  includ
 ae5154ba0c6bf41452c1e4e3938fde52  include/gdb/callback.h
 d3976907c9252ef4d60b9ac80987eafc  include/hashtab.h
 8673aa12a3493cb537f1220aa799b950  include/gcc-interface.h
-c41f78f96fddb2edeb9b9501b2e5071e  include/ChangeLog
+ea5c285021772b5e386235aecfc38806  include/ChangeLog
 1028b14428da6c6ff2a4b3c41daa807d  include/dis-asm.h
 2e19107e7906229570c084b790923d48  include/splay-tree.h
 352ce75976e0a5970298d574ffdf743e  include/filenames.h
@@ -7247,7 +7249,7 @@ b69b57e5b98d9f30a80c6e9739539b30  includ
 37785f3eed21fc14cdc3a0b12e8b4406  include/cgen/ChangeLog-0915
 9fab225bb5729589e564a2e4f4d2372d  include/cgen/basic-modes.h
 54fd80804f45545f96bc5ca82ec2ae2c  include/cgen/basic-ops.h
-75d1ff50f74ca90cf99a952ee5a6cc0d  include/diagnostics.h
+bbbe7548f4b8621392d1b45aba1db4eb  include/diagnostics.h
 16a43b00f972676ab7aed849e6921845  include/bout.h
 df72d70431e61fbed5436c090ca7d172  include/demangle.h
 ba6bafa9651bbef0c2a97111c88a7e0a  include/bfdlink.h
@@ -7570,7 +7572,7 @@ cd6f547d922c5c3ff6854a11f53b6d8a  Makefi
 fbe2467afef81c41c166173adeb0ee20  mkdep
 82b7b70a9845ee61a01f20b29dd2df2c  mkinstalldirs
 21b967372b521f607c0a119f425931ec  move-if-change
-f54b9c221462fec13cdc02b98e915a66  opcodes/m32c-ibld.c
+f0a8ada31841e83a2fdd8ba8296a5fce  opcodes/m32c-ibld.c
 09518e4a82b75266f400e40fb3ce7e84  opcodes/alpha-opc.c
 8e786067e487eb6a028eeaac6c7ba86f  opcodes/i386-opc.c
 22fad5413c93cf5595cda3875e96cca2  opcodes/fr30-desc.h
@@ -7586,7 +7588,7 @@ cd7f298ea8c90ece6d6636caa2663922  opcode
 2c0e32ad569cb43fc87917b5ab8e201a  opcodes/arc-opc.c
 1520dab72c651e105637ea8105b3904f  opcodes/m10300-opc.c
 1f5acd3452a0a360529d00ef50d69b58  opcodes/ChangeLog-2011
-5746083f50269c0a6222f7b0078fb2ae  opcodes/epiphany-ibld.c
+e4686390944c58887736ccc5531a832b  opcodes/epiphany-ibld.c
 c5c2b41393a7be2985845e58b6c53467  opcodes/m10200-opc.c
 c825caabde2126bbbc946b16fb98e72c  opcodes/arc-ext.c
 91e23bfdf37c646e6c3aec223f321d86  opcodes/or1k-dis.c
@@ -7674,8 +7676,8 @@ bfe52955d878be1553a2995beb23e5a9  opcode
 efef2c4d2914a9253b8617177903292e  opcodes/rx-dis.c
 ca785717d67af63dca75d5b7d3918d16  opcodes/ip2k-desc.h
 8bc1cca2449280a875ba9c0f71149119  opcodes/mt-ibld.c
-57fbc7c55be5f9712647340b7a9fbf9d  opcodes/ns32k-dis.c
-e4f4124a747738926c4ec2b30df87d0c  opcodes/tic54x-dis.c
+259177033fae052791b1ce68442fde53  opcodes/ns32k-dis.c
+e5ec39e14e3253b623ca4cacde699d8a  opcodes/tic54x-dis.c
 c96b873dc5757518b7633ab3e4f5896d  opcodes/aarch64-dis.h
 a2125e11b5dc97a1a70e480b5849bc5c  opcodes/msp430-dis.c
 f345d22e618784b582142c4817d7be03  opcodes/or1k-desc.c
@@ -7722,7 +7724,7 @@ ba8859bd07937a25f0dc06b68b4033c3  opcode
 7a0278302e523c84ba412f8b8000c902  opcodes/arc-fxi.h
 c098c5cde9b3dc17ecf3f4f5626dc002  opcodes/score7-dis.c
 83840819c9721b9216ef4c562158a539  opcodes/i386-tbl.h
-b5b3dbebfdc9a26bf9220a991f43218b  opcodes/arc-dis.c
+0e2a810186dfb997ac2de206e93dbc01  opcodes/arc-dis.c
 435c73db4c63944bdc8fbfeb19338f0a  opcodes/ip2k-asm.c
 5877ba5e080a7c281d631fa730cf3f50  opcodes/spu-opc.c
 4e6ec2c7f5ac51a0c6accd0d7268507c  opcodes/m32r-desc.h
@@ -7731,21 +7733,21 @@ d82f778486a2f3dad8ecc96f35afe6ae  opcode
 3b15094418dae0db7f120b454b9f47ba  opcodes/ia64-dis.c
 dc024d3b48a1df846b5ba8a9e3298ee9  opcodes/ft32-dis.c
 fa2e7775fb32f003537ff547c2d5bc7b  opcodes/z80-dis.c
-9f9ca231f303f26cc3b821b4a8fd9556  opcodes/tilegx-opc.c
+890707f21c8ec208ebdadcdd4315fe67  opcodes/tilegx-opc.c
 ce914fe9eed08941164781e2be28336b  opcodes/lm32-desc.c
 0de342db0b374e59ca6194ec8f3babc7  opcodes/xstormy16-dis.c
 97296566ea48acc07e4bb18906dce6e7  opcodes/cgen-dis.in
 491ce2b9d8011e43064bf96d1588e9c7  opcodes/mips-dis.c
-dbb0a055a24ca1f303e2f21d58f9b9df  opcodes/csky-dis.c
+cee51ee2c2fa8f9d894af72b3ca0b63c  opcodes/csky-dis.c
 39b7e834f46b8cf1879169b1f12c6ed3  opcodes/arc-regs.h
 e90f5d03a7dd2d3bcf05962da4859f16  opcodes/msp430-decode.opc
 2faa9fe04112f95c9de3c97193cedabf  opcodes/bpf-ibld.c
 961a51f86de7b48d6121b1d6842b705e  opcodes/xc16x-desc.c
-31c364bb758bc5b5f3398dae6b88fc1e  opcodes/nios2-dis.c
+d0ee896bdd884bf2aeee011ed6bc6b99  opcodes/nios2-dis.c
 5de34009ed810a80604bf75f7a4fe086  opcodes/configure.com
 4ce9a81f11979dff34df6eb7e9b29cc2  opcodes/mcore-dis.c
 9300bcc15a455fea2d4c7de9b64701aa  opcodes/or1k-opc.h
-d6cfc84911f97407c877e04595588cb5  opcodes/visium-dis.c
+a67036fed328f0516d18b0a9d0060a85  opcodes/visium-dis.c
 1ded054093de910d9786c62bc4fe8cc6  opcodes/stamp-h.in
 3ea3e635a3fab1b00949d21151da606a  opcodes/m32r-dis.c
 5b2aa21de3d58c9100b435d8ebbcdf65  opcodes/ia64-opc-a.c
@@ -7830,7 +7832,7 @@ f54be2e715ceb6cebb98fab5bc37e7db  opcode
 62a30cfb1b506ee2c3916ee13e9eda8a  opcodes/m10300-dis.c
 1b1854422db842d0dfa01c932a5f86ae  opcodes/nds32-opc.h
 713fb26f79662b078390d218dc5d977c  opcodes/aarch64-opc.h
-9c6f49266476192ca48db0ad23673f26  opcodes/ChangeLog
+39c69c38e9d64f62fa008ebb30820358  opcodes/ChangeLog
 327cf11f5c08b578f3b0cdb7f3923280  opcodes/ia64-raw.tbl
 aa7514b36d310f0d844b24155fa91b35  opcodes/frv-dis.c
 85afb5e9fa15ca375baadf5e1da1d13b  opcodes/aarch64-opc.c
@@ -7857,7 +7859,7 @@ b1e27678214ec6733c0bacf20a3bb559  opcode
 f7b8b18ab2b5f1cb03ab99b1cca821ef  opcodes/ChangeLog-2018
 9cfdae46f8255086bca20fbadd8892b0  opcodes/ia64-opc-f.c
 04f60ce0808d9609bb0bcca4d5d12646  opcodes/ChangeLog-2008
-765326de0e791c8afdadd663df95dfca  opcodes/lm32-ibld.c
+84a4c3f58f683c8637dc4f0a3145c5e5  opcodes/lm32-ibld.c
 2bbcdade8928649e0cbcc80c04883db9  opcodes/nds32-dis.c
 3d439dfaea073141a4f5f66e63597f2c  opcodes/cgen.sh
 db5af979acf8d7c971301b1ad9efaab1  opcodes/aarch64-asm.h
@@ -7869,7 +7871,7 @@ e97749da9ab275b1746313452a10c86b  opcode
 9978b0ffb15f1ad48bc31816517ef965  opcodes/ChangeLog-2009
 b0ce0064c01f5c1a724a5ae70a239229  opcodes/cris-dis.c
 2e626a05dda4b96b9bbab43222079aca  opcodes/tic80-opc.c
-6c41264d7f7bb001706373037020b73b  opcodes/tilepro-opc.c
+a7c330f47b358722154a0314cd539b19  opcodes/tilepro-opc.c
 c4269744352d0a75be362f62e2ef5ebc  opcodes/microblaze-opc.h
 d1540a05666d708043672080b9852525  opcodes/ia64-opc.c
 c4d4746528ee77d52df99f4fe0e00d72  opcodes/hppa-dis.c
@@ -7894,7 +7896,7 @@ a3b3669c240344adf0664ca0c38cabcf  opcode
 3a7f260636da712c96de42149baef270  opcodes/aarch64-asm-2.c
 72af9ecc4c7cb00bf19fa927daa8a16c  opcodes/bpf-asm.c
 16fb6269b9dd9cd946593f5853eacd57  opcodes/frv-opc.c
-e9112f51ff4ff79fd8108ec9f14a2bab  opcodes/pdp11-dis.c
+36815e66b0e3b70beb7066db96ebd6bf  opcodes/pdp11-dis.c
 98a7172aacc3c26e188d9af1f05987c6  opcodes/arc-tbl.h
 a3f680dc58871bef11469c918b977c8d  opcodes/visium-opc.c
 f0aaac36201cb73e620ea4621ab9f210  opcodes/iq2000-opc.h
@@ -8205,10 +8207,10 @@ e2b7b339c23b713f78025af9e556ef45  sim/mo
 52a9849a86689a7ee1f88ce34bbd60ac  sim/moxie/moxie-gdb.dts
 79b3f19a4a961715ed1b3fc266e073d6  sim/moxie/config.in
 4e5b996dc62651c7c0bb56df38b83068  sim/moxie/configure.ac
-4ccbba0dfa82ac869965f9a08461f91c  sim/moxie/interp.c
+d4a8427b52a92821b93822737fcd604e  sim/moxie/interp.c
 242be6f3d7c828cc4f833eef36c83e35  sim/moxie/configure
 4ab55a35c7007d58ee370d38587e6907  sim/moxie/aclocal.m4
-d919962ef2a2527ac92ceba8b893fb67  sim/moxie/ChangeLog
+2bfd082009eb29e5608c0e79f0c0a3aa  sim/moxie/ChangeLog
 3e4c3d58eba64e597a6056a3fa74dcc9  sim/moxie/sim-main.h
 69ac8467850f2e662175dd1ede531844  sim/ft32/Makefile.in
 b7593cb1d4360b2fd70239543352ea5d  sim/ft32/ft32-sim.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.20191211/opcodes/arc-dis.c ./opcodes/arc-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/opcodes/arc-dis.c	2019-12-11 01:49:21.000000000 +0000
+++ ./opcodes/arc-dis.c	2019-12-15 01:49:41.000000000 +0000
@@ -137,8 +137,7 @@ static bfd_boolean print_hex = FALSE;
   (info->endian == BFD_ENDIAN_LITTLE ? bfd_getm32 (bfd_getl32 (buf))	\
    : bfd_getb32 (buf))
 
-#define BITS(word,s,e)  (((word) << (sizeof (word) * 8 - 1 - e)) >>	\
-			 (s + (sizeof (word) * 8 - 1 - e)))
+#define BITS(word,s,e)  (((word) >> (s)) & ((1ull << ((e) - (s)) << 1) - 1))
 #define OPCODE_32BIT_INSN(word)	(BITS ((word), 27, 31))
 
 /* Functions implementation.  */
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.20191211/opcodes/ChangeLog ./opcodes/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/opcodes/ChangeLog	2019-12-11 01:49:21.000000000 +0000
+++ ./opcodes/ChangeLog	2019-12-15 01:49:41.000000000 +0000
@@ -1,3 +1,26 @@
+2019-12-12  Alan Modra  <amodra@gmail.com>
+
+	* csky-dis.c (csky_chars_to_number): Remove abort and unnecessary
+	mask.
+
+2019-12-11  Alan Modra  <amodra@gmail.com>
+
+	* arc-dis.c (BITS): Don't truncate high bits with shifts.
+	* nios2-dis.c (nios2_print_insn_arg): Don't sign extend with shifts.
+	* tic54x-dis.c (print_instruction): Likewise.
+	* tilegx-opc.c (parse_insn_tilegx): Likewise.
+	* tilepro-opc.c (parse_insn_tilepro): Likewise.
+	* visium-dis.c (disassem_class0): Likewise.
+	* pdp11-dis.c (sign_extend): Likewise.
+	(SIGN_BITS): Delete.
+	* epiphany-ibld.c: Regenerate.
+	* lm32-ibld.c: Regenerate.
+	* m32c-ibld.c: Regenerate.
+
+2019-12-11  Alan Modra  <amodra@gmail.com>
+
+	* ns32k-dis.c (sign_extend): Correct last patch.
+
 2019-12-11  Alan Modra  <amodra@gmail.com>
 
 	* vax-dis.c (NEXTLONG): Avoid signed overflow.
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.20191211/opcodes/csky-dis.c ./opcodes/csky-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/opcodes/csky-dis.c	2019-12-11 01:49:21.000000000 +0000
+++ ./opcodes/csky-dis.c	2019-12-15 01:49:41.000000000 +0000
@@ -134,17 +134,15 @@ csky_get_mask (struct csky_opcode_info c
 static unsigned int
 csky_chars_to_number (unsigned char * buf, int n)
 {
-  if (n <= 0)
-    abort ();
   int i;
   unsigned int val = 0;
 
   if (dis_info.info->endian == BFD_ENDIAN_BIG)
     for (i = 0; i < n; i++)
-      val = val << 8 | (buf[i] & 0xff);
+      val = val << 8 | buf[i];
   else
     for (i = n - 1; i >= 0; i--)
-      val = val << 8 | (buf[i] & 0xff);
+      val = val << 8 | buf[i];
   return val;
 }
 
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.20191211/opcodes/epiphany-ibld.c ./opcodes/epiphany-ibld.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/opcodes/epiphany-ibld.c	2019-12-11 01:49:21.000000000 +0000
+++ ./opcodes/epiphany-ibld.c	2019-12-15 01:49:41.000000000 +0000
@@ -1092,7 +1092,7 @@ epiphany_cgen_extract_operand (CGEN_CPU_
         length = extract_normal (cd, ex_info, insn_value, 0, 0, 23, 8, 32, total_length, pc, & fields->f_disp8);
         if (length <= 0) break;
 {
-  FLD (f_sdisp11) = ((SI) (((((((FLD (f_disp8)) << (3))) | (FLD (f_disp3)))) << (21))) >> (21));
+  FLD (f_sdisp11) = ((((((((((FLD (f_disp8)) << (3))) | (FLD (f_disp3)))) & (2047))) ^ (1024))) - (1024));
 }
       }
       break;
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.20191211/opcodes/lm32-ibld.c ./opcodes/lm32-ibld.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/opcodes/lm32-ibld.c	2019-12-11 01:49:21.000000000 +0000
+++ ./opcodes/lm32-ibld.c	2019-12-15 01:49:42.000000000 +0000
@@ -680,7 +680,7 @@ lm32_cgen_extract_operand (CGEN_CPU_DESC
       {
         long value;
         length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED)|(1<<CGEN_IFLD_PCREL_ADDR), 0, 15, 16, 32, total_length, pc, & value);
-        value = ((pc) + (((SI) (((value) << (16))) >> (14))));
+        value = ((pc) + (((((((((value) & (65535))) << (2))) ^ (131072))) - (131072))));
         fields->f_branch = value;
       }
       break;
@@ -688,7 +688,7 @@ lm32_cgen_extract_operand (CGEN_CPU_DESC
       {
         long value;
         length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGNED)|(1<<CGEN_IFLD_PCREL_ADDR), 0, 25, 26, 32, total_length, pc, & value);
-        value = ((pc) + (((SI) (((value) << (6))) >> (4))));
+        value = ((pc) + (((((((((value) & (67108863))) << (2))) ^ (134217728))) - (134217728))));
         fields->f_call = value;
       }
       break;
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.20191211/opcodes/m32c-ibld.c ./opcodes/m32c-ibld.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/opcodes/m32c-ibld.c	2019-12-11 01:49:21.000000000 +0000
+++ ./opcodes/m32c-ibld.c	2019-12-15 01:49:42.000000000 +0000
@@ -1489,7 +1489,7 @@ m32c_cgen_insert_operand (CGEN_CPU_DESC 
     case M32C_OPERAND_LAB_8_16 :
       {
         long value = fields->f_lab_8_16;
-        value = ((((((((value) - (((pc) + (1))))) & (255))) << (8))) | (((USI) (((((value) - (((pc) + (1))))) & (65535))) >> (8))));
+        value = ((((((((value) - (((pc) + (1))))) & (255))) << (8))) | (((USI) (((((value) - (((pc) + (1))))) & (65280))) >> (8))));
         errmsg = insert_normal (cd, value, 0|(1<<CGEN_IFLD_SIGN_OPT)|(1<<CGEN_IFLD_PCREL_ADDR), 0, 8, 16, 32, total_length, buffer);
       }
       break;
@@ -2654,7 +2654,7 @@ m32c_cgen_extract_operand (CGEN_CPU_DESC
       {
         long value;
         length = extract_normal (cd, ex_info, insn_value, 0|(1<<CGEN_IFLD_SIGN_OPT)|(1<<CGEN_IFLD_PCREL_ADDR), 0, 8, 16, 32, total_length, pc, & value);
-        value = ((((((USI) (((value) & (65535))) >> (8))) | (((SI) (((((value) & (255))) << (24))) >> (16))))) + (((pc) + (1))));
+        value = ((((((((((USI) (((value) & (65280))) >> (8))) | (((((value) & (255))) << (8))))) ^ (32768))) - (32768))) + (((pc) + (1))));
         fields->f_lab_8_16 = value;
       }
       break;
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.20191211/opcodes/nios2-dis.c ./opcodes/nios2-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/opcodes/nios2-dis.c	2019-12-11 01:49:21.000000000 +0000
+++ ./opcodes/nios2-dis.c	2019-12-15 01:49:42.000000000 +0000
@@ -554,10 +554,10 @@ nios2_print_insn_arg (const char *argptr
       switch (op->format)
 	{
 	case iw_i_type:
-	  s = (int32_t) (GET_IW_I_IMM16 (opcode) << 16) >> 16;
+	  s = ((GET_IW_I_IMM16 (opcode) & 0xffff) ^ 0x8000) - 0x8000;
 	  break;
 	case iw_F2I16_type:
-	  s = (int32_t) (GET_IW_F2I16_IMM16 (opcode) << 16) >> 16;
+	  s = ((GET_IW_F2I16_IMM16 (opcode) & 0xffff) ^ 0x8000) - 0x8000;
 	  break;
 	default:
 	  bad_opcode (op);
@@ -570,10 +570,10 @@ nios2_print_insn_arg (const char *argptr
       switch (op->format)
 	{
 	case iw_F2X4I12_type:
-	  s = (int32_t) (GET_IW_F2X4I12_IMM12 (opcode) << 20) >> 20;
+	  s = ((GET_IW_F2X4I12_IMM12 (opcode) & 0xfff) ^ 0x800) - 0x800;
 	  break;
 	case iw_F1X4I12_type:
-	  s = (int32_t) (GET_IW_F1X4I12_IMM12 (opcode) << 20) >> 20;
+	  s = ((GET_IW_F1X4I12_IMM12 (opcode) & 0xfff) ^ 0x800) - 0x800;
 	  break;
 	default:
 	  bad_opcode (op);
@@ -673,10 +673,10 @@ nios2_print_insn_arg (const char *argptr
       switch (op->format)
 	{
 	case iw_i_type:
-	  o = (int32_t) (GET_IW_I_IMM16 (opcode) << 16) >> 16;
+	  o = ((GET_IW_I_IMM16 (opcode) & 0xffff) ^ 0x8000) - 0x8000;
 	  break;
 	case iw_F2I16_type:
-	  o = (int32_t) (GET_IW_F2I16_IMM16 (opcode) << 16) >> 16;
+	  o = ((GET_IW_F2I16_IMM16 (opcode) & 0xffff) ^ 0x8000) - 0x8000;
 	  break;
 	default:
 	  bad_opcode (op);
@@ -690,7 +690,7 @@ nios2_print_insn_arg (const char *argptr
       switch (op->format)
 	{
 	case iw_I10_type:
-	  o = (int32_t) (GET_IW_I10_IMM10 (opcode) << 22) >> 21;
+	  o = (((GET_IW_I10_IMM10 (opcode) & 0x3ff) ^ 0x400) - 0x400) << 1;
 	  break;
 	default:
 	  bad_opcode (op);
@@ -704,7 +704,7 @@ nios2_print_insn_arg (const char *argptr
       switch (op->format)
 	{
 	case iw_T1I7_type:
-	  o = (int32_t) (GET_IW_T1I7_IMM7 (opcode) << 25) >> 24;
+	  o = (((GET_IW_T1I7_IMM7 (opcode) & 0x7f) ^ 0x40) - 0x40) << 1;
 	  break;
 	default:
 	  bad_opcode (op);
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.20191211/opcodes/ns32k-dis.c ./opcodes/ns32k-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/opcodes/ns32k-dis.c	2019-12-11 01:49:21.000000000 +0000
+++ ./opcodes/ns32k-dis.c	2019-12-15 01:49:42.000000000 +0000
@@ -327,8 +327,8 @@ bit_copy (bfd_byte *buffer, int offset, 
 static int
 sign_extend (unsigned int value, unsigned int bits)
 {
-  unsigned int sign = 1u << bits;
-  return ((value & (sign - 1)) ^ sign) - sign;
+  unsigned int sign = 1u << (bits - 1);
+  return ((value & (sign + sign - 1)) ^ sign) - sign;
 }
 
 static void
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.20191211/opcodes/pdp11-dis.c ./opcodes/pdp11-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/opcodes/pdp11-dis.c	2019-12-11 01:49:21.000000000 +0000
+++ ./opcodes/pdp11-dis.c	2019-12-15 01:49:42.000000000 +0000
@@ -31,8 +31,7 @@
 #define F	info->stream
 
 /* Sign-extend a 16-bit number in an int.  */
-#define SIGN_BITS	(8 * sizeof (int) - 16)
-#define sign_extend(x) (((x) << SIGN_BITS) >> SIGN_BITS)
+#define sign_extend(x) ((((x) & 0xffff) ^ 0x8000) - 0x8000)
 
 static int
 read_word (bfd_vma memaddr, int *word, disassemble_info *info)
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.20191211/opcodes/tic54x-dis.c ./opcodes/tic54x-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/opcodes/tic54x-dis.c	2019-12-11 01:49:21.000000000 +0000
+++ ./opcodes/tic54x-dis.c	2019-12-15 01:49:42.000000000 +0000
@@ -394,8 +394,7 @@ print_instruction (disassemble_info *inf
             break;
           }
         case OP_k5:
-          sprintf (operand[i], "#%d",
-                   (int) (((signed char) opcode & 0x1F) << 3) >> 3);
+          sprintf (operand[i], "#%d", ((opcode & 0x1F) ^ 0x10) - 0x10);
           info->fprintf_func (info->stream, "%s%s", comma, operand[i]);
           break;
         case OP_k8u:
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.20191211/opcodes/tilegx-opc.c ./opcodes/tilegx-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/opcodes/tilegx-opc.c	2019-12-11 01:49:21.000000000 +0000
+++ ./opcodes/tilegx-opc.c	2019-12-15 01:49:42.000000000 +0000
@@ -8102,8 +8102,8 @@ parse_insn_tilegx (tilegx_bundle_bits bi
 	  if (op->is_signed)
 	    {
 	      /* Sign-extend the operand.  */
-	      int shift = (int)((sizeof(int) * 8) - op->num_bits);
-	      raw_opval = (raw_opval << shift) >> shift;
+	      unsigned int sign = 1u << (op->num_bits - 1);
+	      raw_opval = ((raw_opval & (sign + sign - 1)) ^ sign) - sign;
 	    }
 
 	  /* Adjust PC-relative scaled branch offsets.  */
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.20191211/opcodes/tilepro-opc.c ./opcodes/tilepro-opc.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/opcodes/tilepro-opc.c	2019-12-11 01:49:21.000000000 +0000
+++ ./opcodes/tilepro-opc.c	2019-12-15 01:49:42.000000000 +0000
@@ -10220,8 +10220,8 @@ parse_insn_tilepro (tilepro_bundle_bits 
 	  if (op->is_signed)
 	    {
 	      /* Sign-extend the operand.  */
-	      int shift = (int)((sizeof(int) * 8) - op->num_bits);
-	      opval = (opval << shift) >> shift;
+	      unsigned int sign = 1u << (op->num_bits - 1);
+	      opval = ((opval & (sign + sign - 1)) ^ sign) - sign;
 	    }
 
 	  /* Adjust PC-relative scaled branch offsets.  */
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.20191211/opcodes/visium-dis.c ./opcodes/visium-dis.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/opcodes/visium-dis.c	2019-12-11 01:49:21.000000000 +0000
+++ ./opcodes/visium-dis.c	2019-12-15 01:49:42.000000000 +0000
@@ -94,7 +94,7 @@ disassem_class0 (disassemble_info *info,
       /* BRR instruction.  */
       {
 	unsigned cbf = (ins >> 27) & 0x000f;
-	int displacement = ((int) (ins << 16)) >> 16;
+	int displacement = ((ins & 0xffff) ^ 0x8000) - 0x8000;
 
 	if (ins == 0)
 	  (*info->fprintf_func) (info->stream, "nop");
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.20191211/sim/moxie/ChangeLog ./sim/moxie/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/sim/moxie/ChangeLog	2019-12-11 01:49:21.000000000 +0000
+++ ./sim/moxie/ChangeLog	2019-12-15 01:49:42.000000000 +0000
@@ -1,3 +1,8 @@
+2019-12-14  Anthony Green  <green@moxielogic.com>
+
+	* interp.c (sim_engine_run): Make use of sim_io_* functions for
+	read/write/open system calls.  Implement the unlink system call.
+
 2017-09-06  John Baldwin  <jhb@FreeBSD.org>
 
 	* configure: Regenerate.
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.20191211/sim/moxie/interp.c ./sim/moxie/interp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-9.0.50.20191211/sim/moxie/interp.c	2019-12-11 01:49:21.000000000 +0000
+++ ./sim/moxie/interp.c	2019-12-15 01:49:42.000000000 +0000
@@ -32,6 +32,7 @@ along with this program.  If not, see <h
 #include "sim-main.h"
 #include "sim-base.h"
 #include "sim-options.h"
+#include "sim-io.h"
 
 typedef int word;
 typedef unsigned int uword;
@@ -942,9 +943,10 @@ sim_engine_run (SIM_DESC sd,
 		      char fname[1024];
 		      int mode = (int) convert_target_flags ((unsigned) cpu.asregs.regs[3]);
 		      int perm = (int) cpu.asregs.regs[4];
-		      int fd = open (fname, mode, perm);
+		      int fd;
 		      sim_core_read_buffer (sd, scpu, read_map, fname,
 					    cpu.asregs.regs[2], 1024);
+		      fd = sim_io_open (sd, fname, mode);
 		      /* FIXME - set errno */
 		      cpu.asregs.regs[2] = fd;
 		      break;
@@ -954,7 +956,7 @@ sim_engine_run (SIM_DESC sd,
 		      int fd = cpu.asregs.regs[2];
 		      unsigned len = (unsigned) cpu.asregs.regs[4];
 		      char *buf = malloc (len);
-		      cpu.asregs.regs[2] = read (fd, buf, len);
+		      cpu.asregs.regs[2] = sim_io_read (sd, fd, buf, len);
 		      sim_core_write_buffer (sd, scpu, write_map, buf,
 					     cpu.asregs.regs[3], len);
 		      free (buf);
@@ -968,11 +970,22 @@ sim_engine_run (SIM_DESC sd,
 		      str = malloc (len);
 		      sim_core_read_buffer (sd, scpu, read_map, str,
 					    cpu.asregs.regs[3], len);
-		      count = write (cpu.asregs.regs[2], str, len);
+		      count = sim_io_write (sd, cpu.asregs.regs[2], str, len);
 		      free (str);
 		      cpu.asregs.regs[2] = count;
 		      break;
 		    }
+		  case 0x7: /* SYS_unlink */
+		    {
+		      char fname[1024];
+		      int fd;
+		      sim_core_read_buffer (sd, scpu, read_map, fname,
+					    cpu.asregs.regs[2], 1024);
+		      fd = sim_io_unlink (sd, fname);
+		      /* FIXME - set errno */
+		      cpu.asregs.regs[2] = fd;
+		      break;
+		    }
 		  case 0xffffffff: /* Linux System Call */
 		    {
 		      unsigned int handler = cpu.asregs.sregs[1];
