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-12 01:49:55.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)))
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-12 01:49:55.000000000 +0000
@@ -1,5 +1,24 @@
 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.
 	(Operand_soffsetx4_decode, Operand_simm4_decode),
 	(Operand_simm8_decode, Operand_simm8x256_decode),
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-12 01:52:23.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)))
@@ -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-12 01:52:15.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)))
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-12 01:49:55.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-12 01:49:55.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-12 01:49:55.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/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-12 01:49:55.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-12 01:49:55.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)))
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-12 01:49:55.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-12 01:49:55.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-12 01:49:55.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-12 01:49:55.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 20191212
 #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-12 01:49:55.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-12 01:49:55.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-12 01:49:55.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-12 01:49:55.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-12 01:54:11.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.20191212
+if "%GDBVER%"=="$package-10.0.50.20191212" 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/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-12 01:49:57.000000000 +0000
@@ -1,3 +1,112 @@
+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/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-12 01:49:57.000000000 +0000
@@ -1,3 +1,17 @@
+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-12 01:54:04.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-12" "gdb-10.0.50.20191212-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-12 01:54:04.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-12" "gdb-10.0.50.20191212-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-12 01:54:04.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-12" "gdb-10.0.50.20191212-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-12 01:54:01.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.20191212-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: 1213380
+gdb.info-6: 1512334
+gdb.info-7: 1841738
+gdb.info-8: 2231045
 
 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 Python1147895
+Node: Line Tables In Python1151116
+Node: Breakpoints In Python1153953
+Ref: python_breakpoint_thread1160276
+Node: Finish Breakpoints in Python1163309
+Node: Lazy Strings In Python1165415
+Node: Architectures In Python1167643
+Node: Python Auto-loading1169832
+Ref: set auto-load python-scripts1170461
+Ref: show auto-load python-scripts1170561
+Ref: info auto-load python-scripts1170667
+Node: Python modules1171801
+Node: gdb.printing1172187
+Node: gdb.types1173614
+Node: gdb.prompt1176626
+Node: Guile1178222
+Node: Guile Introduction1178881
+Node: Guile Commands1179752
+Node: Guile API1181606
+Node: Basic Guile1183603
+Node: Guile Configuration1189285
+Node: GDB Scheme Data Types1190261
+Node: Guile Exception Handling1192093
+Node: Values From Inferior In Guile1196127
+Node: Arithmetic In Guile1213380
+Node: Types In Guile1215011
+Ref: Fields of a type in Guile1222952
+Node: Guile Pretty Printing API1224340
+Node: Selecting Guile Pretty-Printers1230069
+Node: Writing a Guile Pretty-Printer1232445
+Node: Commands In Guile1237630
+Node: Parameters In Guile1248410
+Ref: Parameters In Guile-Footnote-11255291
+Node: Progspaces In Guile1255407
+Node: Objfiles In Guile1257995
+Node: Frames In Guile1260276
+Node: Blocks In Guile1266854
+Node: Symbols In Guile1271662
+Node: Symbol Tables In Guile1278997
+Node: Breakpoints In Guile1281960
+Node: Lazy Strings In Guile1292221
+Node: Architectures In Guile1294512
+Node: Disassembly In Guile1298819
+Node: I/O Ports in Guile1302021
+Node: Memory Ports in Guile1302577
+Node: Iterators In Guile1305843
+Node: Guile Auto-loading1310132
+Ref: set auto-load guile-scripts1310755
+Ref: show auto-load guile-scripts1310853
+Ref: info auto-load guile-scripts1310957
+Node: Guile Modules1311916
+Node: Guile Printing Module1312238
+Node: Guile Types Module1313057
+Node: Auto-loading extensions1314350
+Node: objfile-gdbdotext file1315548
+Ref: set auto-load scripts-directory1316984
+Ref: with-auto-load-dir1317360
+Ref: show auto-load scripts-directory1318178
+Ref: add-auto-load-scripts-directory1318258
+Node: dotdebug_gdb_scripts section1318734
+Node: Which flavor to choose?1322484
+Node: Multiple Extension Languages1324305
+Node: Aliases1325369
+Node: Interpreters1328234
+Node: TUI1331385
+Node: TUI Overview1332383
+Node: TUI Keys1334816
+Node: TUI Single Key Mode1337539
+Node: TUI Commands1338722
+Node: TUI Configuration1342489
+Node: Emacs1344511
+Node: GDB/MI1349948
+Node: GDB/MI General Design1351922
+Node: Context management1354442
+Node: Asynchronous and non-stop modes1358229
+Node: Thread groups1361202
+Node: GDB/MI Command Syntax1363480
+Node: GDB/MI Input Syntax1363723
+Node: GDB/MI Output Syntax1365273
+Node: GDB/MI Compatibility with CLI1368858
+Node: GDB/MI Development and Front Ends1369595
+Node: GDB/MI Output Records1373114
+Node: GDB/MI Result Records1373520
+Node: GDB/MI Stream Records1374870
+Node: GDB/MI Async Records1376135
+Node: GDB/MI Breakpoint Information1386572
+Node: GDB/MI Frame Information1392208
+Node: GDB/MI Thread Information1393490
+Node: GDB/MI Ada Exception Information1394960
+Node: GDB/MI Simple Examples1395510
+Node: GDB/MI Command Description Format1397746
+Node: GDB/MI Breakpoint Commands1398626
+Ref: -break-insert1405734
+Node: GDB/MI Catchpoint Commands1419308
+Node: Shared Library GDB/MI Catchpoint Commands1419721
+Node: Ada Exception GDB/MI Catchpoint Commands1421379
+Node: C++ Exception GDB/MI Catchpoint Commands1424929
+Node: GDB/MI Program Context1428945
+Node: GDB/MI Thread Commands1433213
+Node: GDB/MI Ada Tasking Commands1436514
+Node: GDB/MI Program Execution1438786
+Node: GDB/MI Stack Manipulation1451053
+Ref: -stack-list-arguments1452977
+Ref: -stack-list-frames1456807
+Ref: -stack-list-locals1461136
+Ref: -stack-list-variables1462626
+Node: GDB/MI Variable Objects1464160
+Ref: -var-set-format1474126
+Ref: -var-list-children1475507
+Ref: -var-update1484315
+Ref: -var-set-frozen1487313
+Ref: -var-set-update-range1488110
+Ref: -var-set-visualizer1488639
+Node: GDB/MI Data Manipulation1490129
+Node: GDB/MI Tracepoint Commands1512334
+Node: GDB/MI Symbol Query1524125
+Ref: -symbol-info-functions1524394
+Ref: -symbol-info-module-functions1528907
+Ref: -symbol-info-module-variables1531887
+Ref: -symbol-info-modules1535604
+Ref: -symbol-info-types1537508
+Ref: -symbol-info-variables1539501
+Node: GDB/MI File Commands1544525
+Node: GDB/MI Target Manipulation1548959
+Node: GDB/MI File Transfer Commands1555617
+Node: GDB/MI Ada Exceptions Commands1556940
+Node: GDB/MI Support Commands1558293
+Node: GDB/MI Miscellaneous Commands1563012
+Ref: -interpreter-exec1573365
+Node: Annotations1577337
+Node: Annotations Overview1578256
+Node: Server Prefix1580719
+Node: Prompting1581453
+Node: Errors1582970
+Node: Invalidation1583866
+Node: Annotations for Running1584345
+Node: Source Annotations1585879
+Node: JIT Interface1586808
+Node: Declarations1588608
+Node: Registering Code1589995
+Node: Unregistering Code1590967
+Node: Custom Debug Info1591594
+Node: Using JIT Debug Info Readers1592890
+Node: Writing JIT Debug Info Readers1593902
+Node: In-Process Agent1596097
+Ref: Control Agent1598040
+Node: In-Process Agent Protocol1598907
+Node: IPA Protocol Objects1599698
+Ref: agent expression object1600696
+Ref: tracepoint action object1600901
+Ref: tracepoint object1600981
+Node: IPA Protocol Commands1603511
+Node: GDB Bugs1604981
+Node: Bug Criteria1605713
+Node: Bug Reporting1606590
+Node: Command Line Editing1614419
+Node: Introduction and Notation1615071
+Node: Readline Interaction1616692
+Node: Readline Bare Essentials1617881
+Node: Readline Movement Commands1619662
+Node: Readline Killing Commands1620620
+Node: Readline Arguments1622536
+Node: Searching1623578
+Node: Readline Init File1625728
+Node: Readline Init File Syntax1626879
+Node: Conditional Init Constructs1647035
+Node: Sample Init File1651229
+Node: Bindable Readline Commands1654344
+Node: Commands For Moving1655396
+Node: Commands For History1656960
+Node: Commands For Text1661222
+Node: Commands For Killing1664661
+Node: Numeric Arguments1666825
+Node: Commands For Completion1667962
+Node: Keyboard Macros1669928
+Node: Miscellaneous Commands1670613
+Node: Readline vi Mode1674532
+Node: Using History Interactively1675442
+Node: History Interaction1675957
+Node: Event Designators1677853
+Node: Word Designators1678990
+Node: Modifiers1680625
+Node: In Memoriam1681846
+Node: Formatting Documentation1682729
+Ref: Formatting Documentation-Footnote-11686109
+Node: Installing GDB1686207
+Node: Requirements1686779
+Ref: Expat1687480
+Ref: MPFR1690773
+Node: Running Configure1692394
+Node: Separate Objdir1695276
+Node: Config Names1698256
+Node: Configure Options1699735
+Node: System-wide configuration1709086
+Node: System-wide Configuration Scripts1711623
+Node: Maintenance Commands1712807
+Ref: maint info breakpoints1714462
+Ref: maint check libthread-db1722927
+Node: Remote Protocol1739581
+Node: Overview1740273
+Ref: Binary Data1742818
+Node: Packets1745343
+Ref: thread-id syntax1746243
+Ref: extended mode1747688
+Ref: ? packet1747946
+Ref: bc1749412
+Ref: bs1749622
+Ref: read registers packet1751239
+Ref: cycle step packet1753094
+Ref: write register packet1755805
+Ref: step with signal packet1756784
+Ref: vCont packet1758260
+Ref: vCtrlC packet1761494
+Ref: vKill packet1763912
+Ref: X packet1765446
+Ref: insert breakpoint or watchpoint packet1765815
+Node: Stop Reply Packets1770141
+Ref: swbreak stop reason1773392
+Ref: thread create event1776989
+Ref: thread exit event1778192
+Node: General Query Packets1780401
+Ref: qCRC packet1783231
+Ref: QEnvironmentHexEncoded1786384
+Ref: QEnvironmentUnset1787614
+Ref: QEnvironmentReset1788558
+Ref: QSetWorkingDir packet1789502
+Ref: QNonStop1795953
+Ref: QCatchSyscalls1796629
+Ref: QPassSignals1798166
+Ref: QProgramSignals1799373
+Ref: QThreadEvents1800940
+Ref: qSearch memory1802958
+Ref: QStartNoAckMode1803466
+Ref: qSupported1803998
+Ref: multiprocess extensions1819518
+Ref: install tracepoint in tracing1821548
+Ref: qXfer read1826071
+Ref: qXfer auxiliary vector read1827678
+Ref: qXfer btrace read1828026
+Ref: qXfer btrace-conf read1829091
+Ref: qXfer executable filename read1829442
+Ref: qXfer target description read1830057
+Ref: qXfer library list read1830491
+Ref: qXfer svr4 library list read1831147
+Ref: qXfer memory map read1833000
+Ref: qXfer sdata read1833387
+Ref: qXfer siginfo read1833853
+Ref: qXfer threads read1834249
+Ref: qXfer traceframe info read1834652
+Ref: qXfer unwind info block1835070
+Ref: qXfer fdpic loadmap read1835304
+Ref: qXfer osdata read1835720
+Ref: qXfer write1835874
+Ref: qXfer siginfo write1836966
+Ref: General Query Packets-Footnote-11839694
+Node: Architecture-Specific Protocol Details1841738
+Node: ARM-Specific Protocol Details1842247
+Node: ARM Breakpoint Kinds1842495
+Node: MIPS-Specific Protocol Details1842826
+Node: MIPS Register packet Format1843109
+Node: MIPS Breakpoint Kinds1844036
+Node: Tracepoint Packets1844454
+Ref: QTEnable1853768
+Ref: QTDisable1853964
+Ref: qTfSTM1859501
+Ref: qTsSTM1859501
+Ref: qTSTMat1860578
+Ref: QTBuffer-size1861729
+Node: Host I/O Packets1863702
+Node: Interrupts1869283
+Ref: interrupting remote targets1869427
+Node: Notification Packets1871595
+Node: Remote Non-Stop1877020
+Node: Packet Acknowledgment1880136
+Node: Examples1882251
+Node: File-I/O Remote Protocol Extension1882845
+Node: File-I/O Overview1883307
+Node: Protocol Basics1885506
+Node: The F Request Packet1887735
+Node: The F Reply Packet1888636
+Node: The Ctrl-C Message1889554
+Node: Console I/O1891180
+Node: List of Supported Calls1892396
+Node: open1892758
+Node: close1895266
+Node: read1895649
+Node: write1896258
+Node: lseek1897029
+Node: rename1897913
+Node: unlink1899320
+Node: stat/fstat1900267
+Node: gettimeofday1901160
+Node: isatty1901596
+Node: system1902192
+Node: Protocol-specific Representation of Datatypes1903734
+Node: Integral Datatypes1904111
+Node: Pointer Values1904918
+Node: Memory Transfer1905622
+Node: struct stat1906242
+Node: struct timeval1908444
+Node: Constants1908961
+Node: Open Flags1909410
+Node: mode_t Values1909751
+Node: Errno Values1910243
+Node: Lseek Flags1911053
+Node: Limits1911238
+Node: File-I/O Examples1911598
+Node: Library List Format1912686
+Node: Library List Format for SVR4 Targets1915468
+Node: Memory Map Format1917935
+Node: Thread List Format1920459
+Node: Traceframe Info Format1921463
+Node: Branch Trace Format1923149
+Node: Branch Trace Configuration Format1924849
+Node: Agent Expressions1926023
+Node: General Bytecode Design1928844
+Node: Bytecode Descriptions1933638
+Node: Using Agent Expressions1947105
+Node: Varying Target Capabilities1949082
+Node: Rationale1950243
+Node: Target Descriptions1957632
+Node: Retrieving Descriptions1959575
+Node: Target Description Format1960660
+Node: Predefined Target Types1970535
+Node: Enum Target Types1971980
+Node: Standard Target Features1972975
+Node: AArch64 Features1974975
+Node: ARC Features1975681
+Node: ARM Features1977742
+Node: i386 Features1979256
+Node: MicroBlaze Features1981471
+Node: MIPS Features1982048
+Node: M68K Features1983239
+Node: NDS32 Features1983900
+Node: Nios II Features1984924
+Node: OpenRISC 1000 Features1985329
+Node: PowerPC Features1985695
+Node: RISC-V Features1989665
+Node: RX Features1991355
+Node: S/390 and System z Features1991717
+Node: Sparc Features1993857
+Node: TIC6x Features1994762
+Node: Operating System Information1995311
+Node: Process list1996147
+Node: Trace File Format1997210
+Node: Index Section Format2000424
+Node: Man Pages2008350
+Node: gdb man2008820
+Node: gdbserver man2014794
+Node: gcore man2022191
+Node: gdbinit man2023313
+Node: gdb-add-index man2024506
+Ref: gdb-add-index2024615
+Node: Copying2025489
+Node: GNU Free Documentation License2063050
+Node: Concept Index2088197
+Node: Command and Variable Index2231045
 
 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-12 01:53:48.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of 'Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 9.0.50.20191211-git.
+Source-Level Debugger' for GDB (GDB) Version 10.0.50.20191212-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.20191212-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.20191212-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-12 01:53:50.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of 'Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 9.0.50.20191211-git.
+Source-Level Debugger' for GDB (GDB) Version 10.0.50.20191212-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-12 01:53:52.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.20191212-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-12 01:53:54.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.20191212-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
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-12 01:53:56.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.20191212-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-12 01:53:58.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.20191212-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.20191212-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.20191212-git', in the case of version
+10.0.50.20191212-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.20191212-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.20191212-git/gdb/refcard.ps' of the version
+10.0.50.20191212-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.20191212-git distribution is in
+the 'gdb-10.0.50.20191212-git' directory.  That directory contains:
 
-'gdb-9.0.50.20191211-git/configure (and supporting files)'
+'gdb-10.0.50.20191212-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.20191212-git/gdb'
      the source specific to GDB itself
 
-'gdb-9.0.50.20191211-git/bfd'
+'gdb-10.0.50.20191212-git/bfd'
      source for the Binary File Descriptor library
 
-'gdb-9.0.50.20191211-git/include'
+'gdb-10.0.50.20191212-git/include'
      GNU include files
 
-'gdb-9.0.50.20191211-git/libiberty'
+'gdb-10.0.50.20191212-git/libiberty'
      source for the '-liberty' free software library
 
-'gdb-9.0.50.20191211-git/opcodes'
+'gdb-10.0.50.20191212-git/opcodes'
      source for the library of opcode tables and disassemblers
 
-'gdb-9.0.50.20191211-git/readline'
+'gdb-10.0.50.20191212-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.20191212-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.20191212-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.20191212-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.20191212-git
      mkdir ../gdb-sun4
      cd ../gdb-sun4
-     ../gdb-9.0.50.20191211-git/configure
+     ../gdb-10.0.50.20191212-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.20191212-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.20191212-git' (or in a separate configured directory
+configured with '--srcdir=DIRNAME/gdb-10.0.50.20191212-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.20191212-git', for version 10.0.50.20191212-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-12 01:54:00.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.20191212-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-12 01:54:01.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.20191212-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)
@@ -2213,7 +2213,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)
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-12 01:54:04.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-12" "gdb-10.0.50.20191212-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-12 01:54:04.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-12" "gdb-10.0.50.20191212-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-12 01:49:57.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/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-12 01:49:57.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/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-12 01:49:57.000000000 +0000
@@ -25,6 +25,7 @@
 #include "gdbsupport/alt-stack.h"
 #include "gdbsupport/block-signals.h"
 #include <algorithm>
+#include "diagnostics.h"
 
 /* On the off chance that we have the pthread library on a Windows
    host, but std::thread is not using it, avoid calling
@@ -36,8 +37,31 @@
 #endif
 
 #ifdef USE_PTHREAD_SETNAME_NP
+
 #include <pthread.h>
-#endif
+
+DIAGNOSTIC_PUSH
+DIAGNOSTIC_IGNORE_UNUSED_FUNCTION
+
+/* 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.  */
+
+static void
+set_thread_name (int (*set_name) (pthread_t, const char *), const char *name)
+{
+  set_name (pthread_self (), name);
+}
+
+static void
+set_thread_name (void (*set_name) (const char *), const char *name)
+{
+  set_name (name);
+}
+
+DIAGNOSTIC_POP
+
+#endif	/* USE_PTHREAD_SETNAME_NP */
 
 namespace gdb
 {
@@ -75,9 +99,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 +136,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/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-12 01:49:57.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/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-12 01:53:37.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-12 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"
@@ -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 ""
 
@@ -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 ""
@@ -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 ""
 
@@ -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 ""
@@ -21962,216 +21962,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 +22189,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 +22205,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 +22218,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 +22227,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 +22236,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 +22245,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 +22253,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 +22275,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 +22291,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 +22300,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 +22312,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 +22347,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 +22365,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"
@@ -32148,20 +32148,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 +32213,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 +32371,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 +32391,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 +32411,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"
@@ -33580,11 +33584,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 +33603,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 +33695,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."
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-12 01:49:57.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;
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-12 01:49:57.000000000 +0000
@@ -1,3 +1,20 @@
+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-12 01:49:58.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-12 01:49:58.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-12 01:49:58.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-12 01:49:58.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/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-12 01:49:58.000000000 +0000
@@ -37,8 +37,8 @@ if {![Term::enter_tui]} {
 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.
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-12 01:49:58.000000000 +0000
@@ -37,4 +37,4 @@ if {![Term::enter_tui]} {
 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-12 01:49:58.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/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-12 01:49:58.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-12 01:49:58.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-12 01:49:58.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-12 01:49:58.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-12 01:49:58.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-12 01:49:58.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-12 01:49:58.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-12 01:49:58.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/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-12 01:49:58.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-12 01:49:58.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/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-12 01:49:58.000000000 +0000
@@ -1,5 +1,11 @@
 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),
 	(USER_SPECIFIED_MACHINE_TYPE, WIDE_OUTPUT): Make unsigned.
 	* opcode/tic80.h (TIC80_OPERAND_*): Likewise.
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-12 01:49:58.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-12 01:54:11.000000000 +0000
@@ -36,7 +36,7 @@ a8bf329c24203303d1343c3eed58c07b  bfd/el
 5cb0eef365977eb8c7430c04738a9e2c  bfd/wasm-module.c
 ce93ef6cd4c0ba0799b9d6d75b36638a  bfd/elf64-mips.c
 c4d082a9c0c27456afe3357c4987b675  bfd/cpu-m9s12x.c
-234d6987ee078af67b59afbaac1d5380  bfd/version.h
+a5adcf113d346374832fb16db58b9f13  bfd/version.h
 f635e95e06957e744083b2160029e168  bfd/cpu-tilegx.c
 f2af796af1efd1971472837a26010b6f  bfd/coff-mcore.c
 89637e92fbef834ef0c545805106bcc4  bfd/cpu-avr.c
@@ -46,7 +46,7 @@ f5ad372cf681a57b9a43f6975c05e33c  bfd/Ch
 226b49cf54fe0a6f9be8e45f77eb8fd8  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
+1255b8e101e197b9dc9142e4f24daebb  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
+f43697e33ed8689ee9377f662a9b79a7  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
+a80b1d770cf520f20e91e8a2a324fb79  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
+218ebdd009a3d7b4fb148cb13f40351d  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
+32f7de24aeea2eb67166efabce6ee9e0  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
@@ -907,7 +907,7 @@ 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
@@ -1206,7 +1206,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 +1264,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 +2019,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 +2397,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 +4059,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 +4456,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
+e2a50366cc16f897ade304bf458697b5  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 +4560,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
+da84df4bb62c49f078e5796086cbd0f0  gdb/testsuite/gdb.tui/regs.exp
 34ec2c5280099e0f413b086d801c3f68  gdb/testsuite/gdb.tui/main.exp
-2ee7ea987e9c2ebd810c3adf9523dfc8  gdb/testsuite/gdb.tui/resize.exp
+61530da6e58b2102b77e12a6f983a259  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 +5295,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
+d0c655f24f98629650b54873237a143f  gdb/doc/gdb.info-3
+d74364496c4c112c8ec9cf1f3d492f9d  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
+387c03a3189135446ff576cdbf1d0c5f  gdb/doc/gdb.info-7
+9979eee4e3f6f30f8286e36c668abd3d  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
+992385809ee180f01a21f012bf19e8c0  gdb/doc/gdb.info-5
+b963495e25a67fc64b092321a67cff6a  gdb/doc/gdb.info-8
 9137c9e47e1692b8efec8e28482aa6fb  gdb/doc/agentexpr.texi
 66674dc351ba95941f422dc18cae24bb  gdb/doc/.gitignore
-b3be546a2dcb7cf542820997bc094b50  gdb/doc/gdb.info-1
+d23253aa6f9fcd7843ecc220b8e2faa2  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
+05a07740188dde0d5fb5033f2bf4f929  gdb/doc/gdb.info-6
+2178b0da4d9cc0ca2bc98573f79121ff  gdb/doc/gdb.texinfo
+e3fe5e49e0dcbb0bb1432015cb0a243f  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
+7530bc206e7deb1c926a08938ce92f3f  gdb/doc/gdb.info-2
 fdd79e6125e56c1eb7e28b2a71d5b48e  gdb/doc/refcard.tex
 6076d300a46651562d4ecd0604442414  gdb/doc/stack_frame.png
-76f97e073f3966609d011aa3a212fd2f  gdb/doc/gdb.info
+8937f1a2d46d4cc71bef4cd8f6023ff9  gdb/doc/gdb.info
 51a07a9648b9ecdc4abe95178dbdaf7e  gdb/doc/python.texi
 9927faec0d3464d1bc485cd0c69a4a46  gdb/doc/stabs.texinfo
-61d96ac2df2302dea14c2039245d1210  gdb/doc/ChangeLog
-03fe17cbb471c07538a37d8e2edd9692  gdb/doc/gdb.1
-ed945677f5e476cb0838499644f00aec  gdb/doc/gcore.1
+982057bc863bf4003a3cf62b4d77cd00  gdb/doc/ChangeLog
+71fe1cb9f50ee877c6e3568ca27422cb  gdb/doc/gdb.1
+3d361985b3e9cd212860094e8ce4753a  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
+d845e8a22ed561b7163cef2227a04dc1  gdb/doc/gdbinit.5
 24d4f8b6396da16d9a8dd98281ac40ff  gdb/doc/Doxyfile-gdb-xref.in
 6f3b23a5f42aba8cbac1bcf7329942e4  gdb/doc/annotate.texinfo
 0b3e26fe6db92700f1e51071ff475193  gdb/doc/doxy-index.in
@@ -5402,7 +5402,7 @@ f8ef1c4fdc043ed02cb189ab003d69de  gdb/ad
 8231b684b7d88405d04d2bef46a24822  gdb/ChangeLog-2004
 0262f02056540c63aa04699bbfe073ac  gdb/record-btrace.h
 6185dfd85d68e7154a5241d761f609ef  gdb/machoread.c
-77dc4682a7a5821dfb05eb67b9baf98d  gdb/printcmd.c
+6ef07f6f2074a109d773af6d151effab  gdb/printcmd.c
 3a6eb757ea7c63d8924d634edc88da51  gdb/serial.c
 81e6fc400bf5d122718f1170d2dbefb1  gdb/gcore.in
 981d4979b5631ccf25f92a2fc5ec7156  gdb/ser-go32.c
@@ -5442,7 +5442,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 +5751,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
@@ -5842,7 +5842,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
+d4ea59ee34eb8e5809ad016ba2491f41  gdb/po/gdb.pot
 1851bff0653201a488dcae18dde7efad  gdb/po/gdbtext
 7da5f0db2eb697d3fb85524954abaef5  gdb/break-catch-syscall.c
 f7aa291f013990b620f171fbd5c9d9b2  gdb/ada-lang.c
@@ -5874,7 +5874,7 @@ e3e2430aebaf80b6aca6759cfa9612d4  gdb/nb
 0d4182edc7beb626c56d423668383a2b  gdb/i386-fbsd-nat.c
 094e893d632874e14e92917b8c57c5fd  gdb/mipsread.c
 d4e47464ef8b510c11c547fb163d603a  gdb/amd64-darwin-tdep.c
-a19acb91e140e1a2bd42924ea1938eaa  gdb/ChangeLog
+3a7bc7385d841e9aa59073313eaa54d6  gdb/ChangeLog
 2fd8f81fb260df7b31ffaaaa44e1d4b9  gdb/go-typeprint.c
 6bdae112ab8858c8b8eb3e32bc9b5b45  gdb/score-tdep.c
 170c97d0320940cea4fda1d1cb413687  gdb/xml-support.h
@@ -6405,7 +6405,7 @@ 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
+f4f3100a54f7816faddabd2722f6df3c  gdb/gdbsupport/thread-pool.c
 6be07717af3ac2e580fd350bcd67dc36  gdb/gdbsupport/rsp-low.h
 1051f2450834f86c537ebd14eef93696  gdb/gdbsupport/common-utils.c
 d4ce6a61596d8b5dade3f999c8fb046e  gdb/gdbsupport/gdb_assert.h
@@ -6988,7 +6988,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 +7129,7 @@ ac5c6fe8de400c9792753b5db5b255d5  includ
 ae5154ba0c6bf41452c1e4e3938fde52  include/gdb/callback.h
 d3976907c9252ef4d60b9ac80987eafc  include/hashtab.h
 8673aa12a3493cb537f1220aa799b950  include/gcc-interface.h
-c41f78f96fddb2edeb9b9501b2e5071e  include/ChangeLog
+902de1730fd43df318ac39a83995af19  include/ChangeLog
 1028b14428da6c6ff2a4b3c41daa807d  include/dis-asm.h
 2e19107e7906229570c084b790923d48  include/splay-tree.h
 352ce75976e0a5970298d574ffdf743e  include/filenames.h
@@ -7570,7 +7570,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 +7586,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 +7674,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 +7722,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,7 +7731,7 @@ 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
@@ -7741,11 +7741,11 @@ dbb0a055a24ca1f303e2f21d58f9b9df  opcode
 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 +7830,7 @@ f54be2e715ceb6cebb98fab5bc37e7db  opcode
 62a30cfb1b506ee2c3916ee13e9eda8a  opcodes/m10300-dis.c
 1b1854422db842d0dfa01c932a5f86ae  opcodes/nds32-opc.h
 713fb26f79662b078390d218dc5d977c  opcodes/aarch64-opc.h
-9c6f49266476192ca48db0ad23673f26  opcodes/ChangeLog
+819dddff257165c1fff009ed9ee7c892  opcodes/ChangeLog
 327cf11f5c08b578f3b0cdb7f3923280  opcodes/ia64-raw.tbl
 aa7514b36d310f0d844b24155fa91b35  opcodes/frv-dis.c
 85afb5e9fa15ca375baadf5e1da1d13b  opcodes/aarch64-opc.c
@@ -7857,7 +7857,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 +7869,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 +7894,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
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-12 01:50:00.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-12 01:50:00.000000000 +0000
@@ -1,5 +1,23 @@
 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.
 
 2019-12-11  Alan Modra  <amodra@gmail.com>
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-12 01:50:00.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-12 01:50:00.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-12 01:50:00.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-12 01:50:00.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-12 01:50:00.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-12 01:50:00.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-12 01:50:00.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-12 01:50:00.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-12 01:50:00.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-12 01:50:00.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");
