diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/bfd/doc/bfdver.texi ./bfd/doc/bfdver.texi
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/bfd/doc/bfdver.texi	2017-12-27 01:50:10.000000000 +0000
+++ ./bfd/doc/bfdver.texi	2018-01-02 01:50:25.000000000 +0000
@@ -1,4 +1,4 @@
 @set VERSION 2.29.51
 @set VERSION_PACKAGE (GNU Binutils) 
-@set UPDATED December 2017
+@set UPDATED January 2018
 @set BUGURL @uref{http://www.sourceware.org/bugzilla/}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/bfd/version.h ./bfd/version.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/bfd/version.h	2017-12-27 01:48:51.000000000 +0000
+++ ./bfd/version.h	2018-01-02 01:48:54.000000000 +0000
@@ -16,7 +16,7 @@
 
    In releases, the date is not included in either version strings or
    sonames.  */
-#define BFD_VERSION_DATE 20171227
+#define BFD_VERSION_DATE 20180102
 #define BFD_VERSION @bfd_version@
 #define BFD_VERSION_STRING  @bfd_version_package@ @bfd_version_string@
 #define REPORT_BUGS_TO @report_bugs_to@
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/djunpack.bat ./djunpack.bat
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/djunpack.bat	2017-12-27 01:52:24.000000000 +0000
+++ ./djunpack.bat	2018-01-02 01:52:42.000000000 +0000
@@ -17,8 +17,8 @@ Rem
 Rem The following 2 lines need to be changed with each new GDB release, to
 Rem be identical to the name of the top-level directory where the GDB
 Rem distribution unpacks itself.
-set GDBVER=$package-8.0.50.20171227
-if "%GDBVER%"=="$package-8.0.50.20171227" GoTo EnvOk
+set GDBVER=$package-8.0.50.20180102
+if "%GDBVER%"=="$package-8.0.50.20180102" GoTo EnvOk
 Rem If their environment space is too small, re-exec with a larger one
 command.com /e:4096 /c %0 %1
 GoTo End
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/ada-lang.c ./gdb/ada-lang.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/ada-lang.c	2017-12-27 01:48:52.000000000 +0000
+++ ./gdb/ada-lang.c	2018-01-02 01:48:55.000000000 +0000
@@ -124,10 +124,10 @@ static int num_defns_collected (struct o
 
 static struct block_symbol *defns_collected (struct obstack *, int);
 
-static struct value *resolve_subexp (struct expression **, int *, int,
+static struct value *resolve_subexp (expression_up *, int *, int,
                                      struct type *);
 
-static void replace_operator_with_call (struct expression **, int, int, int,
+static void replace_operator_with_call (expression_up *, int, int, int,
                                         struct symbol *, const struct block *);
 
 static int possible_user_operator_p (enum exp_opcode, struct value **);
@@ -3235,7 +3235,7 @@ ada_decoded_op_name (enum exp_opcode op)
    return type is preferred.  May change (expand) *EXP.  */
 
 static void
-resolve (struct expression **expp, int void_context_p)
+resolve (expression_up *expp, int void_context_p)
 {
   struct type *context_type = NULL;
   int pc = 0;
@@ -3256,7 +3256,7 @@ resolve (struct expression **expp, int v
    are as in ada_resolve, above.  */
 
 static struct value *
-resolve_subexp (struct expression **expp, int *pos, int deprocedure_p,
+resolve_subexp (expression_up *expp, int *pos, int deprocedure_p,
                 struct type *context_type)
 {
   int pc = *pos;
@@ -3270,7 +3270,7 @@ resolve_subexp (struct expression **expp
 
   argvec = NULL;
   nargs = 0;
-  exp = *expp;
+  exp = expp->get ();
 
   /* Pass one: resolve operands, saving their types and updating *pos,
      if needed.  */
@@ -3420,7 +3420,7 @@ resolve_subexp (struct expression **expp
   for (i = 0; i < nargs; i += 1)
     argvec[i] = resolve_subexp (expp, pos, 1, NULL);
   argvec[i] = NULL;
-  exp = *expp;
+  exp = expp->get ();
 
   /* Pass two: perform any resolution on principal operator.  */
   switch (op)
@@ -3515,7 +3515,7 @@ resolve_subexp (struct expression **expp
           replace_operator_with_call (expp, pc, 0, 0,
                                       exp->elts[pc + 2].symbol,
                                       exp->elts[pc + 1].block);
-          exp = *expp;
+          exp = expp->get ();
         }
       break;
 
@@ -3596,7 +3596,7 @@ resolve_subexp (struct expression **expp
 	  replace_operator_with_call (expp, pc, nargs, 1,
 				      candidates[i].symbol,
 				      candidates[i].block);
-          exp = *expp;
+          exp = expp->get ();
         }
       break;
 
@@ -4115,7 +4115,7 @@ get_selections (int *choices, int n_choi
    arguments.  Update *EXPP as needed to hold more space.  */
 
 static void
-replace_operator_with_call (struct expression **expp, int pc, int nargs,
+replace_operator_with_call (expression_up *expp, int pc, int nargs,
                             int oplen, struct symbol *sym,
                             const struct block *block)
 {
@@ -4124,7 +4124,7 @@ replace_operator_with_call (struct expre
   struct expression *newexp = (struct expression *)
     xzalloc (sizeof (struct expression)
              + EXP_ELEM_TO_BYTES ((*expp)->nelts + 7 - oplen));
-  struct expression *exp = *expp;
+  struct expression *exp = expp->get ();
 
   newexp->nelts = exp->nelts + 7 - oplen;
   newexp->language_defn = exp->language_defn;
@@ -4140,8 +4140,7 @@ replace_operator_with_call (struct expre
   newexp->elts[pc + 4].block = block;
   newexp->elts[pc + 5].symbol = sym;
 
-  *expp = newexp;
-  xfree (exp);
+  expp->reset (newexp);
 }
 
 /* Type-class predicates */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/amd64-linux-tdep.c ./gdb/amd64-linux-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/amd64-linux-tdep.c	2017-12-27 01:48:52.000000000 +0000
+++ ./gdb/amd64-linux-tdep.c	2018-01-02 01:48:55.000000000 +0000
@@ -363,6 +363,9 @@ amd64_all_but_ip_registers_record (struc
 static enum gdb_syscall
 amd64_canonicalize_syscall (enum amd64_syscall syscall_number)
 {
+  DIAGNOSTIC_PUSH
+  DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES
+
   switch (syscall_number) {
   case amd64_sys_read:
   case amd64_x32_sys_read:
@@ -1430,6 +1433,8 @@ amd64_canonicalize_syscall (enum amd64_s
   default:
     return gdb_sys_no_syscall;
   }
+
+  DIAGNOSTIC_POP
 }
 
 /* Parse the arguments of current system call instruction and record
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/ChangeLog ./gdb/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/ChangeLog	2017-12-27 01:48:52.000000000 +0000
+++ ./gdb/ChangeLog	2018-01-02 01:48:55.000000000 +0000
@@ -1,3 +1,97 @@
+2017-12-31  Ruslan Kabatsayev  <b7.10110111@gmail.com>
+
+	* psymtab.c (recursively_search_psymtabs): Use pointer arithmetic
+	instead of dereferencing std::vector past the end.
+
+2017-12-30  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* common/diagnostics.h
+	(DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES): Only
+	define if the compiler knows about -Wenum-compare-switch.
+
+2017-12-30  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* dwarf2read.c (dwarf_decode_macro_bytes): Ignore
+	-Wenum-compare-switch warning.
+	(dwarf_decode_macros): Likewise.
+
+2017-12-30  Tom Tromey  <tom@tromey.com>
+	    Simon Marchi  <simon.marchi@ericsson.com>
+
+	* stap-probe.h (struct stap_parse_info): Add constructor,
+	destructor.
+	* stap-probe.c (stap_parse_argument): Update.
+	* rust-exp.y (rust_lex_tests): Update.
+	* parser-defs.h (struct parser_state): Add constructor,
+	destructor, release method.
+	<expout>: Change type to expression_up.
+	(null_post_parser): Change type.
+	(initialize_expout, reallocate_expout): Remove.
+	* parse.c (parser_state::parser_state): Rename from
+	initialize_expout.
+	(parser_state::release): Rename from reallocate_expout.
+	(write_exp_elt, parse_exp_in_context_1, increase_expout_size):
+	Update.
+	(null_post_parser): Change type of "exp".
+	* dtrace-probe.c (dtrace_probe::build_arg_exprs): Update.
+	* ada-lang.c (resolve, resolve_subexp)
+	(replace_operator_with_call): Change type of "expp".
+	* language.h (struct language_defn) <la_post_parser>: Change type
+	of "expp".
+
+2017-12-30  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* dwarf2read.c (struct mapped_debug_names): Make final.
+	(struct mapped_index): Make final.
+
+2017-12-29  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* common/diagnostics.h
+	(DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES): New macro.
+	* amd64-linux-tdep.c (amd64_canonicalize_syscall): Use it.
+
+2017-12-29  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* linux-thread-db.c (thread_db_detach): Remove call to
+	delete_thread_db_info.
+
+2017-12-28  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* target.h (enum target_object) <TARGET_OBJECT_HPUX_UREGS,
+	TARGET_OBJECT_HPUX_SOLIB_GOT>: Remove.
+
+2017-12-27  Franck Jullien  <franck.jullien@gmail.com>
+	    Stafford Horne  <shorne@gmail.com>
+
+	* target-descriptions.c (tdesc_register_in_reggroup_p): Support
+	arbitrary strings.
+	(tdesc_use_registers): Add logic to register new reggroups.
+	(tdesc_reg::group): Update comment to indicate we allow
+	arbitrary strings.
+	* NEWS (Changes since GDB 8.0): Announce that GDB supports
+	arbitrary reggroups.
+
+2017-12-27  Stafford Horne  <shorne@gmail.com>
+
+	* reggroups.c (reggroup_gdbarch_new): New function.
+	(reggroup_find): New function.
+	* reggroups.h (reggroup_gdbarch_new): New function.
+	(reggroup_find): New function.
+
+2017-12-27  Stafford Horne  <shorne@gmail.com>
+
+	* reggroups.c (reggroups_init): Change to depend only on
+	obstack rather than gdbarch.
+	(reggroup_add): Remove logic for forcing premature init.
+	(_initialize_reggroup): Set `reggroups_data` with
+	gdbarch_data_register_pre_init() rather than
+	gdbarch_data_register_post_init().
+
+2017-12-27  Stafford Horne  <shorne@gmail.com>
+
+	* infcmd.c (_initialize_infcmd): Add help for info reg $reggroup
+	and info all-registers $reggroup feature.
+
 2017-12-23  Simon Marchi  <simon.marchi@polymtl.ca>
 
 	* target-descriptions.c (print_c_tdesc)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/common/diagnostics.h ./gdb/common/diagnostics.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/common/diagnostics.h	2017-12-27 01:48:52.000000000 +0000
+++ ./gdb/common/diagnostics.h	2018-01-02 01:48:55.000000000 +0000
@@ -38,19 +38,27 @@
   DIAGNOSTIC_IGNORE ("-Wdeprecated-register")
 # define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION \
   DIAGNOSTIC_IGNORE ("-Wunused-function")
-
+# if __has_warning ("-Wenum-compare-switch")
+#  define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES \
+   DIAGNOSTIC_IGNORE ("-Wenum-compare-switch")
+# else
+#  define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES
+# endif
 #elif defined (__GNUC__) /* GCC */
 
 # define DIAGNOSTIC_IGNORE_SELF_MOVE
 # define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER
 # define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION \
   DIAGNOSTIC_IGNORE ("-Wunused-function")
+# define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES
 
 #else /* Other compilers */
 
 # define DIAGNOSTIC_IGNORE_SELF_MOVE
 # define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER
 # define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION
+# define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES
+
 #endif
 
 #endif /* COMMON_DIAGNOSTICS_H */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/doc/ChangeLog ./gdb/doc/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/doc/ChangeLog	2017-12-27 01:48:52.000000000 +0000
+++ ./gdb/doc/ChangeLog	2018-01-02 01:48:56.000000000 +0000
@@ -1,3 +1,12 @@
+2017-12-27  Stafford Horne  <shorne@gmail.com>
+
+	* gdb.texinfo (Target Description Format): Explain that arbitrary
+	strings are now allowed for register groups.
+
+2017-12-27  Stafford Horne  <shorne@gmail.com>
+
+	* gdb.texinfo (Registers): Document info reg $reggroup feature.
+
 2017-12-15  Sergio Durigan Junior  <sergiodj@redhat.com>
 
 	PR cli/16224
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/doc/gcore.1 ./gdb/doc/gcore.1
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/doc/gcore.1	2017-12-27 01:52:18.000000000 +0000
+++ ./gdb/doc/gcore.1	2018-01-02 01:52:37.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GCORE 1"
-.TH GCORE 1 "2017-12-27" "gdb-8.0.50.20171227-git" "GNU Development Tools"
+.TH GCORE 1 "2018-01-02" "gdb-8.0.50.20180102-git" "GNU Development Tools"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/doc/gdb.1 ./gdb/doc/gdb.1
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/doc/gdb.1	2017-12-27 01:52:18.000000000 +0000
+++ ./gdb/doc/gdb.1	2018-01-02 01:52:36.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDB 1"
-.TH GDB 1 "2017-12-27" "gdb-8.0.50.20171227-git" "GNU Development Tools"
+.TH GDB 1 "2018-01-02" "gdb-8.0.50.20180102-git" "GNU Development Tools"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/doc/gdb.info ./gdb/doc/gdb.info
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/doc/gdb.info	2017-12-27 01:52:15.000000000 +0000
+++ ./gdb/doc/gdb.info	2018-01-02 01:52:33.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of 'Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 8.0.50.20171227-git.
+Source-Level Debugger' for GDB (GDB) Version 8.0.50.20180102-git.
 
    Copyright (C) 1988-2017 Free Software Foundation, Inc.
 
@@ -40,11 +40,11 @@ developing GNU and promoting software fr
 Indirect:
 gdb.info-1: 1716
 gdb.info-2: 307307
-gdb.info-3: 601847
-gdb.info-4: 902077
-gdb.info-5: 1209582
-gdb.info-6: 1502234
-gdb.info-7: 1810358
+gdb.info-3: 602072
+gdb.info-4: 902302
+gdb.info-5: 1209807
+gdb.info-6: 1502459
+gdb.info-7: 1810583
 
 Tag Table:
 (Indirect)
@@ -174,611 +174,611 @@ Node: Value History380212
 Node: Convenience Vars382634
 Node: Convenience Funs389238
 Node: Registers394727
-Ref: standard registers395709
-Ref: Registers-Footnote-1400660
-Node: Floating Point Hardware401055
-Node: Vector Unit401587
-Node: OS Information401974
-Ref: linux info os infotypes403998
-Node: Memory Region Attributes408589
-Node: Dump/Restore Files413253
-Node: Core File Generation415656
-Ref: set use-coredump-filter417216
-Ref: set dump-excluded-mappings418664
-Node: Character Sets418946
-Node: Caching Target Data425311
-Ref: Caching Target Data-Footnote-1428039
-Node: Searching Memory428277
-Node: Value Sizes431420
-Node: Optimized Code433073
-Node: Inline Functions434750
-Node: Tail Call Frames437377
-Ref: set debug entry-values439514
-Node: Macros443576
-Ref: Macros-Footnote-1451152
-Node: Tracepoints451305
-Node: Set Tracepoints453367
-Node: Create and Delete Tracepoints456305
-Node: Enable and Disable Tracepoints462652
-Node: Tracepoint Passcounts463892
-Node: Tracepoint Conditions465303
-Node: Trace State Variables466997
-Node: Tracepoint Actions469192
-Node: Listing Tracepoints475975
-Node: Listing Static Tracepoint Markers477677
-Node: Starting and Stopping Trace Experiments479525
-Ref: disconnected tracing481270
-Node: Tracepoint Restrictions485690
-Node: Analyze Collected Data489459
-Node: tfind490765
-Node: tdump495247
-Node: save tracepoints497762
-Node: Tracepoint Variables498258
-Node: Trace Files499386
-Node: Overlays501762
-Node: How Overlays Work502482
-Ref: A code overlay505037
-Node: Overlay Commands508450
-Node: Automatic Overlay Debugging512632
-Node: Overlay Sample Program514771
-Node: Languages516508
-Node: Setting517671
-Node: Filenames519372
-Node: Manually520183
-Node: Automatically521392
-Node: Show522453
-Ref: show language522741
-Node: Checks523775
-Node: Type Checking524780
-Node: Range Checking526609
-Node: Supported Languages529010
-Node: C530347
-Node: C Operators531311
-Node: C Constants535650
-Node: C Plus Plus Expressions538529
-Node: C Defaults541889
-Node: C Checks542557
-Node: Debugging C543117
-Node: Debugging C Plus Plus543601
-Node: Decimal Floating Point548488
-Node: D549758
-Node: Go550016
-Node: Objective-C551110
-Node: Method Names in Commands551573
-Node: The Print Command with Objective-C553264
-Node: OpenCL C553915
-Node: OpenCL C Datatypes554190
-Node: OpenCL C Expressions554565
-Node: OpenCL C Operators554922
-Node: Fortran555154
-Node: Fortran Operators555875
-Node: Fortran Defaults556731
-Node: Special Fortran Commands557116
-Node: Pascal557622
-Node: Rust558133
-Node: Modula-2561220
-Node: M2 Operators562193
-Node: Built-In Func/Proc565191
-Node: M2 Constants568105
-Node: M2 Types569706
-Node: M2 Defaults572924
-Node: Deviations573525
-Node: M2 Checks574626
-Node: M2 Scope575443
-Node: GDB/M2576467
-Node: Ada577380
-Node: Ada Mode Intro578617
-Node: Omissions from Ada580119
-Node: Additions to Ada584474
-Node: Overloading support for Ada588402
-Node: Stopping Before Main Program590042
-Node: Ada Exceptions590589
-Node: Ada Tasks591788
-Node: Ada Tasks and Core Files598213
-Node: Ravenscar Profile599060
-Node: Ada Glitches601847
-Node: Unsupported Languages605860
-Node: Symbols606550
-Ref: quoting names607153
-Node: Altering632580
-Node: Assignment633618
-Node: Jumping636724
-Node: Signaling638798
-Node: Returning641727
-Node: Calling645078
-Node: Patching649692
-Node: Compiling and Injecting Code650806
-Ref: set debug compile654263
-Node: GDB Files664264
-Node: Files665053
-Ref: Shared Libraries678355
-Ref: Files-Footnote-1690553
-Node: File Caching690682
-Node: Separate Debug Files691816
-Ref: debug-file-directory694926
-Node: MiniDebugInfo703541
-Node: Index Files705992
-Node: Symbol Errors708581
-Node: Data Files712197
-Node: Targets713153
-Node: Active Targets714633
-Node: Target Commands715707
-Ref: load720096
-Ref: flash-erase721289
-Node: Byte Order721349
-Node: Remote Debugging722323
-Node: Connecting723585
-Ref: --multi Option in Types of Remote Connnections725811
-Ref: Attaching in Types of Remote Connections727226
-Ref: Host and target files727727
-Node: File Transfer734202
-Node: Server735141
-Ref: Running gdbserver736717
-Ref: Attaching to a program738935
-Ref: Other Command-Line Arguments for gdbserver741460
-Ref: Monitor Commands for gdbserver744676
-Ref: Server-Footnote-1749932
-Node: Remote Configuration750052
-Ref: set remotebreak751312
-Ref: set remote hardware-watchpoint-limit752775
-Ref: set remote hardware-breakpoint-limit752775
-Ref: set remote hardware-watchpoint-length-limit753001
-Ref: set remote exec-file753416
-Node: Remote Stub765425
-Node: Stub Contents768320
-Node: Bootstrapping770427
-Node: Debug Session774242
-Node: Configurations776283
-Node: Native777052
-Node: BSD libkvm Interface777583
-Node: SVR4 Process Information778640
-Node: DJGPP Native782400
-Node: Cygwin Native788959
-Node: Non-debug DLL Symbols793880
-Node: Hurd Native798119
-Node: Darwin803375
-Node: Embedded OS804636
-Node: Embedded Processors805047
-Node: ARC806037
-Node: ARM806584
-Node: M68K809131
-Node: MicroBlaze809304
-Node: MIPS Embedded810753
-Node: OpenRISC 1000812050
-Node: PowerPC Embedded812956
-Node: AVR816185
-Node: CRIS816557
-Node: Super-H817533
-Node: Architectures818592
-Node: AArch64819041
-Node: i386819447
-Ref: i386-Footnote-1823657
-Node: Alpha823743
-Node: MIPS823876
-Node: HPPA827770
-Node: SPU828288
-Node: PowerPC830474
-Node: Nios II831209
-Node: Sparc64831614
-Node: Controlling GDB833969
-Node: Prompt834865
-Node: Editing836583
-Node: Command History837526
-Node: Screen Size841832
-Node: Numbers843766
-Node: ABI845745
-Node: Auto-loading848918
-Ref: set auto-load off850293
-Ref: show auto-load850929
-Ref: info auto-load851708
-Node: Init File in the Current Directory854675
-Ref: set auto-load local-gdbinit855250
-Ref: show auto-load local-gdbinit855432
-Ref: info auto-load local-gdbinit855596
-Node: libthread_db.so.1 file855744
-Ref: set auto-load libthread-db856683
-Ref: show auto-load libthread-db856814
-Ref: info auto-load libthread-db856951
-Node: Auto-loading safe path857135
-Ref: set auto-load safe-path858441
-Ref: show auto-load safe-path859180
-Ref: add-auto-load-safe-path859303
-Node: Auto-loading verbose mode862205
-Ref: set debug auto-load863368
-Ref: show debug auto-load863469
-Node: Messages/Warnings863591
-Ref: confirmation requests865025
-Node: Debugging Output866229
-Node: Other Misc Settings875859
-Node: Extending GDB876883
-Node: Sequences878736
-Node: Define879397
-Node: Hooks883477
-Node: Command Files885843
-Node: Output890916
-Ref: eval895718
-Node: Auto-loading sequences895880
-Ref: set auto-load gdb-scripts896375
-Ref: show auto-load gdb-scripts896499
-Ref: info auto-load gdb-scripts896629
-Node: Python896860
-Node: Python Commands898033
-Node: Python API902077
-Node: Basic Python904682
-Ref: prompt_hook914557
-Node: Exception Handling915155
-Node: Values From Inferior917651
-Node: Types In Python930848
-Node: Pretty Printing API940403
-Node: Selecting Pretty-Printers944299
-Node: Writing a Pretty-Printer946632
-Node: Type Printing API951954
-Node: Frame Filter API954570
-Node: Frame Decorator API961851
-Ref: frame_args965435
-Node: Writing a Frame Filter968765
-Node: Unwinding Frames in Python980239
-Node: Xmethods In Python985695
-Node: Xmethod API988591
-Node: Writing an Xmethod992403
-Node: Inferiors In Python998238
-Node: Events In Python1001382
-Node: Threads In Python1010300
-Node: Recordings In Python1013187
-Node: Commands In Python1020521
-Node: Parameters In Python1029934
-Node: Functions In Python1035394
-Node: Progspaces In Python1037611
-Node: Objfiles In Python1041112
-Node: Frames In Python1046891
-Node: Blocks In Python1053734
-Node: Symbols In Python1058096
-Node: Symbol Tables In Python1065324
-Node: Line Tables In Python1068547
-Node: Breakpoints In Python1071384
-Ref: python_breakpoint_thread1077707
-Node: Finish Breakpoints in Python1080744
-Node: Lazy Strings In Python1082850
-Node: Architectures In Python1085080
-Node: Python Auto-loading1087269
-Ref: set auto-load python-scripts1087898
-Ref: show auto-load python-scripts1087998
-Ref: info auto-load python-scripts1088104
-Node: Python modules1089238
-Node: gdb.printing1089624
-Node: gdb.types1091051
-Node: gdb.prompt1094063
-Node: Guile1095712
-Node: Guile Introduction1096371
-Node: Guile Commands1097242
-Node: Guile API1099096
-Node: Basic Guile1101093
-Node: Guile Configuration1106775
-Node: GDB Scheme Data Types1107751
-Node: Guile Exception Handling1109583
-Node: Values From Inferior In Guile1113617
-Node: Arithmetic In Guile1129152
-Node: Types In Guile1130783
-Ref: Fields of a type in Guile1138724
-Node: Guile Pretty Printing API1140112
-Node: Selecting Guile Pretty-Printers1145714
-Node: Writing a Guile Pretty-Printer1148090
-Node: Commands In Guile1153275
-Node: Parameters In Guile1164055
-Ref: Parameters In Guile-Footnote-11170936
-Node: Progspaces In Guile1171052
-Node: Objfiles In Guile1173640
-Node: Frames In Guile1175921
-Node: Blocks In Guile1182499
-Node: Symbols In Guile1187307
-Node: Symbol Tables In Guile1194642
-Node: Breakpoints In Guile1197605
-Node: Lazy Strings In Guile1209582
-Node: Architectures In Guile1211873
-Node: Disassembly In Guile1216180
-Node: I/O Ports in Guile1219382
-Node: Memory Ports in Guile1219938
-Node: Iterators In Guile1223204
-Node: Guile Auto-loading1227493
-Ref: set auto-load guile-scripts1228116
-Ref: show auto-load guile-scripts1228214
-Ref: info auto-load guile-scripts1228318
-Node: Guile Modules1229277
-Node: Guile Printing Module1229599
-Node: Guile Types Module1230418
-Node: Auto-loading extensions1231711
-Node: objfile-gdbdotext file1232909
-Ref: set auto-load scripts-directory1234345
-Ref: with-auto-load-dir1234721
-Ref: show auto-load scripts-directory1235539
-Ref: add-auto-load-scripts-directory1235619
-Node: dotdebug_gdb_scripts section1236095
-Node: Which flavor to choose?1239845
-Node: Multiple Extension Languages1241666
-Node: Aliases1242730
-Node: Interpreters1245595
-Node: TUI1248688
-Node: TUI Overview1249686
-Node: TUI Keys1252119
-Node: TUI Single Key Mode1254423
-Node: TUI Commands1255430
-Node: TUI Configuration1259369
-Node: Emacs1260675
-Node: GDB/MI1266112
-Node: GDB/MI General Design1268086
-Node: Context management1270606
-Node: Asynchronous and non-stop modes1274393
-Node: Thread groups1277367
-Node: GDB/MI Command Syntax1279645
-Node: GDB/MI Input Syntax1279888
-Node: GDB/MI Output Syntax1281438
-Node: GDB/MI Compatibility with CLI1285023
-Node: GDB/MI Development and Front Ends1285760
-Node: GDB/MI Output Records1287414
-Node: GDB/MI Result Records1287820
-Node: GDB/MI Stream Records1289170
-Node: GDB/MI Async Records1290435
-Node: GDB/MI Breakpoint Information1300872
-Node: GDB/MI Frame Information1304823
-Node: GDB/MI Thread Information1305909
-Node: GDB/MI Ada Exception Information1307379
-Node: GDB/MI Simple Examples1307929
-Node: GDB/MI Command Description Format1310137
-Node: GDB/MI Breakpoint Commands1311017
-Ref: -break-insert1318125
-Node: GDB/MI Catchpoint Commands1331580
-Node: Shared Library GDB/MI Catchpoint Commands1331948
-Node: Ada Exception GDB/MI Catchpoint Commands1333606
-Node: GDB/MI Program Context1336010
-Node: GDB/MI Thread Commands1340278
-Node: GDB/MI Ada Tasking Commands1343541
-Node: GDB/MI Program Execution1345813
-Node: GDB/MI Stack Manipulation1357847
-Ref: -stack-list-arguments1359746
-Ref: -stack-list-frames1363451
-Ref: -stack-list-locals1367314
-Ref: -stack-list-variables1368804
-Node: GDB/MI Variable Objects1370338
-Ref: -var-set-format1380303
-Ref: -var-list-children1381684
-Ref: -var-update1390492
-Ref: -var-set-frozen1393490
-Ref: -var-set-update-range1394287
-Ref: -var-set-visualizer1394816
-Node: GDB/MI Data Manipulation1396306
-Node: GDB/MI Tracepoint Commands1416480
-Node: GDB/MI Symbol Query1428271
-Node: GDB/MI File Commands1428960
-Node: GDB/MI Target Manipulation1433394
-Node: GDB/MI File Transfer Commands1440052
-Node: GDB/MI Ada Exceptions Commands1441375
-Node: GDB/MI Support Commands1442728
-Node: GDB/MI Miscellaneous Commands1447301
-Ref: -interpreter-exec1457635
-Node: Annotations1459975
-Node: Annotations Overview1460894
-Node: Server Prefix1463357
-Node: Prompting1464091
-Node: Errors1465608
-Node: Invalidation1466504
-Node: Annotations for Running1466983
-Node: Source Annotations1468517
-Node: JIT Interface1469446
-Node: Declarations1471245
-Node: Registering Code1472632
-Node: Unregistering Code1473604
-Node: Custom Debug Info1474231
-Node: Using JIT Debug Info Readers1475527
-Node: Writing JIT Debug Info Readers1476539
-Node: In-Process Agent1478734
-Ref: Control Agent1480677
-Node: In-Process Agent Protocol1481544
-Node: IPA Protocol Objects1482335
-Ref: agent expression object1483333
-Ref: tracepoint action object1483538
-Ref: tracepoint object1483618
-Node: IPA Protocol Commands1486148
-Node: GDB Bugs1487618
-Node: Bug Criteria1488350
-Node: Bug Reporting1489227
-Node: Command Line Editing1497056
-Node: Introduction and Notation1497708
-Node: Readline Interaction1499329
-Node: Readline Bare Essentials1502234
-Node: Readline Movement Commands1504015
-Node: Readline Killing Commands1504973
-Node: Readline Arguments1506889
-Node: Searching1507931
-Node: Readline Init File1510081
-Node: Readline Init File Syntax1511232
-Node: Conditional Init Constructs1526331
-Node: Sample Init File1528854
-Node: Bindable Readline Commands1531968
-Node: Commands For Moving1533020
-Node: Commands For History1533878
-Node: Commands For Text1537273
-Node: Commands For Killing1539996
-Node: Numeric Arguments1542136
-Node: Commands For Completion1543272
-Node: Keyboard Macros1545238
-Node: Miscellaneous Commands1545806
-Node: Readline vi Mode1549654
-Node: Using History Interactively1550564
-Node: History Interaction1551079
-Node: Event Designators1552501
-Node: Word Designators1553638
-Node: Modifiers1555273
-Node: In Memoriam1556494
-Node: Formatting Documentation1557377
-Ref: Formatting Documentation-Footnote-11560753
-Node: Installing GDB1560849
-Node: Requirements1561421
-Ref: Expat1561990
-Ref: MPFR1562940
-Node: Running Configure1565331
-Node: Separate Objdir1569110
-Node: Config Names1572089
-Node: Configure Options1573566
-Node: System-wide configuration1575937
-Node: System-wide Configuration Scripts1577897
-Node: Maintenance Commands1579081
-Ref: maint info breakpoints1580736
-Node: Remote Protocol1601302
-Node: Overview1601994
-Ref: Binary Data1604539
-Node: Packets1607064
-Ref: thread-id syntax1607964
-Ref: extended mode1609409
-Ref: ? packet1609667
-Ref: bc1611133
-Ref: bs1611343
-Ref: read registers packet1612960
-Ref: cycle step packet1614815
-Ref: write register packet1617526
-Ref: step with signal packet1618505
-Ref: vCont packet1619981
-Ref: vCtrlC packet1623214
-Ref: vKill packet1625632
-Ref: X packet1627165
-Ref: insert breakpoint or watchpoint packet1627534
-Node: Stop Reply Packets1631860
-Ref: swbreak stop reason1635111
-Ref: thread create event1638708
-Ref: thread exit event1639911
-Node: General Query Packets1642120
-Ref: qCRC packet1644950
-Ref: QEnvironmentHexEncoded1648103
-Ref: QEnvironmentUnset1649333
-Ref: QEnvironmentReset1650277
-Ref: QSetWorkingDir packet1651221
-Ref: QNonStop1657672
-Ref: QCatchSyscalls1658348
-Ref: QPassSignals1659885
-Ref: QProgramSignals1661092
-Ref: QThreadEvents1662659
-Ref: qSearch memory1664677
-Ref: QStartNoAckMode1665185
-Ref: qSupported1665716
-Ref: multiprocess extensions1681723
-Ref: install tracepoint in tracing1683753
-Ref: qXfer read1688276
-Ref: qXfer auxiliary vector read1689883
-Ref: qXfer btrace read1690231
-Ref: qXfer btrace-conf read1691296
-Ref: qXfer executable filename read1691647
-Ref: qXfer target description read1692262
-Ref: qXfer library list read1692696
-Ref: qXfer svr4 library list read1693352
-Ref: qXfer memory map read1695205
-Ref: qXfer sdata read1695592
-Ref: qXfer siginfo read1696058
-Ref: qXfer spu read1696455
-Ref: qXfer threads read1696979
-Ref: qXfer traceframe info read1697382
-Ref: qXfer unwind info block1697800
-Ref: qXfer fdpic loadmap read1698034
-Ref: qXfer osdata read1698450
-Ref: qXfer write1698604
-Ref: qXfer siginfo write1699696
-Ref: qXfer spu write1700093
-Ref: General Query Packets-Footnote-11702949
-Node: Architecture-Specific Protocol Details1703276
-Node: ARM-Specific Protocol Details1703785
-Node: ARM Breakpoint Kinds1704033
-Node: MIPS-Specific Protocol Details1704364
-Node: MIPS Register packet Format1704647
-Node: MIPS Breakpoint Kinds1705574
-Node: Tracepoint Packets1705992
-Ref: QTEnable1715306
-Ref: QTDisable1715502
-Ref: qTfSTM1721039
-Ref: qTsSTM1721039
-Ref: qTSTMat1722116
-Ref: QTBuffer-size1723267
-Node: Host I/O Packets1725240
-Node: Interrupts1730820
-Ref: interrupting remote targets1730964
-Node: Notification Packets1733132
-Node: Remote Non-Stop1738557
-Node: Packet Acknowledgment1741673
-Node: Examples1743788
-Node: File-I/O Remote Protocol Extension1744382
-Node: File-I/O Overview1744844
-Node: Protocol Basics1747043
-Node: The F Request Packet1749272
-Node: The F Reply Packet1750173
-Node: The Ctrl-C Message1751091
-Node: Console I/O1752717
-Node: List of Supported Calls1753933
-Node: open1754295
-Node: close1756803
-Node: read1757186
-Node: write1757795
-Node: lseek1758566
-Node: rename1759450
-Node: unlink1760857
-Node: stat/fstat1761804
-Node: gettimeofday1762697
-Node: isatty1763133
-Node: system1763729
-Node: Protocol-specific Representation of Datatypes1765271
-Node: Integral Datatypes1765648
-Node: Pointer Values1766455
-Node: Memory Transfer1767159
-Node: struct stat1767779
-Node: struct timeval1769981
-Node: Constants1770498
-Node: Open Flags1770947
-Node: mode_t Values1771288
-Node: Errno Values1771780
-Node: Lseek Flags1772590
-Node: Limits1772775
-Node: File-I/O Examples1773135
-Node: Library List Format1774223
-Node: Library List Format for SVR4 Targets1777005
-Node: Memory Map Format1779472
-Node: Thread List Format1781996
-Node: Traceframe Info Format1783000
-Node: Branch Trace Format1784686
-Node: Branch Trace Configuration Format1786386
-Node: Agent Expressions1787560
-Node: General Bytecode Design1790381
-Node: Bytecode Descriptions1795175
-Node: Using Agent Expressions1810358
-Node: Varying Target Capabilities1812335
-Node: Rationale1813496
-Node: Target Descriptions1820885
-Node: Retrieving Descriptions1822828
-Node: Target Description Format1823913
-Node: Predefined Target Types1833529
-Node: Enum Target Types1834957
-Node: Standard Target Features1835952
-Node: AArch64 Features1837916
-Node: ARC Features1838339
-Node: ARM Features1840400
-Node: i386 Features1841914
-Node: MicroBlaze Features1844129
-Node: MIPS Features1844706
-Node: M68K Features1845897
-Node: NDS32 Features1846558
-Node: Nios II Features1847582
-Node: OpenRISC 1000 Features1847987
-Node: PowerPC Features1848353
-Node: S/390 and System z Features1849684
-Node: Sparc Features1851829
-Node: TIC6x Features1852734
-Node: Operating System Information1853283
-Node: Process list1854118
-Node: Trace File Format1855181
-Node: Index Section Format1858395
-Node: Man Pages1866321
-Node: gdb man1866727
-Node: gdbserver man1872763
-Node: gcore man1879960
-Node: gdbinit man1880902
-Node: Copying1881785
-Node: GNU Free Documentation License1919346
-Node: Concept Index1944493
-Node: Command and Variable Index2081466
+Ref: standard registers395934
+Ref: Registers-Footnote-1400885
+Node: Floating Point Hardware401280
+Node: Vector Unit401812
+Node: OS Information402199
+Ref: linux info os infotypes404223
+Node: Memory Region Attributes408814
+Node: Dump/Restore Files413478
+Node: Core File Generation415881
+Ref: set use-coredump-filter417441
+Ref: set dump-excluded-mappings418889
+Node: Character Sets419171
+Node: Caching Target Data425536
+Ref: Caching Target Data-Footnote-1428264
+Node: Searching Memory428502
+Node: Value Sizes431645
+Node: Optimized Code433298
+Node: Inline Functions434975
+Node: Tail Call Frames437602
+Ref: set debug entry-values439739
+Node: Macros443801
+Ref: Macros-Footnote-1451377
+Node: Tracepoints451530
+Node: Set Tracepoints453592
+Node: Create and Delete Tracepoints456530
+Node: Enable and Disable Tracepoints462877
+Node: Tracepoint Passcounts464117
+Node: Tracepoint Conditions465528
+Node: Trace State Variables467222
+Node: Tracepoint Actions469417
+Node: Listing Tracepoints476200
+Node: Listing Static Tracepoint Markers477902
+Node: Starting and Stopping Trace Experiments479750
+Ref: disconnected tracing481495
+Node: Tracepoint Restrictions485915
+Node: Analyze Collected Data489684
+Node: tfind490990
+Node: tdump495472
+Node: save tracepoints497987
+Node: Tracepoint Variables498483
+Node: Trace Files499611
+Node: Overlays501987
+Node: How Overlays Work502707
+Ref: A code overlay505262
+Node: Overlay Commands508675
+Node: Automatic Overlay Debugging512857
+Node: Overlay Sample Program514996
+Node: Languages516733
+Node: Setting517896
+Node: Filenames519597
+Node: Manually520408
+Node: Automatically521617
+Node: Show522678
+Ref: show language522966
+Node: Checks524000
+Node: Type Checking525005
+Node: Range Checking526834
+Node: Supported Languages529235
+Node: C530572
+Node: C Operators531536
+Node: C Constants535875
+Node: C Plus Plus Expressions538754
+Node: C Defaults542114
+Node: C Checks542782
+Node: Debugging C543342
+Node: Debugging C Plus Plus543826
+Node: Decimal Floating Point548713
+Node: D549983
+Node: Go550241
+Node: Objective-C551335
+Node: Method Names in Commands551798
+Node: The Print Command with Objective-C553489
+Node: OpenCL C554140
+Node: OpenCL C Datatypes554415
+Node: OpenCL C Expressions554790
+Node: OpenCL C Operators555147
+Node: Fortran555379
+Node: Fortran Operators556100
+Node: Fortran Defaults556956
+Node: Special Fortran Commands557341
+Node: Pascal557847
+Node: Rust558358
+Node: Modula-2561445
+Node: M2 Operators562418
+Node: Built-In Func/Proc565416
+Node: M2 Constants568330
+Node: M2 Types569931
+Node: M2 Defaults573149
+Node: Deviations573750
+Node: M2 Checks574851
+Node: M2 Scope575668
+Node: GDB/M2576692
+Node: Ada577605
+Node: Ada Mode Intro578842
+Node: Omissions from Ada580344
+Node: Additions to Ada584699
+Node: Overloading support for Ada588627
+Node: Stopping Before Main Program590267
+Node: Ada Exceptions590814
+Node: Ada Tasks592013
+Node: Ada Tasks and Core Files598438
+Node: Ravenscar Profile599285
+Node: Ada Glitches602072
+Node: Unsupported Languages606085
+Node: Symbols606775
+Ref: quoting names607378
+Node: Altering632805
+Node: Assignment633843
+Node: Jumping636949
+Node: Signaling639023
+Node: Returning641952
+Node: Calling645303
+Node: Patching649917
+Node: Compiling and Injecting Code651031
+Ref: set debug compile654488
+Node: GDB Files664489
+Node: Files665278
+Ref: Shared Libraries678580
+Ref: Files-Footnote-1690778
+Node: File Caching690907
+Node: Separate Debug Files692041
+Ref: debug-file-directory695151
+Node: MiniDebugInfo703766
+Node: Index Files706217
+Node: Symbol Errors708806
+Node: Data Files712422
+Node: Targets713378
+Node: Active Targets714858
+Node: Target Commands715932
+Ref: load720321
+Ref: flash-erase721514
+Node: Byte Order721574
+Node: Remote Debugging722548
+Node: Connecting723810
+Ref: --multi Option in Types of Remote Connnections726036
+Ref: Attaching in Types of Remote Connections727451
+Ref: Host and target files727952
+Node: File Transfer734427
+Node: Server735366
+Ref: Running gdbserver736942
+Ref: Attaching to a program739160
+Ref: Other Command-Line Arguments for gdbserver741685
+Ref: Monitor Commands for gdbserver744901
+Ref: Server-Footnote-1750157
+Node: Remote Configuration750277
+Ref: set remotebreak751537
+Ref: set remote hardware-watchpoint-limit753000
+Ref: set remote hardware-breakpoint-limit753000
+Ref: set remote hardware-watchpoint-length-limit753226
+Ref: set remote exec-file753641
+Node: Remote Stub765650
+Node: Stub Contents768545
+Node: Bootstrapping770652
+Node: Debug Session774467
+Node: Configurations776508
+Node: Native777277
+Node: BSD libkvm Interface777808
+Node: SVR4 Process Information778865
+Node: DJGPP Native782625
+Node: Cygwin Native789184
+Node: Non-debug DLL Symbols794105
+Node: Hurd Native798344
+Node: Darwin803600
+Node: Embedded OS804861
+Node: Embedded Processors805272
+Node: ARC806262
+Node: ARM806809
+Node: M68K809356
+Node: MicroBlaze809529
+Node: MIPS Embedded810978
+Node: OpenRISC 1000812275
+Node: PowerPC Embedded813181
+Node: AVR816410
+Node: CRIS816782
+Node: Super-H817758
+Node: Architectures818817
+Node: AArch64819266
+Node: i386819672
+Ref: i386-Footnote-1823882
+Node: Alpha823968
+Node: MIPS824101
+Node: HPPA827995
+Node: SPU828513
+Node: PowerPC830699
+Node: Nios II831434
+Node: Sparc64831839
+Node: Controlling GDB834194
+Node: Prompt835090
+Node: Editing836808
+Node: Command History837751
+Node: Screen Size842057
+Node: Numbers843991
+Node: ABI845970
+Node: Auto-loading849143
+Ref: set auto-load off850518
+Ref: show auto-load851154
+Ref: info auto-load851933
+Node: Init File in the Current Directory854900
+Ref: set auto-load local-gdbinit855475
+Ref: show auto-load local-gdbinit855657
+Ref: info auto-load local-gdbinit855821
+Node: libthread_db.so.1 file855969
+Ref: set auto-load libthread-db856908
+Ref: show auto-load libthread-db857039
+Ref: info auto-load libthread-db857176
+Node: Auto-loading safe path857360
+Ref: set auto-load safe-path858666
+Ref: show auto-load safe-path859405
+Ref: add-auto-load-safe-path859528
+Node: Auto-loading verbose mode862430
+Ref: set debug auto-load863593
+Ref: show debug auto-load863694
+Node: Messages/Warnings863816
+Ref: confirmation requests865250
+Node: Debugging Output866454
+Node: Other Misc Settings876084
+Node: Extending GDB877108
+Node: Sequences878961
+Node: Define879622
+Node: Hooks883702
+Node: Command Files886068
+Node: Output891141
+Ref: eval895943
+Node: Auto-loading sequences896105
+Ref: set auto-load gdb-scripts896600
+Ref: show auto-load gdb-scripts896724
+Ref: info auto-load gdb-scripts896854
+Node: Python897085
+Node: Python Commands898258
+Node: Python API902302
+Node: Basic Python904907
+Ref: prompt_hook914782
+Node: Exception Handling915380
+Node: Values From Inferior917876
+Node: Types In Python931073
+Node: Pretty Printing API940628
+Node: Selecting Pretty-Printers944524
+Node: Writing a Pretty-Printer946857
+Node: Type Printing API952179
+Node: Frame Filter API954795
+Node: Frame Decorator API962076
+Ref: frame_args965660
+Node: Writing a Frame Filter968990
+Node: Unwinding Frames in Python980464
+Node: Xmethods In Python985920
+Node: Xmethod API988816
+Node: Writing an Xmethod992628
+Node: Inferiors In Python998463
+Node: Events In Python1001607
+Node: Threads In Python1010525
+Node: Recordings In Python1013412
+Node: Commands In Python1020746
+Node: Parameters In Python1030159
+Node: Functions In Python1035619
+Node: Progspaces In Python1037836
+Node: Objfiles In Python1041337
+Node: Frames In Python1047116
+Node: Blocks In Python1053959
+Node: Symbols In Python1058321
+Node: Symbol Tables In Python1065549
+Node: Line Tables In Python1068772
+Node: Breakpoints In Python1071609
+Ref: python_breakpoint_thread1077932
+Node: Finish Breakpoints in Python1080969
+Node: Lazy Strings In Python1083075
+Node: Architectures In Python1085305
+Node: Python Auto-loading1087494
+Ref: set auto-load python-scripts1088123
+Ref: show auto-load python-scripts1088223
+Ref: info auto-load python-scripts1088329
+Node: Python modules1089463
+Node: gdb.printing1089849
+Node: gdb.types1091276
+Node: gdb.prompt1094288
+Node: Guile1095937
+Node: Guile Introduction1096596
+Node: Guile Commands1097467
+Node: Guile API1099321
+Node: Basic Guile1101318
+Node: Guile Configuration1107000
+Node: GDB Scheme Data Types1107976
+Node: Guile Exception Handling1109808
+Node: Values From Inferior In Guile1113842
+Node: Arithmetic In Guile1129377
+Node: Types In Guile1131008
+Ref: Fields of a type in Guile1138949
+Node: Guile Pretty Printing API1140337
+Node: Selecting Guile Pretty-Printers1145939
+Node: Writing a Guile Pretty-Printer1148315
+Node: Commands In Guile1153500
+Node: Parameters In Guile1164280
+Ref: Parameters In Guile-Footnote-11171161
+Node: Progspaces In Guile1171277
+Node: Objfiles In Guile1173865
+Node: Frames In Guile1176146
+Node: Blocks In Guile1182724
+Node: Symbols In Guile1187532
+Node: Symbol Tables In Guile1194867
+Node: Breakpoints In Guile1197830
+Node: Lazy Strings In Guile1209807
+Node: Architectures In Guile1212098
+Node: Disassembly In Guile1216405
+Node: I/O Ports in Guile1219607
+Node: Memory Ports in Guile1220163
+Node: Iterators In Guile1223429
+Node: Guile Auto-loading1227718
+Ref: set auto-load guile-scripts1228341
+Ref: show auto-load guile-scripts1228439
+Ref: info auto-load guile-scripts1228543
+Node: Guile Modules1229502
+Node: Guile Printing Module1229824
+Node: Guile Types Module1230643
+Node: Auto-loading extensions1231936
+Node: objfile-gdbdotext file1233134
+Ref: set auto-load scripts-directory1234570
+Ref: with-auto-load-dir1234946
+Ref: show auto-load scripts-directory1235764
+Ref: add-auto-load-scripts-directory1235844
+Node: dotdebug_gdb_scripts section1236320
+Node: Which flavor to choose?1240070
+Node: Multiple Extension Languages1241891
+Node: Aliases1242955
+Node: Interpreters1245820
+Node: TUI1248913
+Node: TUI Overview1249911
+Node: TUI Keys1252344
+Node: TUI Single Key Mode1254648
+Node: TUI Commands1255655
+Node: TUI Configuration1259594
+Node: Emacs1260900
+Node: GDB/MI1266337
+Node: GDB/MI General Design1268311
+Node: Context management1270831
+Node: Asynchronous and non-stop modes1274618
+Node: Thread groups1277592
+Node: GDB/MI Command Syntax1279870
+Node: GDB/MI Input Syntax1280113
+Node: GDB/MI Output Syntax1281663
+Node: GDB/MI Compatibility with CLI1285248
+Node: GDB/MI Development and Front Ends1285985
+Node: GDB/MI Output Records1287639
+Node: GDB/MI Result Records1288045
+Node: GDB/MI Stream Records1289395
+Node: GDB/MI Async Records1290660
+Node: GDB/MI Breakpoint Information1301097
+Node: GDB/MI Frame Information1305048
+Node: GDB/MI Thread Information1306134
+Node: GDB/MI Ada Exception Information1307604
+Node: GDB/MI Simple Examples1308154
+Node: GDB/MI Command Description Format1310362
+Node: GDB/MI Breakpoint Commands1311242
+Ref: -break-insert1318350
+Node: GDB/MI Catchpoint Commands1331805
+Node: Shared Library GDB/MI Catchpoint Commands1332173
+Node: Ada Exception GDB/MI Catchpoint Commands1333831
+Node: GDB/MI Program Context1336235
+Node: GDB/MI Thread Commands1340503
+Node: GDB/MI Ada Tasking Commands1343766
+Node: GDB/MI Program Execution1346038
+Node: GDB/MI Stack Manipulation1358072
+Ref: -stack-list-arguments1359971
+Ref: -stack-list-frames1363676
+Ref: -stack-list-locals1367539
+Ref: -stack-list-variables1369029
+Node: GDB/MI Variable Objects1370563
+Ref: -var-set-format1380528
+Ref: -var-list-children1381909
+Ref: -var-update1390717
+Ref: -var-set-frozen1393715
+Ref: -var-set-update-range1394512
+Ref: -var-set-visualizer1395041
+Node: GDB/MI Data Manipulation1396531
+Node: GDB/MI Tracepoint Commands1416705
+Node: GDB/MI Symbol Query1428496
+Node: GDB/MI File Commands1429185
+Node: GDB/MI Target Manipulation1433619
+Node: GDB/MI File Transfer Commands1440277
+Node: GDB/MI Ada Exceptions Commands1441600
+Node: GDB/MI Support Commands1442953
+Node: GDB/MI Miscellaneous Commands1447526
+Ref: -interpreter-exec1457860
+Node: Annotations1460200
+Node: Annotations Overview1461119
+Node: Server Prefix1463582
+Node: Prompting1464316
+Node: Errors1465833
+Node: Invalidation1466729
+Node: Annotations for Running1467208
+Node: Source Annotations1468742
+Node: JIT Interface1469671
+Node: Declarations1471470
+Node: Registering Code1472857
+Node: Unregistering Code1473829
+Node: Custom Debug Info1474456
+Node: Using JIT Debug Info Readers1475752
+Node: Writing JIT Debug Info Readers1476764
+Node: In-Process Agent1478959
+Ref: Control Agent1480902
+Node: In-Process Agent Protocol1481769
+Node: IPA Protocol Objects1482560
+Ref: agent expression object1483558
+Ref: tracepoint action object1483763
+Ref: tracepoint object1483843
+Node: IPA Protocol Commands1486373
+Node: GDB Bugs1487843
+Node: Bug Criteria1488575
+Node: Bug Reporting1489452
+Node: Command Line Editing1497281
+Node: Introduction and Notation1497933
+Node: Readline Interaction1499554
+Node: Readline Bare Essentials1502459
+Node: Readline Movement Commands1504240
+Node: Readline Killing Commands1505198
+Node: Readline Arguments1507114
+Node: Searching1508156
+Node: Readline Init File1510306
+Node: Readline Init File Syntax1511457
+Node: Conditional Init Constructs1526556
+Node: Sample Init File1529079
+Node: Bindable Readline Commands1532193
+Node: Commands For Moving1533245
+Node: Commands For History1534103
+Node: Commands For Text1537498
+Node: Commands For Killing1540221
+Node: Numeric Arguments1542361
+Node: Commands For Completion1543497
+Node: Keyboard Macros1545463
+Node: Miscellaneous Commands1546031
+Node: Readline vi Mode1549879
+Node: Using History Interactively1550789
+Node: History Interaction1551304
+Node: Event Designators1552726
+Node: Word Designators1553863
+Node: Modifiers1555498
+Node: In Memoriam1556719
+Node: Formatting Documentation1557602
+Ref: Formatting Documentation-Footnote-11560978
+Node: Installing GDB1561074
+Node: Requirements1561646
+Ref: Expat1562215
+Ref: MPFR1563165
+Node: Running Configure1565556
+Node: Separate Objdir1569335
+Node: Config Names1572314
+Node: Configure Options1573791
+Node: System-wide configuration1576162
+Node: System-wide Configuration Scripts1578122
+Node: Maintenance Commands1579306
+Ref: maint info breakpoints1580961
+Node: Remote Protocol1601527
+Node: Overview1602219
+Ref: Binary Data1604764
+Node: Packets1607289
+Ref: thread-id syntax1608189
+Ref: extended mode1609634
+Ref: ? packet1609892
+Ref: bc1611358
+Ref: bs1611568
+Ref: read registers packet1613185
+Ref: cycle step packet1615040
+Ref: write register packet1617751
+Ref: step with signal packet1618730
+Ref: vCont packet1620206
+Ref: vCtrlC packet1623439
+Ref: vKill packet1625857
+Ref: X packet1627390
+Ref: insert breakpoint or watchpoint packet1627759
+Node: Stop Reply Packets1632085
+Ref: swbreak stop reason1635336
+Ref: thread create event1638933
+Ref: thread exit event1640136
+Node: General Query Packets1642345
+Ref: qCRC packet1645175
+Ref: QEnvironmentHexEncoded1648328
+Ref: QEnvironmentUnset1649558
+Ref: QEnvironmentReset1650502
+Ref: QSetWorkingDir packet1651446
+Ref: QNonStop1657897
+Ref: QCatchSyscalls1658573
+Ref: QPassSignals1660110
+Ref: QProgramSignals1661317
+Ref: QThreadEvents1662884
+Ref: qSearch memory1664902
+Ref: QStartNoAckMode1665410
+Ref: qSupported1665941
+Ref: multiprocess extensions1681948
+Ref: install tracepoint in tracing1683978
+Ref: qXfer read1688501
+Ref: qXfer auxiliary vector read1690108
+Ref: qXfer btrace read1690456
+Ref: qXfer btrace-conf read1691521
+Ref: qXfer executable filename read1691872
+Ref: qXfer target description read1692487
+Ref: qXfer library list read1692921
+Ref: qXfer svr4 library list read1693577
+Ref: qXfer memory map read1695430
+Ref: qXfer sdata read1695817
+Ref: qXfer siginfo read1696283
+Ref: qXfer spu read1696680
+Ref: qXfer threads read1697204
+Ref: qXfer traceframe info read1697607
+Ref: qXfer unwind info block1698025
+Ref: qXfer fdpic loadmap read1698259
+Ref: qXfer osdata read1698675
+Ref: qXfer write1698829
+Ref: qXfer siginfo write1699921
+Ref: qXfer spu write1700318
+Ref: General Query Packets-Footnote-11703174
+Node: Architecture-Specific Protocol Details1703501
+Node: ARM-Specific Protocol Details1704010
+Node: ARM Breakpoint Kinds1704258
+Node: MIPS-Specific Protocol Details1704589
+Node: MIPS Register packet Format1704872
+Node: MIPS Breakpoint Kinds1705799
+Node: Tracepoint Packets1706217
+Ref: QTEnable1715531
+Ref: QTDisable1715727
+Ref: qTfSTM1721264
+Ref: qTsSTM1721264
+Ref: qTSTMat1722341
+Ref: QTBuffer-size1723492
+Node: Host I/O Packets1725465
+Node: Interrupts1731045
+Ref: interrupting remote targets1731189
+Node: Notification Packets1733357
+Node: Remote Non-Stop1738782
+Node: Packet Acknowledgment1741898
+Node: Examples1744013
+Node: File-I/O Remote Protocol Extension1744607
+Node: File-I/O Overview1745069
+Node: Protocol Basics1747268
+Node: The F Request Packet1749497
+Node: The F Reply Packet1750398
+Node: The Ctrl-C Message1751316
+Node: Console I/O1752942
+Node: List of Supported Calls1754158
+Node: open1754520
+Node: close1757028
+Node: read1757411
+Node: write1758020
+Node: lseek1758791
+Node: rename1759675
+Node: unlink1761082
+Node: stat/fstat1762029
+Node: gettimeofday1762922
+Node: isatty1763358
+Node: system1763954
+Node: Protocol-specific Representation of Datatypes1765496
+Node: Integral Datatypes1765873
+Node: Pointer Values1766680
+Node: Memory Transfer1767384
+Node: struct stat1768004
+Node: struct timeval1770206
+Node: Constants1770723
+Node: Open Flags1771172
+Node: mode_t Values1771513
+Node: Errno Values1772005
+Node: Lseek Flags1772815
+Node: Limits1773000
+Node: File-I/O Examples1773360
+Node: Library List Format1774448
+Node: Library List Format for SVR4 Targets1777230
+Node: Memory Map Format1779697
+Node: Thread List Format1782221
+Node: Traceframe Info Format1783225
+Node: Branch Trace Format1784911
+Node: Branch Trace Configuration Format1786611
+Node: Agent Expressions1787785
+Node: General Bytecode Design1790606
+Node: Bytecode Descriptions1795400
+Node: Using Agent Expressions1810583
+Node: Varying Target Capabilities1812560
+Node: Rationale1813721
+Node: Target Descriptions1821110
+Node: Retrieving Descriptions1823053
+Node: Target Description Format1824138
+Node: Predefined Target Types1834013
+Node: Enum Target Types1835441
+Node: Standard Target Features1836436
+Node: AArch64 Features1838400
+Node: ARC Features1838823
+Node: ARM Features1840884
+Node: i386 Features1842398
+Node: MicroBlaze Features1844613
+Node: MIPS Features1845190
+Node: M68K Features1846381
+Node: NDS32 Features1847042
+Node: Nios II Features1848066
+Node: OpenRISC 1000 Features1848471
+Node: PowerPC Features1848837
+Node: S/390 and System z Features1850168
+Node: Sparc Features1852313
+Node: TIC6x Features1853218
+Node: Operating System Information1853767
+Node: Process list1854602
+Node: Trace File Format1855665
+Node: Index Section Format1858879
+Node: Man Pages1866805
+Node: gdb man1867211
+Node: gdbserver man1873247
+Node: gcore man1880444
+Node: gdbinit man1881386
+Node: Copying1882269
+Node: GNU Free Documentation License1919830
+Node: Concept Index1944977
+Node: Command and Variable Index2081950
 
 End Tag Table
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/doc/gdb.info-1 ./gdb/doc/gdb.info-1
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/doc/gdb.info-1	2017-12-27 01:52:03.000000000 +0000
+++ ./gdb/doc/gdb.info-1	2018-01-02 01:52:20.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of 'Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 8.0.50.20171227-git.
+Source-Level Debugger' for GDB (GDB) Version 8.0.50.20180102-git.
 
    Copyright (C) 1988-2017 Free Software Foundation, Inc.
 
@@ -44,7 +44,7 @@ Debugging with GDB
 
 This file describes GDB, the GNU symbolic debugger.
 
-   This is the Tenth Edition, for GDB (GDB) Version 8.0.50.20171227-git.
+   This is the Tenth Edition, for GDB (GDB) Version 8.0.50.20180102-git.
 
    Copyright (C) 1988-2017 Free Software Foundation, Inc.
 
@@ -501,7 +501,7 @@ Let us use GDB to try to see what is goi
      There is absolutely no warranty for GDB; type "show warranty"
       for details.
 
-     GDB 8.0.50.20171227-git, Copyright 1999 Free Software Foundation, Inc...
+     GDB 8.0.50.20180102-git, Copyright 1999 Free Software Foundation, Inc...
      (gdb)
 
 GDB reads only enough symbol data to know where to find the rest when
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/doc/gdb.info-2 ./gdb/doc/gdb.info-2
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/doc/gdb.info-2	2017-12-27 01:52:05.000000000 +0000
+++ ./gdb/doc/gdb.info-2	2018-01-02 01:52:22.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of 'Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 8.0.50.20171227-git.
+Source-Level Debugger' for GDB (GDB) Version 8.0.50.20180102-git.
 
    Copyright (C) 1988-2017 Free Software Foundation, Inc.
 
@@ -2279,6 +2279,11 @@ machine.
      Print the names and values of all registers, including
      floating-point and vector registers (in the selected stack frame).
 
+'info registers REGGROUP ...'
+     Print the name and value of the registers in each of the specified
+     REGGROUPs.  The REGGOUP can be any of those returned by 'maint
+     print reggroups' (*note Maintenance Commands::).
+
 'info registers REGNAME ...'
      Print the "relativized" value of each specified register REGNAME.
      As discussed in detail below, register values are normally relative
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/doc/gdb.info-3 ./gdb/doc/gdb.info-3
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/doc/gdb.info-3	2017-12-27 01:52:07.000000000 +0000
+++ ./gdb/doc/gdb.info-3	2018-01-02 01:52:24.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of 'Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 8.0.50.20171227-git.
+Source-Level Debugger' for GDB (GDB) Version 8.0.50.20180102-git.
 
    Copyright (C) 1988-2017 Free Software Foundation, Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/doc/gdb.info-4 ./gdb/doc/gdb.info-4
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/doc/gdb.info-4	2017-12-27 01:52:09.000000000 +0000
+++ ./gdb/doc/gdb.info-4	2018-01-02 01:52:27.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of 'Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 8.0.50.20171227-git.
+Source-Level Debugger' for GDB (GDB) Version 8.0.50.20180102-git.
 
    Copyright (C) 1988-2017 Free Software Foundation, Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/doc/gdb.info-5 ./gdb/doc/gdb.info-5
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/doc/gdb.info-5	2017-12-27 01:52:11.000000000 +0000
+++ ./gdb/doc/gdb.info-5	2018-01-02 01:52:29.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of 'Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 8.0.50.20171227-git.
+Source-Level Debugger' for GDB (GDB) Version 8.0.50.20180102-git.
 
    Copyright (C) 1988-2017 Free Software Foundation, Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/doc/gdb.info-6 ./gdb/doc/gdb.info-6
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/doc/gdb.info-6	2017-12-27 01:52:13.000000000 +0000
+++ ./gdb/doc/gdb.info-6	2018-01-02 01:52:31.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of 'Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 8.0.50.20171227-git.
+Source-Level Debugger' for GDB (GDB) Version 8.0.50.20180102-git.
 
    Copyright (C) 1988-2017 Free Software Foundation, Inc.
 
@@ -1475,7 +1475,7 @@ and TeX (or 'texi2roff') to typeset the 
 
    GDB includes an already formatted copy of the on-line Info version of
 this manual in the 'gdb' subdirectory.  The main Info file is
-'gdb-8.0.50.20171227-git/gdb/gdb.info', and it refers to subordinate
+'gdb-8.0.50.20180102-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'
@@ -1485,8 +1485,8 @@ program, available as part of the GNU Te
 Info formatting programs, such as 'texinfo-format-buffer' or 'makeinfo'.
 
    If you have 'makeinfo' installed, and are in the top level GDB source
-directory ('gdb-8.0.50.20171227-git', in the case of version
-8.0.50.20171227-git), you can make the Info file by typing:
+directory ('gdb-8.0.50.20180102-git', in the case of version
+8.0.50.20180102-git), you can make the Info file by typing:
 
      cd gdb
      make gdb.info
@@ -1511,7 +1511,7 @@ On its own, TeX cannot either read or ty
 
    If you have TeX and a DVI printer program installed, you can typeset
 and print this manual.  First switch to the 'gdb' subdirectory of the
-main source directory (for example, to 'gdb-8.0.50.20171227-git/gdb')
+main source directory (for example, to 'gdb-8.0.50.20180102-git/gdb')
 and type:
 
      make gdb.dvi
@@ -1520,8 +1520,8 @@ and type:
 
    ---------- Footnotes ----------
 
-   (1) In 'gdb-8.0.50.20171227-git/gdb/refcard.ps' of the version
-8.0.50.20171227-git release.
+   (1) In 'gdb-8.0.50.20180102-git/gdb/refcard.ps' of the version
+8.0.50.20180102-git release.
 
 
 File: gdb.info,  Node: Installing GDB,  Next: Maintenance Commands,  Prev: Formatting Documentation,  Up: Top
@@ -1639,39 +1639,39 @@ preparing GDB for installation; you can 
 a single directory, whose name is usually composed by appending the
 version number to 'gdb'.
 
-   For example, the GDB version 8.0.50.20171227-git distribution is in
-the 'gdb-8.0.50.20171227-git' directory.  That directory contains:
+   For example, the GDB version 8.0.50.20180102-git distribution is in
+the 'gdb-8.0.50.20180102-git' directory.  That directory contains:
 
-'gdb-8.0.50.20171227-git/configure (and supporting files)'
+'gdb-8.0.50.20180102-git/configure (and supporting files)'
      script for configuring GDB and all its supporting libraries
 
-'gdb-8.0.50.20171227-git/gdb'
+'gdb-8.0.50.20180102-git/gdb'
      the source specific to GDB itself
 
-'gdb-8.0.50.20171227-git/bfd'
+'gdb-8.0.50.20180102-git/bfd'
      source for the Binary File Descriptor library
 
-'gdb-8.0.50.20171227-git/include'
+'gdb-8.0.50.20180102-git/include'
      GNU include files
 
-'gdb-8.0.50.20171227-git/libiberty'
+'gdb-8.0.50.20180102-git/libiberty'
      source for the '-liberty' free software library
 
-'gdb-8.0.50.20171227-git/opcodes'
+'gdb-8.0.50.20180102-git/opcodes'
      source for the library of opcode tables and disassemblers
 
-'gdb-8.0.50.20171227-git/readline'
+'gdb-8.0.50.20180102-git/readline'
      source for the GNU command-line interface
 
-'gdb-8.0.50.20171227-git/glob'
+'gdb-8.0.50.20180102-git/glob'
      source for the GNU filename pattern-matching subroutine
 
-'gdb-8.0.50.20171227-git/mmalloc'
+'gdb-8.0.50.20180102-git/mmalloc'
      source for the GNU memory-mapped malloc package
 
    The simplest way to configure and build GDB is to run 'configure'
 from the 'gdb-VERSION-NUMBER' source directory, which in this example is
-the 'gdb-8.0.50.20171227-git' directory.
+the 'gdb-8.0.50.20180102-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
@@ -1679,7 +1679,7 @@ platform on which GDB will run as an arg
 
    For example:
 
-     cd gdb-8.0.50.20171227-git
+     cd gdb-8.0.50.20180102-git
      ./configure HOST
      make
 
@@ -1701,8 +1701,8 @@ need to run 'sh' on it explicitly:
 
    If you run 'configure' from a directory that contains source
 directories for multiple libraries or programs, such as the
-'gdb-8.0.50.20171227-git' source directory for version
-8.0.50.20171227-git, 'configure' creates configuration files for every
+'gdb-8.0.50.20180102-git' source directory for version
+8.0.50.20180102-git, 'configure' creates configuration files for every
 directory level underneath (unless you tell it not to, with the
 '--norecursion' option).
 
@@ -1742,13 +1742,13 @@ to specify a path to find 'configure' it
 directory.  If the path to 'configure' would be the same as the argument
 to '--srcdir', you can leave out the '--srcdir' option; it is assumed.)
 
-   For example, with version 8.0.50.20171227-git, you can build GDB in a
+   For example, with version 8.0.50.20180102-git, you can build GDB in a
 separate directory for a Sun 4 like this:
 
-     cd gdb-8.0.50.20171227-git
+     cd gdb-8.0.50.20180102-git
      mkdir ../gdb-sun4
      cd ../gdb-sun4
-     ../gdb-8.0.50.20171227-git/configure sun4
+     ../gdb-8.0.50.20180102-git/configure sun4
      make
 
    When 'configure' builds a configuration using a remote source
@@ -1759,7 +1759,7 @@ the example, you'd find the Sun 4 librar
 
    Make sure that your path to the 'configure' script has just one
 instance of 'gdb' in it.  If your path to 'configure' looks like
-'../gdb-8.0.50.20171227-git/gdb/configure', you are configuring only one
+'../gdb-8.0.50.20180102-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'.
 
@@ -1775,8 +1775,8 @@ a configured directory--whatever directo
 
    The 'Makefile' that 'configure' generates in each source directory
 also runs recursively.  If you type 'make' in a source directory such as
-'gdb-8.0.50.20171227-git' (or in a separate configured directory
-configured with '--srcdir=DIRNAME/gdb-8.0.50.20171227-git'), you will
+'gdb-8.0.50.20180102-git' (or in a separate configured directory
+configured with '--srcdir=DIRNAME/gdb-8.0.50.20180102-git'), you will
 build all the required libraries, and then build GDB.
 
    When you have multiple hosts or targets configured in separate
@@ -1821,7 +1821,7 @@ you can use it to test your guesses on a
      Invalid configuration `i986v': machine `i986v' not recognized
 
 'config.sub' is also distributed in the GDB source directory
-('gdb-8.0.50.20171227-git', for version 8.0.50.20171227-git).
+('gdb-8.0.50.20180102-git', for version 8.0.50.20180102-git).
 
 
 File: gdb.info,  Node: Configure Options,  Next: System-wide configuration,  Prev: Config Names,  Up: Installing GDB
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/doc/gdb.info-7 ./gdb/doc/gdb.info-7
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/doc/gdb.info-7	2017-12-27 01:52:15.000000000 +0000
+++ ./gdb/doc/gdb.info-7	2018-01-02 01:52:33.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of 'Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 8.0.50.20171227-git.
+Source-Level Debugger' for GDB (GDB) Version 8.0.50.20180102-git.
 
    Copyright (C) 1988-2017 Free Software Foundation, Inc.
 
@@ -600,9 +600,13 @@ TYPE
      for BITSIZE.  The default is 'int'.
 
 GROUP
-     The register group to which this register belongs.  It must be
-     either 'general', 'float', or 'vector'.  If no GROUP is specified,
-     GDB will not display the register in 'info registers'.
+     The register group to which this register belongs.  It can be one
+     of the standard register groups 'general', 'float', 'vector' or an
+     arbitrary string.  Group names should be limited to alphanumeric
+     characters.  If a group name is made up of multiple words the words
+     may be separated by hyphens; e.g. 'special-group' or
+     'ultra-special-group'.  If no GROUP is specified, GDB will not
+     display the register in 'info registers'.
 
 
 File: gdb.info,  Node: Predefined Target Types,  Next: Enum Target Types,  Prev: Target Description Format,  Up: Target Descriptions
@@ -3209,7 +3213,7 @@ Concept Index
                                                              (line  119)
 * <flags>:                               Target Description Format.
                                                              (line  163)
-* <not saved> values:                    Registers.          (line  101)
+* <not saved> values:                    Registers.          (line  106)
 * <osabi>:                               Target Description Format.
                                                              (line   82)
 * <reg>:                                 Target Description Format.
@@ -3420,8 +3424,8 @@ Concept Index
                                                              (line   26)
 * call stack:                            Stack.              (line    9)
 * call stack traces:                     Backtrace.          (line    6)
-* call-clobbered registers:              Registers.          (line  101)
-* caller-saved registers:                Registers.          (line  101)
+* call-clobbered registers:              Registers.          (line  106)
+* caller-saved registers:                Registers.          (line  106)
 * calling functions:                     Calling.            (line    6)
 * calling make:                          Shell Commands.     (line   21)
 * case sensitivity in symbol names:      Symbols.            (line   27)
@@ -3757,7 +3761,7 @@ Concept Index
 * frame filters api:                     Frame Filter API.   (line    6)
 * frame number:                          Frames.             (line   28)
 * frame pointer:                         Frames.             (line   21)
-* frame pointer register:                Registers.          (line   26)
+* frame pointer register:                Registers.          (line   31)
 * frame, definition:                     Frames.             (line    6)
 * frameless execution:                   Frames.             (line   34)
 * frames in guile:                       Frames In Guile.    (line    6)
@@ -4098,7 +4102,7 @@ Concept Index
 * MIPS stack:                            MIPS.               (line    6)
 * miscellaneous settings:                Other Misc Settings.
                                                              (line    6)
-* MMX registers (x86):                   Registers.          (line   71)
+* MMX registers (x86):                   Registers.          (line   76)
 * mode_t values, in file-i/o protocol:   mode_t Values.      (line    6)
 * Modula-2:                              Summary.            (line   29)
 * Modula-2 built-ins:                    Built-In Func/Proc. (line    6)
@@ -4305,13 +4309,13 @@ Concept Index
                                                              (line   88)
 * process record and replay:             Process Record and Replay.
                                                              (line    6)
-* process status register:               Registers.          (line   26)
+* process status register:               Registers.          (line   31)
 * processes, multiple:                   Forks.              (line    6)
 * procfs API calls:                      SVR4 Process Information.
                                                              (line   67)
 * profiling GDB:                         Maintenance Commands.
                                                              (line  396)
-* program counter register:              Registers.          (line   26)
+* program counter register:              Registers.          (line   31)
 * program entry point:                   Backtrace.          (line  105)
 * programming in guile:                  Guile API.          (line    6)
 * programming in python:                 Python API.         (line    6)
@@ -4661,13 +4665,13 @@ Concept Index
                                                              (line    6)
 * specifying location:                   Specify Location.   (line    6)
 * SPU:                                   SPU.                (line    6)
-* SSE registers (x86):                   Registers.          (line   71)
+* SSE registers (x86):                   Registers.          (line   76)
 * stack frame:                           Frames.             (line    6)
 * stack on Alpha:                        MIPS.               (line    6)
 * stack on MIPS:                         MIPS.               (line    6)
-* stack pointer register:                Registers.          (line   26)
+* stack pointer register:                Registers.          (line   31)
 * stacking targets:                      Active Targets.     (line    6)
-* standard registers:                    Registers.          (line   26)
+* standard registers:                    Registers.          (line   31)
 * start a new independent interpreter:   Interpreters.       (line   49)
 * start a new trace experiment:          Starting and Stopping Trace Experiments.
                                                              (line    6)
@@ -4959,7 +4963,7 @@ Concept Index
 * virtual functions (C++) display:       Print Settings.     (line  500)
 * vKill packet:                          Packets.            (line  505)
 * vMustReplyEmpty packet:                Packets.            (line  517)
-* volatile registers:                    Registers.          (line  101)
+* volatile registers:                    Registers.          (line  106)
 * vRun packet:                           Packets.            (line  529)
 * vStopped packet:                       Packets.            (line  544)
 * VTBL display:                          Print Settings.     (line  500)
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/doc/gdbinit.5 ./gdb/doc/gdbinit.5
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/doc/gdbinit.5	2017-12-27 01:52:19.000000000 +0000
+++ ./gdb/doc/gdbinit.5	2018-01-02 01:52:37.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDBINIT 5"
-.TH GDBINIT 5 "2017-12-27" "gdb-8.0.50.20171227-git" "GNU Development Tools"
+.TH GDBINIT 5 "2018-01-02" "gdb-8.0.50.20180102-git" "GNU Development Tools"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/doc/gdbserver.1 ./gdb/doc/gdbserver.1
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/doc/gdbserver.1	2017-12-27 01:52:18.000000000 +0000
+++ ./gdb/doc/gdbserver.1	2018-01-02 01:52:37.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDBSERVER 1"
-.TH GDBSERVER 1 "2017-12-27" "gdb-8.0.50.20171227-git" "GNU Development Tools"
+.TH GDBSERVER 1 "2018-01-02" "gdb-8.0.50.20180102-git" "GNU Development Tools"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/doc/gdb.texinfo ./gdb/doc/gdb.texinfo
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/doc/gdb.texinfo	2017-12-27 01:48:52.000000000 +0000
+++ ./gdb/doc/gdb.texinfo	2018-01-02 01:48:56.000000000 +0000
@@ -11023,6 +11023,11 @@ and vector registers (in the selected st
 Print the names and values of all registers, including floating-point
 and vector registers (in the selected stack frame).
 
+@item info registers @var{reggroup} @dots{}
+Print the name and value of the registers in each of the specified
+@var{reggroup}s.  The @var{reggoup} can be any of those returned by
+@code{maint print reggroups} (@pxref{Maintenance Commands}).
+
 @item info registers @var{regname} @dots{}
 Print the @dfn{relativized} value of each specified register @var{regname}.
 As discussed in detail below, register values are normally relative to
@@ -41756,10 +41761,13 @@ architecture's normal floating point for
 @var{bitsize}.  The default is @code{int}.
 
 @item group
-The register group to which this register belongs.  It must
-be either @code{general}, @code{float}, or @code{vector}.  If no
-@var{group} is specified, @value{GDBN} will not display the register
-in @code{info registers}.
+The register group to which this register belongs.  It can be one of the
+standard register groups @code{general}, @code{float}, @code{vector} or an
+arbitrary string.  Group names should be limited to alphanumeric characters.
+If a group name is made up of multiple words the words may be separated by
+hyphens; e.g.@: @code{special-group} or @code{ultra-special-group}.  If no
+@var{group} is specified, @value{GDBN} will not display the register in
+@code{info registers}.
 
 @end table
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/dtrace-probe.c ./gdb/dtrace-probe.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/dtrace-probe.c	2017-12-27 01:48:52.000000000 +0000
+++ ./gdb/dtrace-probe.c	2018-01-02 01:48:56.000000000 +0000
@@ -625,21 +625,15 @@ dtrace_probe::build_arg_exprs (struct gd
      value of the argument when executed at the PC of the probe.  */
   for (dtrace_probe_arg &arg : m_args)
     {
-      struct cleanup *back_to;
-      struct parser_state pstate;
-
       /* Initialize the expression buffer in the parser state.  The
 	 language does not matter, since we are using our own
 	 parser.  */
-      initialize_expout (&pstate, 10, current_language, gdbarch);
-      back_to = make_cleanup (free_current_contents, &pstate.expout);
+      parser_state pstate (10, current_language, gdbarch);
 
       /* The argument value, which is ABI dependent and casted to
 	 `long int'.  */
       gdbarch_dtrace_parse_probe_argument (gdbarch, &pstate, argc);
 
-      discard_cleanups (back_to);
-
       /* Casting to the expected type, but only if the type was
 	 recognized at probe load time.  Otherwise the argument will
 	 be evaluated as the long integer passed to the probe.  */
@@ -650,8 +644,7 @@ dtrace_probe::build_arg_exprs (struct gd
 	  write_exp_elt_opcode (&pstate, UNOP_CAST);
 	}
 
-      reallocate_expout (&pstate);
-      arg.expr = expression_up (pstate.expout);
+      arg.expr = pstate.release ();
       prefixify_expression (arg.expr.get ());
       ++argc;
     }
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/dwarf2read.c ./gdb/dwarf2read.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/dwarf2read.c	2017-12-27 01:48:52.000000000 +0000
+++ ./gdb/dwarf2read.c	2018-01-02 01:48:56.000000000 +0000
@@ -277,7 +277,7 @@ protected:
 
 /* A description of the mapped index.  The file format is described in
    a comment by the code that writes the index.  */
-struct mapped_index : public mapped_index_base
+struct mapped_index final : public mapped_index_base
 {
   /* A slot/bucket in the symbol table hash.  */
   struct symbol_table_slot
@@ -318,7 +318,7 @@ struct mapped_index : public mapped_inde
 
 /* A description of the mapped .debug_names.
    Uninitialized map has CU_COUNT 0.  */
-struct mapped_debug_names : public mapped_index_base
+struct mapped_debug_names final : public mapped_index_base
 {
   bfd_endian dwarf5_byte_order;
   bool dwarf5_is_dwarf64;
@@ -24179,6 +24179,8 @@ dwarf_decode_macro_bytes (bfd *abfd,
 
       /* Note that we rely on the fact that the corresponding GNU and
 	 DWARF constants are the same.  */
+      DIAGNOSTIC_PUSH
+      DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES
       switch (macinfo_type)
 	{
 	  /* A zero macinfo type indicates the end of the macro
@@ -24403,6 +24405,7 @@ dwarf_decode_macro_bytes (bfd *abfd,
 	    return;
 	  break;
         }
+      DIAGNOSTIC_POP
     } while (macinfo_type != 0);
 }
 
@@ -24495,6 +24498,8 @@ dwarf_decode_macros (struct dwarf2_cu *c
 
       /* Note that we rely on the fact that the corresponding GNU and
 	 DWARF constants are the same.  */
+      DIAGNOSTIC_PUSH
+      DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES
       switch (macinfo_type)
         {
           /* A zero macinfo type indicates the end of the macro
@@ -24575,6 +24580,7 @@ dwarf_decode_macros (struct dwarf2_cu *c
 	    return;
 	  break;
 	}
+      DIAGNOSTIC_POP
     } while (macinfo_type != 0 && current_file == NULL);
 
   /* Second pass: Process all entries.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/infcmd.c ./gdb/infcmd.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/infcmd.c	2017-12-27 01:48:53.000000000 +0000
+++ ./gdb/infcmd.c	2018-01-02 01:48:56.000000000 +0000
@@ -3460,13 +3460,17 @@ interrupt all running threads in non-sto
 
   c = add_info ("registers", info_registers_command, _("\
 List of integer registers and their contents, for selected stack frame.\n\
-Register name as argument means describe only that register."));
+One or more register names as argument means describe the given registers.\n\
+One or more register group names as argument means describe the registers\n\
+in the named register groups."));
   add_info_alias ("r", "registers", 1);
   set_cmd_completer (c, reg_or_group_completer);
 
   c = add_info ("all-registers", info_all_registers_command, _("\
 List of all registers and their contents, for selected stack frame.\n\
-Register name as argument means describe only that register."));
+One or more register names as argument means describe the given registers.\n\
+One or more register group names as argument means describe the registers\n\
+in the named register groups."));
   set_cmd_completer (c, reg_or_group_completer);
 
   add_info ("program", info_program_command,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/language.h ./gdb/language.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/language.h	2017-12-27 01:48:53.000000000 +0000
+++ ./gdb/language.h	2018-01-02 01:48:56.000000000 +0000
@@ -25,12 +25,12 @@
 
 #include "symtab.h"
 #include "common/function-view.h"
+#include "expression.h"
 
 /* Forward decls for prototypes.  */
 struct value;
 struct objfile;
 struct frame_info;
-struct expression;
 struct ui_file;
 struct value_print_options;
 struct type_print_options;
@@ -182,7 +182,7 @@ struct language_defn
        for releasing its previous contents, if necessary.  If 
        VOID_CONTEXT_P, then no value is expected from the expression.  */
 
-    void (*la_post_parser) (struct expression ** expp, int void_context_p);
+    void (*la_post_parser) (expression_up *expp, int void_context_p);
 
     void (*la_printchar) (int ch, struct type *chtype,
 			  struct ui_file * stream);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/linux-thread-db.c ./gdb/linux-thread-db.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/linux-thread-db.c	2017-12-27 01:48:53.000000000 +0000
+++ ./gdb/linux-thread-db.c	2018-01-02 01:48:56.000000000 +0000
@@ -1093,12 +1093,8 @@ static void
 thread_db_detach (struct target_ops *ops, const char *args, int from_tty)
 {
   struct target_ops *target_beneath = find_target_beneath (ops);
-  struct thread_db_info *info;
-
-  info = get_thread_db_info (ptid_get_pid (inferior_ptid));
 
-  if (info)
-    delete_thread_db_info (ptid_get_pid (inferior_ptid));
+  delete_thread_db_info (ptid_get_pid (inferior_ptid));
 
   target_beneath->to_detach (target_beneath, args, from_tty);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/NEWS ./gdb/NEWS
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/NEWS	2017-12-27 01:48:52.000000000 +0000
+++ ./gdb/NEWS	2018-01-02 01:48:55.000000000 +0000
@@ -3,6 +3,10 @@
 
 *** Changes since GDB 8.0
 
+* GDB now supports dynamically creating arbitrary register groups specified
+  in XML target descriptions.  This allows for finer grain grouping of
+  registers on systems with a large amount of registers.
+
 * The 'ptype' command now accepts a '/o' flag, which prints the
   offsets and sizes of fields in a struct, like the pahole(1) tool.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/parse.c ./gdb/parse.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/parse.c	2017-12-27 01:48:53.000000000 +0000
+++ ./gdb/parse.c	2018-01-02 01:48:56.000000000 +0000
@@ -152,34 +152,32 @@ end_arglist (void)
 
 /* See definition in parser-defs.h.  */
 
-void
-initialize_expout (struct parser_state *ps, size_t initial_size,
-		   const struct language_defn *lang,
-		   struct gdbarch *gdbarch)
-{
-  ps->expout_size = initial_size;
-  ps->expout_ptr = 0;
-  ps->expout
-    = (struct expression *) xmalloc (sizeof (struct expression)
-				     + EXP_ELEM_TO_BYTES (ps->expout_size));
-  ps->expout->language_defn = lang;
-  ps->expout->gdbarch = gdbarch;
+parser_state::parser_state (size_t initial_size,
+			    const struct language_defn *lang,
+			    struct gdbarch *gdbarch)
+  : expout_size (initial_size),
+    expout (XNEWVAR (expression,
+		     (sizeof (expression)
+		      + EXP_ELEM_TO_BYTES (expout_size)))),
+    expout_ptr (0)
+{
+  expout->language_defn = lang;
+  expout->gdbarch = gdbarch;
 }
 
-/* See definition in parser-defs.h.  */
-
-void
-reallocate_expout (struct parser_state *ps)
+expression_up
+parser_state::release ()
 {
   /* Record the actual number of expression elements, and then
      reallocate the expression memory so that we free up any
      excess elements.  */
 
-  ps->expout->nelts = ps->expout_ptr;
-  ps->expout = (struct expression *)
-     xrealloc (ps->expout,
-	       sizeof (struct expression)
-	       + EXP_ELEM_TO_BYTES (ps->expout_ptr));
+  expout->nelts = expout_ptr;
+  expout.reset (XRESIZEVAR (expression, expout.release (),
+			    (sizeof (expression)
+			     + EXP_ELEM_TO_BYTES (expout_ptr))));
+
+  return std::move (expout);
 }
 
 /* This page contains the functions for adding data to the struct expression
@@ -196,9 +194,9 @@ write_exp_elt (struct parser_state *ps, 
   if (ps->expout_ptr >= ps->expout_size)
     {
       ps->expout_size *= 2;
-      ps->expout = (struct expression *)
-	xrealloc (ps->expout, sizeof (struct expression)
-		  + EXP_ELEM_TO_BYTES (ps->expout_size));
+      ps->expout.reset (XRESIZEVAR (expression, ps->expout.release (),
+				    (sizeof (expression)
+				     + EXP_ELEM_TO_BYTES (ps->expout_size))));
     }
   ps->expout->elts[ps->expout_ptr++] = *expelt;
 }
@@ -1116,7 +1114,6 @@ parse_exp_in_context_1 (const char **str
 			int comma, int void_context_p, int *out_subexp)
 {
   const struct language_defn *lang = NULL;
-  struct parser_state ps;
   int subexp;
 
   lexptr = *stringptr;
@@ -1192,7 +1189,7 @@ parse_exp_in_context_1 (const char **str
      and others called from *.y) ensure CURRENT_LANGUAGE gets restored
      to the value matching SELECTED_FRAME as set by get_current_arch.  */
 
-  initialize_expout (&ps, 10, lang, get_current_arch ());
+  parser_state ps (10, lang, get_current_arch ());
 
   scoped_restore_current_language lang_saver;
   set_language (lang->la_language);
@@ -1205,33 +1202,32 @@ parse_exp_in_context_1 (const char **str
   CATCH (except, RETURN_MASK_ALL)
     {
       if (! parse_completion)
-	{
-	  xfree (ps.expout);
-	  throw_exception (except);
-	}
+	throw_exception (except);
     }
   END_CATCH
 
-  reallocate_expout (&ps);
+  /* We have to operate on an "expression *", due to la_post_parser,
+     which explains this funny-looking double release.  */
+  expression_up result = ps.release ();
 
   /* Convert expression from postfix form as generated by yacc
      parser, to a prefix form.  */
 
   if (expressiondebug)
-    dump_raw_expression (ps.expout, gdb_stdlog,
+    dump_raw_expression (result.get (), gdb_stdlog,
 			 "before conversion to prefix form");
 
-  subexp = prefixify_expression (ps.expout);
+  subexp = prefixify_expression (result.get ());
   if (out_subexp)
     *out_subexp = subexp;
 
-  lang->la_post_parser (&ps.expout, void_context_p);
+  lang->la_post_parser (&result, void_context_p);
 
   if (expressiondebug)
-    dump_prefix_expression (ps.expout, gdb_stdlog);
+    dump_prefix_expression (result.get (), gdb_stdlog);
 
   *stringptr = lexptr;
-  return expression_up (ps.expout);
+  return result;
 }
 
 /* Parse STRING as an expression, and complain if this fails
@@ -1320,7 +1316,7 @@ parse_expression_for_completion (const c
 /* A post-parser that does nothing.  */
 
 void
-null_post_parser (struct expression **exp, int void_context_p)
+null_post_parser (expression_up *exp, int void_context_p)
 {
 }
 
@@ -1866,10 +1862,11 @@ increase_expout_size (struct parser_stat
   if ((ps->expout_ptr + lenelt) >= ps->expout_size)
     {
       ps->expout_size = std::max (ps->expout_size * 2,
-			     ps->expout_ptr + lenelt + 10);
-      ps->expout = (struct expression *)
-	xrealloc (ps->expout, (sizeof (struct expression)
-			       + EXP_ELEM_TO_BYTES (ps->expout_size)));
+				  ps->expout_ptr + lenelt + 10);
+      ps->expout.reset (XRESIZEVAR (expression,
+				    ps->expout.release (),
+				    (sizeof (struct expression)
+				     + EXP_ELEM_TO_BYTES (ps->expout_size))));
     }
 }
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/parser-defs.h ./gdb/parser-defs.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/parser-defs.h	2017-12-27 01:48:53.000000000 +0000
+++ ./gdb/parser-defs.h	2018-01-02 01:48:56.000000000 +0000
@@ -37,14 +37,27 @@ extern int parser_debug;
 
 struct parser_state
 {
-  /* The expression related to this parser state.  */
-
-  struct expression *expout;
+  /* Constructor.  INITIAL_SIZE is the initial size of the expout
+     array.  LANG is the language used to parse the expression.  And
+     GDBARCH is the gdbarch to use during parsing.  */
+
+  parser_state (size_t initial_size, const struct language_defn *lang,
+		struct gdbarch *gdbarch);
+
+  DISABLE_COPY_AND_ASSIGN (parser_state);
+
+  /* Resize the allocated expression to the correct size, and return
+     it as an expression_up -- passing ownership to the caller.  */
+  expression_up release ();
 
   /* The size of the expression above.  */
 
   size_t expout_size;
 
+  /* The expression related to this parser state.  */
+
+  expression_up expout;
+
   /* The number of elements already in the expression.  This is used
      to know where to put new elements.  */
 
@@ -156,23 +169,6 @@ struct type_stack
   int size;
 };
 
-/* Helper function to initialize the expout, expout_size, expout_ptr
-   trio inside PS before it is used to store expression elements created
-   during the parsing of an expression.  INITIAL_SIZE is the initial size of
-   the expout array.  LANG is the language used to parse the expression.
-   And GDBARCH is the gdbarch to use during parsing.  */
-
-extern void initialize_expout (struct parser_state *ps,
-			       size_t initial_size,
-			       const struct language_defn *lang,
-			       struct gdbarch *gdbarch);
-
-/* Helper function that reallocates the EXPOUT inside PS in order to
-   eliminate any unused space.  It is generally used when the expression
-   has just been parsed and created.  */
-
-extern void reallocate_expout (struct parser_state *ps);
-
 /* Reverse an expression from suffix form (in which it is constructed)
    to prefix form (in which we can conveniently print or execute it).
    Ordinarily this always returns -1.  However, if EXPOUT_LAST_STRUCT
@@ -265,7 +261,7 @@ extern struct type *follow_types (struct
 
 extern type_instance_flags follow_type_instance_flags ();
 
-extern void null_post_parser (struct expression **, int);
+extern void null_post_parser (expression_up *, int);
 
 extern bool parse_float (const char *p, int len,
 			 const struct type *type, gdb_byte *data);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/po/gdb.pot ./gdb/po/gdb.pot
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/po/gdb.pot	2017-12-27 01:51:53.000000000 +0000
+++ ./gdb/po/gdb.pot	2018-01-02 01:52:10.000000000 +0000
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-12-27 01:51+0000\n"
+"POT-Creation-Date: 2018-01-02 01:52+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"
@@ -119,7 +119,7 @@ msgstr ""
 msgid "Invalid register name `%s' on expression `%s'."
 msgstr ""
 
-#: aarch64-linux-tdep.c:972 amd64-linux-tdep.c:1493 arm-linux-tdep.c:1670
+#: aarch64-linux-tdep.c:972 amd64-linux-tdep.c:1498 arm-linux-tdep.c:1670
 #: i386-linux-tdep.c:469 s390-linux-tdep.c:2916
 #, possible-c-format
 msgid "Process record and replay target doesn't support syscall number %s\n"
@@ -351,7 +351,7 @@ msgstr ""
 msgid "Cannot unpack %d bits into buffer of %d bytes"
 msgstr ""
 
-#: ada-lang.c:2751 ada-lang.c:10039 valops.c:1000
+#: ada-lang.c:2751 ada-lang.c:10038 valops.c:1000
 msgid "Left operand of assignment is not a modifiable lvalue."
 msgstr ""
 
@@ -466,266 +466,266 @@ msgstr ""
 
 #. PNH: Do we ever get here?  See ada_search_struct_field,
 #. find_struct_field.
-#: ada-lang.c:7539
+#: ada-lang.c:7538
 msgid "Cannot assign this kind of variant record"
 msgstr ""
 
-#: ada-lang.c:7658 valops.c:2185
+#: ada-lang.c:7657 valops.c:2185
 #, possible-c-format
 msgid "There is no member named %s."
 msgstr ""
 
-#: ada-lang.c:7664
+#: ada-lang.c:7663
 msgid "Attempt to extract a component of a value that is not a record."
 msgstr ""
 
-#: ada-lang.c:7727
+#: ada-lang.c:7726
 #, possible-c-format
 msgid "Type %s is not a structure or union type"
 msgstr ""
 
-#: ada-lang.c:7728
+#: ada-lang.c:7727
 msgid "(null)"
 msgstr ""
 
-#: ada-lang.c:7811 inferior.c:506
+#: ada-lang.c:7810 inferior.c:506
 msgid "<null>"
 msgstr ""
 
-#: ada-lang.c:7813
+#: ada-lang.c:7812
 #, possible-c-format
 msgid "Type %s has no component named %s"
 msgstr ""
 
-#: ada-lang.c:8169
+#: ada-lang.c:8168
 msgid "unexpected null name on descriptive type"
 msgstr ""
 
-#: ada-lang.c:8560
+#: ada-lang.c:8559
 #, possible-c-format
 msgid "Invalid type size for `%s' detected: %d."
 msgstr ""
 
-#: ada-lang.c:8563
+#: ada-lang.c:8562
 #, possible-c-format
 msgid "Invalid type size for <unnamed> detected: %d."
 msgstr ""
 
-#: ada-lang.c:8574
+#: ada-lang.c:8573
 msgid "record type with dynamic size is larger than varsize-limit"
 msgstr ""
 
-#: ada-lang.c:9016
+#: ada-lang.c:9015
 msgid "array type with dynamic size is larger than varsize-limit"
 msgstr ""
 
-#: ada-lang.c:9120
+#: ada-lang.c:9119
 #, possible-c-format
 msgid "unable to read value of %s (%s)"
 msgstr ""
 
-#: ada-lang.c:9404
+#: ada-lang.c:9403
 msgid "'POS only defined on discrete types"
 msgstr ""
 
-#: ada-lang.c:9407
+#: ada-lang.c:9406
 msgid "enumeration value is invalid: can't find 'POS"
 msgstr ""
 
-#: ada-lang.c:9424
+#: ada-lang.c:9423
 msgid "'VAL only defined on discrete types"
 msgstr ""
 
-#: ada-lang.c:9426
+#: ada-lang.c:9425
 msgid "'VAL requires integral argument"
 msgstr ""
 
-#: ada-lang.c:9433
+#: ada-lang.c:9432
 msgid "argument to 'VAL out of range"
 msgstr ""
 
-#: ada-lang.c:9751 ada-lang.c:9789
+#: ada-lang.c:9750 ada-lang.c:9788
 msgid "unable to determine array bounds"
 msgstr ""
 
-#: ada-lang.c:9830
+#: ada-lang.c:9829
 msgid "cannot assign arrays of different length"
 msgstr ""
 
-#: ada-lang.c:9844
+#: ada-lang.c:9843
 msgid "Incompatible types in assignment"
 msgstr ""
 
-#: ada-lang.c:9878
+#: ada-lang.c:9877
 #, possible-c-format
 msgid "second operand of %s must not be zero."
 msgstr ""
 
-#: ada-lang.c:9929
+#: ada-lang.c:9928
 msgid "Attempt to compare array with non-array"
 msgstr ""
 
-#: ada-lang.c:10055
+#: ada-lang.c:10054
 msgid "Left-hand side must be array or record."
 msgstr ""
 
-#: ada-lang.c:10080
+#: ada-lang.c:10079
 msgid "Misplaced 'others' clause"
 msgstr ""
 
-#: ada-lang.c:10085
+#: ada-lang.c:10084
 msgid "Internal error: bad aggregate clause"
 msgstr ""
 
-#: ada-lang.c:10107
+#: ada-lang.c:10106
 msgid "Extra components in aggregate ignored."
 msgstr ""
 
-#: ada-lang.c:10174
+#: ada-lang.c:10173
 msgid "Invalid record component association."
 msgstr ""
 
-#: ada-lang.c:10180
+#: ada-lang.c:10179
 #, possible-c-format
 msgid "Unknown component name: %s."
 msgstr ""
 
-#: ada-lang.c:10185
+#: ada-lang.c:10184
 msgid "Index in component association out of bounds."
 msgstr ""
 
-#: ada-lang.c:10261
+#: ada-lang.c:10260
 msgid "Internal error: miscounted aggregate components."
 msgstr ""
 
-#: ada-lang.c:10681
+#: ada-lang.c:10680
 msgid "Fixed-point values must be assigned to fixed-point variables"
 msgstr ""
 
-#: ada-lang.c:10702
+#: ada-lang.c:10701
 msgid "Operands of fixed-point addition must have the same type"
 msgstr ""
 
-#: ada-lang.c:10728
+#: ada-lang.c:10727
 msgid "Operands of fixed-point subtraction must have the same type"
 msgstr ""
 
 #. Only encountered when an unresolved symbol occurs in a
 #. context other than a function call, in which case, it is
 #. invalid.
-#: ada-lang.c:10831 ada-lang.c:10921
+#: ada-lang.c:10830 ada-lang.c:10920
 #, possible-c-format
 msgid "Unexpected unresolved symbol, %s, during evaluation"
 msgstr ""
 
-#: ada-lang.c:10977
+#: ada-lang.c:10976
 #, possible-c-format
 msgid "cannot subscript or call something of type `%s'"
 msgstr ""
 
-#: ada-lang.c:11011
+#: ada-lang.c:11010
 msgid "cannot subscript or call a record"
 msgstr ""
 
-#: ada-lang.c:11013
+#: ada-lang.c:11012
 #, possible-c-format
 msgid "wrong number of subscripts; expecting %d"
 msgstr ""
 
-#: ada-lang.c:11025 ada-lang.c:11039
+#: ada-lang.c:11024 ada-lang.c:11038
 msgid "element type of array unknown"
 msgstr ""
 
-#: ada-lang.c:11048
+#: ada-lang.c:11047
 msgid "Attempt to index or call something other than an array or function"
 msgstr ""
 
-#: ada-lang.c:11078
+#: ada-lang.c:11077
 msgid "cannot slice a packed array"
 msgstr ""
 
-#: ada-lang.c:11106 valops.c:3788
+#: ada-lang.c:11105 valops.c:3788
 msgid "cannot take slice of non-array"
 msgstr ""
 
-#: ada-lang.c:11145
+#: ada-lang.c:11144
 msgid "Membership test incompletely implemented; always returns true"
 msgstr ""
 
-#: ada-lang.c:11234
+#: ada-lang.c:11233
 #, possible-c-format
 msgid "Invalid operand to '%s"
 msgstr ""
 
 #. Should never happen.
-#: ada-lang.c:11264 ada-lang.c:11289 ada-lang.c:11324
+#: ada-lang.c:11263 ada-lang.c:11288 ada-lang.c:11323
 msgid "unexpected attribute encountered"
 msgstr ""
 
-#: ada-lang.c:11297
+#: ada-lang.c:11296
 msgid "the 'length attribute applies only to array types"
 msgstr ""
 
-#: ada-lang.c:11301
+#: ada-lang.c:11300
 msgid "unimplemented type attribute"
 msgstr ""
 
-#: ada-lang.c:11374
+#: ada-lang.c:11373
 msgid "'modulus must be applied to modular type"
 msgstr ""
 
-#: ada-lang.c:11471
+#: ada-lang.c:11470
 msgid "Attempt to dereference null array pointer."
 msgstr ""
 
-#: ada-lang.c:11515 eval.c:2637 eval.c:3114 valops.c:1589
+#: ada-lang.c:11514 eval.c:2637 eval.c:3114 valops.c:1589
 msgid "Attempt to take contents of a non-pointer value."
 msgstr ""
 
-#: ada-lang.c:11594 eval.c:2836
+#: ada-lang.c:11593 eval.c:2836
 msgid "Attempt to use a type name as an expression"
 msgstr ""
 
-#: ada-lang.c:11606
+#: ada-lang.c:11605
 #, possible-c-format
 msgid ""
 "Undefined name, ambiguous name, or renaming used in component association: %"
 "s."
 msgstr ""
 
-#: ada-lang.c:11609
+#: ada-lang.c:11608
 msgid "Aggregates only allowed on the right of an assignment"
 msgstr ""
 
-#: ada-lang.c:11612
+#: ada-lang.c:11611
 msgid "aggregate apparently mangled"
 msgstr ""
 
-#: ada-lang.c:11894
+#: ada-lang.c:11893
 msgid "Unknown lower bound, using 1."
 msgstr ""
 
-#: ada-lang.c:11910
+#: ada-lang.c:11909
 #, possible-c-format
 msgid "Unknown upper bound, using %ld."
 msgstr ""
 
-#: ada-lang.c:12095
+#: ada-lang.c:12094
 msgid ""
 "Your Ada runtime appears to be missing some debugging information.\n"
 "Cannot insert Ada exception catchpoint in this configuration."
 msgstr ""
 
-#: ada-lang.c:12105
+#: ada-lang.c:12104
 #, possible-c-format
 msgid "Symbol \"%s\" is not a function (class = %d)"
 msgstr ""
 
-#: ada-lang.c:12147
+#: ada-lang.c:12146
 msgid "Unable to insert catchpoint.  Is this an Ada main program?"
 msgstr ""
 
-#: ada-lang.c:12155
+#: ada-lang.c:12154
 msgid "Unable to insert catchpoint. Try to start the program first."
 msgstr ""
 
@@ -735,115 +735,115 @@ msgstr ""
 #. configurable run time mode, or that a-except as been optimized
 #. out by the linker...  In any case, at this point it is not worth
 #. supporting this feature.
-#: ada-lang.c:12164
+#: ada-lang.c:12163
 msgid "Cannot insert Ada exception catchpoints in this configuration."
 msgstr ""
 
-#: ada-lang.c:12329 ada-lang.c:12767 ada-lang.c:12811 ada-lang.c:12842
+#: ada-lang.c:12328 ada-lang.c:12766 ada-lang.c:12810 ada-lang.c:12841
 msgid "unexpected catchpoint type"
 msgstr ""
 
-#: ada-lang.c:12421
+#: ada-lang.c:12420
 #, possible-c-format
 msgid "failed to get exception name: %s"
 msgstr ""
 
-#: ada-lang.c:12532
+#: ada-lang.c:12531
 #, possible-c-format
 msgid "failed to reevaluate internal exception condition for catchpoint %d: %s"
 msgstr ""
 
-#: ada-lang.c:12614
+#: ada-lang.c:12613
 msgid "Error in testing exception condition:\n"
 msgstr ""
 
-#: ada-lang.c:12748 ada-lang.c:12792
+#: ada-lang.c:12747 ada-lang.c:12791
 #, possible-c-format
 msgid "`%s' Ada exception"
 msgstr ""
 
-#: ada-lang.c:12782 break-catch-throw.c:325
+#: ada-lang.c:12781 break-catch-throw.c:325
 msgid "Temporary catchpoint "
 msgstr ""
 
-#: ada-lang.c:12783 break-catch-throw.c:326
+#: ada-lang.c:12782 break-catch-throw.c:326
 msgid "Catchpoint "
 msgstr ""
 
-#: ada-lang.c:12799
+#: ada-lang.c:12798
 msgid "all Ada exceptions"
 msgstr ""
 
-#: ada-lang.c:12803
+#: ada-lang.c:12802
 msgid "unhandled Ada exceptions"
 msgstr ""
 
-#: ada-lang.c:12807
+#: ada-lang.c:12806
 msgid "failed Ada assertions"
 msgstr ""
 
-#: ada-lang.c:13061
+#: ada-lang.c:13060
 msgid "Condition missing after `if' keyword"
 msgstr ""
 
-#: ada-lang.c:13072 breakpoint.c:886 breakpoint.c:900
+#: ada-lang.c:13071 breakpoint.c:886 breakpoint.c:900
 msgid "Junk at end of expression"
 msgstr ""
 
-#: ada-lang.c:13120 ada-lang.c:13143
+#: ada-lang.c:13119 ada-lang.c:13142
 #, possible-c-format
 msgid "unexpected catchpoint kind (%d)"
 msgstr ""
 
-#: ada-lang.c:13321
+#: ada-lang.c:13320
 msgid "condition missing after `if' keyword"
 msgstr ""
 
-#: ada-lang.c:13328 break-catch-throw.c:447 breakpoint.c:9277
+#: ada-lang.c:13327 break-catch-throw.c:447 breakpoint.c:9277
 #: breakpoint.c:11205 breakpoint.c:11336 breakpoint.c:11380 breakpoint.c:14991
 msgid "Junk at end of arguments."
 msgstr ""
 
-#: ada-lang.c:13644
+#: ada-lang.c:13643
 msgid "invalid regular expression"
 msgstr ""
 
-#: ada-lang.c:13659
+#: ada-lang.c:13658
 #, possible-c-format
 msgid "All Ada exceptions matching regular expression \"%s\":\n"
 msgstr ""
 
-#: ada-lang.c:13661
+#: ada-lang.c:13660
 msgid "All defined Ada exceptions:\n"
 msgstr ""
 
 #. XXX: gdb_sprint_host_address, type_sprint
-#: ada-lang.c:13841
+#: ada-lang.c:13840
 msgid "Type @"
 msgstr ""
 
-#: ada-lang.c:14359
+#: ada-lang.c:14358
 msgid "\"set ada\" must be followed by the name of a setting.\n"
 msgstr ""
 
-#: ada-lang.c:14432
+#: ada-lang.c:14431
 msgid "Prefix command for changing Ada-specfic settings"
 msgstr ""
 
-#: ada-lang.c:14436
+#: ada-lang.c:14435
 msgid "Generic command for showing Ada-specific settings."
 msgstr ""
 
-#: ada-lang.c:14440
+#: ada-lang.c:14439
 msgid "Enable or disable an optimization trusting PAD types over XVS types"
 msgstr ""
 
-#: ada-lang.c:14441
+#: ada-lang.c:14440
 msgid ""
 "Show whether an optimization trusting PAD types over XVS types is activated"
 msgstr ""
 
-#: ada-lang.c:14443
+#: ada-lang.c:14442
 msgid ""
 "This is related to the encoding used by the GNAT compiler.  The debugger\n"
 "should normally trust the contents of PAD types, but certain older versions\n"
@@ -855,54 +855,54 @@ msgid ""
 "this option to \"off\" unless necessary."
 msgstr ""
 
-#: ada-lang.c:14454
+#: ada-lang.c:14453
 msgid ""
 "Enable or disable the output of formal and return types for functions in the "
 "overloads selection menu"
 msgstr ""
 
-#: ada-lang.c:14456
+#: ada-lang.c:14455
 msgid ""
 "Show whether the output of formal and return types for functions in the "
 "overloads selection menu is activated"
 msgstr ""
 
-#: ada-lang.c:14461
+#: ada-lang.c:14460
 msgid ""
 "Catch Ada exceptions, when raised.\n"
 "With an argument, catch only exceptions with the given name."
 msgstr ""
 
-#: ada-lang.c:14468
+#: ada-lang.c:14467
 msgid ""
 "Catch failed Ada assertions, when raised.\n"
 "With an argument, catch only exceptions with the given name."
 msgstr ""
 
-#: ada-lang.c:14479
+#: ada-lang.c:14478
 msgid ""
 "List all Ada exception names.\n"
 "If a regular expression is passed as an argument, only those matching\n"
 "the regular expression are listed."
 msgstr ""
 
-#: ada-lang.c:14485
+#: ada-lang.c:14484
 msgid "Set Ada maintenance-related variables."
 msgstr ""
 
-#: ada-lang.c:14490
+#: ada-lang.c:14489
 msgid "Show Ada maintenance-related variables"
 msgstr ""
 
-#: ada-lang.c:14497
+#: ada-lang.c:14496
 msgid "Set whether descriptive types generated by GNAT should be ignored."
 msgstr ""
 
-#: ada-lang.c:14498
+#: ada-lang.c:14497
 msgid "Show whether descriptive types generated by GNAT should be ignored."
 msgstr ""
 
-#: ada-lang.c:14499
+#: ada-lang.c:14498
 msgid ""
 "When enabled, the debugger will stop using the DW_AT_GNAT_descriptive_type\n"
 "DWARF attribute."
@@ -6249,7 +6249,7 @@ msgstr ""
 #: complaints.c:297 hppa-tdep.c:3145 hppa-tdep.c:3158 infcall.c:966
 #: infcmd.c:1655 language.c:468 mi/mi-out.c:213 mi/mi-out.c:233
 #: mips-tdep.c:295 mips-tdep.c:499 mips-tdep.c:2209 mips-tdep.c:5730
-#: mips-tdep.c:6897 mn10300-tdep.c:127 reggroups.c:248 remote.c:1548
+#: mips-tdep.c:6897 mn10300-tdep.c:127 reggroups.c:272 remote.c:1548
 #: remote.c:8241 remote.c:9528 utils.c:460 utils.c:488
 msgid "bad switch"
 msgstr ""
@@ -9043,7 +9043,7 @@ msgstr ""
 msgid "skipping section '%s' which does not contain valid DOF data."
 msgstr ""
 
-#: dtrace-probe.c:670 stap-probe.c:188
+#: dtrace-probe.c:663 stap-probe.c:188
 #, possible-c-format
 msgid ""
 "Probe '%s' has %d arguments, but GDB is requesting\n"
@@ -9051,25 +9051,25 @@ msgid ""
 "report this bug."
 msgstr ""
 
-#: dtrace-probe.c:790 dtrace-probe.c:814
+#: dtrace-probe.c:783 dtrace-probe.c:807
 msgid "No inferior running"
 msgstr ""
 
-#: dtrace-probe.c:823
+#: dtrace-probe.c:816
 #, possible-c-format
 msgid "Probe %s:%s cannot be disabled: no enablers."
 msgstr ""
 
-#: dtrace-probe.c:869
+#: dtrace-probe.c:862
 #, possible-c-format
 msgid "could not obtain the contents ofsection '%s' in objfile `%s'."
 msgstr ""
 
-#: dtrace-probe.c:896
+#: dtrace-probe.c:889
 msgid "Enabled"
 msgstr ""
 
-#: dtrace-probe.c:915
+#: dtrace-probe.c:908
 msgid ""
 "Show information about DTrace static probes.\n"
 "Usage: info probes dtrace [PROVIDER [NAME [OBJECT]]]\n"
@@ -10739,227 +10739,227 @@ msgstr ""
 msgid "unrecognized version `%d' in .debug_macro section"
 msgstr ""
 
-#: dwarf2read.c:24236
+#: dwarf2read.c:24238
 #, possible-c-format
 msgid "debug info with no main source gives macro %s on line %d: %s"
 msgstr ""
 
-#: dwarf2read.c:24238 dwarf2read.c:24247
+#: dwarf2read.c:24240 dwarf2read.c:24249
 msgid "definition"
 msgstr ""
 
-#: dwarf2read.c:24238 dwarf2read.c:24247
+#: dwarf2read.c:24240 dwarf2read.c:24249
 msgid "undefinition"
 msgstr ""
 
-#: dwarf2read.c:24245
+#: dwarf2read.c:24247
 #, possible-c-format
 msgid "debug info gives %s macro %s with %s line %d: %s"
 msgstr ""
 
-#: dwarf2read.c:24246 dwarf2read.c:24277
+#: dwarf2read.c:24248 dwarf2read.c:24279
 msgid "command-line"
 msgstr ""
 
-#: dwarf2read.c:24246
+#: dwarf2read.c:24248
 msgid "in-file"
 msgstr ""
 
-#: dwarf2read.c:24248 dwarf2read.c:24278
+#: dwarf2read.c:24250 dwarf2read.c:24280
 msgid "zero"
 msgstr ""
 
-#: dwarf2read.c:24248 dwarf2read.c:24278
+#: dwarf2read.c:24250 dwarf2read.c:24280
 msgid "non-zero"
 msgstr ""
 
-#: dwarf2read.c:24275
+#: dwarf2read.c:24277
 #, possible-c-format
 msgid "debug info gives source %d included from %s at %s line %d"
 msgstr ""
 
-#: dwarf2read.c:24277 skip.c:331
+#: dwarf2read.c:24279 skip.c:331
 msgid "file"
 msgstr ""
 
-#: dwarf2read.c:24294
+#: dwarf2read.c:24296
 msgid "macro debug info has an unmatched `close_file' directive"
 msgstr ""
 
-#: dwarf2read.c:24322
+#: dwarf2read.c:24324
 msgid "no terminating 0-type entry for macros in `.debug_macinfo' section"
 msgstr ""
 
-#: dwarf2read.c:24364
+#: dwarf2read.c:24366
 msgid "recursive DW_MACRO_import in .debug_macro section"
 msgstr ""
 
-#: dwarf2read.c:24455
+#: dwarf2read.c:24458
 #, possible-c-format
 msgid "missing %s section"
 msgstr ""
 
-#: dwarf2read.c:24743
+#: dwarf2read.c:24749
 msgid "Location list used without specifying the CU base address."
 msgstr ""
 
-#: dwarf2read.c:24918
+#: dwarf2read.c:24924
 #, possible-c-format
 msgid ""
 "Dwarf Error: could not find partial DIE containing offset 0x%x [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:24931
+#: dwarf2read.c:24937
 #, possible-c-format
 msgid "invalid dwarf2 offset %u"
 msgstr ""
 
-#: dwarf2read.c:25195
+#: dwarf2read.c:25201
 #, possible-c-format
 msgid "DW_AT_allocated has the wrong form (%s) at DIE 0x%x"
 msgstr ""
 
-#: dwarf2read.c:25210
+#: dwarf2read.c:25216
 #, possible-c-format
 msgid "DW_AT_associated has the wrong form (%s) at DIE 0x%x"
 msgstr ""
 
-#: dwarf2read.c:25239
+#: dwarf2read.c:25245
 #, possible-c-format
 msgid "A problem internal to GDB: DIE 0x%x has type already set"
 msgstr ""
 
-#: dwarf2read.c:25434
+#: dwarf2read.c:25440
 msgid "couldn't data write to file"
 msgstr ""
 
-#: dwarf2read.c:25906 dwarf2read.c:26538
+#: dwarf2read.c:25912 dwarf2read.c:26544
 msgid "Ada is not currently supported by the index"
 msgstr ""
 
-#: dwarf2read.c:26288
+#: dwarf2read.c:26294
 #, possible-c-format
 msgid "Duplicate string \"%s\" in .debug_str section [in module %s]"
 msgstr ""
 
-#: dwarf2read.c:26890
+#: dwarf2read.c:26896
 #, possible-c-format
 msgid "Can't get `%s' size"
 msgstr ""
 
-#: dwarf2read.c:26901
+#: dwarf2read.c:26907
 msgid "Cannot use an index to create the index"
 msgstr ""
 
-#: dwarf2read.c:26904
+#: dwarf2read.c:26910
 msgid "Cannot make an index when the file has multiple .debug_types sections"
 msgstr ""
 
-#: dwarf2read.c:26920 dwarf2read.c:26937
+#: dwarf2read.c:26926 dwarf2read.c:26943
 #, possible-c-format
 msgid "Can't open `%s' for writing"
 msgstr ""
 
-#: dwarf2read.c:26984
+#: dwarf2read.c:26990
 msgid "usage: save gdb-index [-dwarf-5] DIRECTORY"
 msgstr ""
 
-#: dwarf2read.c:27007
+#: dwarf2read.c:27013
 #, possible-c-format
 msgid "Error while writing index for `%s': "
 msgstr ""
 
-#: dwarf2read.c:27024
+#: dwarf2read.c:27030
 #, possible-c-format
 msgid "Whether to always disassemble DWARF expressions is %s.\n"
 msgstr ""
 
-#: dwarf2read.c:27034
+#: dwarf2read.c:27040
 #, possible-c-format
 msgid "Whether to check \"physname\" is %s.\n"
 msgstr ""
 
-#: dwarf2read.c:27046
+#: dwarf2read.c:27052
 msgid ""
 "Set DWARF specific variables.\n"
 "Configure DWARF variables such as the cache size"
 msgstr ""
 
 #. allow-unknown
-#: dwarf2read.c:27052
+#: dwarf2read.c:27058
 msgid ""
 "Show DWARF specific variables\n"
 "Show DWARF variables such as the cache size"
 msgstr ""
 
-#: dwarf2read.c:27059
+#: dwarf2read.c:27065
 msgid "Set the upper bound on the age of cached DWARF compilation units."
 msgstr ""
 
-#: dwarf2read.c:27060
+#: dwarf2read.c:27066
 msgid "Show the upper bound on the age of cached DWARF compilation units."
 msgstr ""
 
-#: dwarf2read.c:27061
+#: dwarf2read.c:27067
 msgid ""
 "A higher limit means that cached compilation units will be stored\n"
 "in memory longer, and more total memory will be used.  Zero disables\n"
 "caching, which can slow down startup."
 msgstr ""
 
-#: dwarf2read.c:27071
+#: dwarf2read.c:27077
 msgid "Set whether `info address' always disassembles DWARF expressions."
 msgstr ""
 
-#: dwarf2read.c:27072
+#: dwarf2read.c:27078
 msgid "Show whether `info address' always disassembles DWARF expressions."
 msgstr ""
 
-#: dwarf2read.c:27073
+#: dwarf2read.c:27079
 msgid ""
 "When enabled, DWARF expressions are always printed in an assembly-like\n"
 "syntax.  When disabled, expressions will be printed in a more\n"
 "conversational style, when possible."
 msgstr ""
 
-#: dwarf2read.c:27082
+#: dwarf2read.c:27088
 msgid "Set debugging of the DWARF reader."
 msgstr ""
 
-#: dwarf2read.c:27083
+#: dwarf2read.c:27089
 msgid "Show debugging of the DWARF reader."
 msgstr ""
 
-#: dwarf2read.c:27084
+#: dwarf2read.c:27090
 msgid ""
 "When enabled (non-zero), debugging messages are printed during DWARF\n"
 "reading and symtab expansion.  A value of 1 (one) provides basic\n"
 "information.  A value greater than 1 provides more verbose information."
 msgstr ""
 
-#: dwarf2read.c:27092
+#: dwarf2read.c:27098
 msgid "Set debugging of the DWARF DIE reader."
 msgstr ""
 
-#: dwarf2read.c:27093
+#: dwarf2read.c:27099
 msgid "Show debugging of the DWARF DIE reader."
 msgstr ""
 
-#: dwarf2read.c:27094
+#: dwarf2read.c:27100
 msgid ""
 "When enabled (non-zero), DIEs are dumped after they are read in.\n"
 "The value is the maximum depth to print."
 msgstr ""
 
-#: dwarf2read.c:27101
+#: dwarf2read.c:27107
 msgid "Set debugging of the dwarf line reader."
 msgstr ""
 
-#: dwarf2read.c:27102
+#: dwarf2read.c:27108
 msgid "Show debugging of the dwarf line reader."
 msgstr ""
 
-#: dwarf2read.c:27103
+#: dwarf2read.c:27109
 msgid ""
 "When enabled (non-zero), line number entries are dumped as they are read "
 "in.\n"
@@ -10967,29 +10967,29 @@ msgid ""
 "A value greater than 1 provides more verbose information."
 msgstr ""
 
-#: dwarf2read.c:27111
+#: dwarf2read.c:27117
 msgid "Set cross-checking of \"physname\" code against demangler."
 msgstr ""
 
-#: dwarf2read.c:27112
+#: dwarf2read.c:27118
 msgid "Show cross-checking of \"physname\" code against demangler."
 msgstr ""
 
-#: dwarf2read.c:27113
+#: dwarf2read.c:27119
 msgid ""
 "When enabled, GDB's internal \"physname\" code is checked against\n"
 "the demangler."
 msgstr ""
 
-#: dwarf2read.c:27120
+#: dwarf2read.c:27126
 msgid "Set whether to use deprecated gdb_index sections."
 msgstr ""
 
-#: dwarf2read.c:27121
+#: dwarf2read.c:27127
 msgid "Show whether to use deprecated gdb_index sections."
 msgstr ""
 
-#: dwarf2read.c:27122
+#: dwarf2read.c:27128
 msgid ""
 "When enabled, deprecated .gdb_index sections are used anyway.\n"
 "Normally they are ignored either because of a missing feature or\n"
@@ -10997,7 +10997,7 @@ msgid ""
 "Warning: This option must be enabled before gdb reads the file."
 msgstr ""
 
-#: dwarf2read.c:27132
+#: dwarf2read.c:27138
 msgid ""
 "Save a gdb-index file.\n"
 "Usage: save gdb-index [-dwarf-5] DIRECTORY\n"
@@ -14897,59 +14897,63 @@ msgstr ""
 #: infcmd.c:3461
 msgid ""
 "List of integer registers and their contents, for selected stack frame.\n"
-"Register name as argument means describe only that register."
+"One or more register names as argument means describe the given registers.\n"
+"One or more register group names as argument means describe the registers\n"
+"in the named register groups."
 msgstr ""
 
-#: infcmd.c:3467
+#: infcmd.c:3469
 msgid ""
 "List of all registers and their contents, for selected stack frame.\n"
-"Register name as argument means describe only that register."
+"One or more register names as argument means describe the given registers.\n"
+"One or more register group names as argument means describe the registers\n"
+"in the named register groups."
 msgstr ""
 
-#: infcmd.c:3473
+#: infcmd.c:3477
 msgid "Execution status of the program."
 msgstr ""
 
-#: infcmd.c:3476
+#: infcmd.c:3480
 msgid "Print the status of the floating point unit\n"
 msgstr ""
 
-#: infcmd.c:3479
+#: infcmd.c:3483
 msgid "Print the status of the vector unit\n"
 msgstr ""
 
-#: infcmd.c:3482
+#: infcmd.c:3486
 msgid ""
 "Show /proc process information about any running process.\n"
 "Specify any process id, or use the program being debugged by default."
 msgstr ""
 
 #. allow-unknown
-#: infcmd.c:3488
+#: infcmd.c:3492
 msgid "List of mapped memory regions."
 msgstr ""
 
-#: infcmd.c:3492
+#: infcmd.c:3496
 msgid "List process info from /proc/PID/stat."
 msgstr ""
 
-#: infcmd.c:3496
+#: infcmd.c:3500
 msgid "List process info from /proc/PID/status."
 msgstr ""
 
-#: infcmd.c:3500
+#: infcmd.c:3504
 msgid "List current working directory of the process."
 msgstr ""
 
-#: infcmd.c:3504
+#: infcmd.c:3508
 msgid "List command line arguments of the process."
 msgstr ""
 
-#: infcmd.c:3508
+#: infcmd.c:3512
 msgid "List absolute filename for executable of the process."
 msgstr ""
 
-#: infcmd.c:3512
+#: infcmd.c:3516
 msgid "List all available /proc info."
 msgstr ""
 
@@ -16798,82 +16802,82 @@ msgid ""
 "data are likely unreliable.  Connect to gdbserver inside the container."
 msgstr ""
 
-#: linux-thread-db.c:1187
+#: linux-thread-db.c:1183
 #, possible-c-format
 msgid "find_new_threads_callback: cannot get thread info: %s"
 msgstr ""
 
-#: linux-thread-db.c:1279
+#: linux-thread-db.c:1275
 #, possible-c-format
 msgid "Found %d new threads in iteration %d.\n"
 msgstr ""
 
-#: linux-thread-db.c:1322
+#: linux-thread-db.c:1318
 #, possible-c-format
 msgid "Cannot find new threads: %s"
 msgstr ""
 
-#: linux-thread-db.c:1434
+#: linux-thread-db.c:1430
 #, possible-c-format
 msgid "Thread handle size mismatch: %d vs %zu (from libthread_db)"
 msgstr ""
 
-#: linux-thread-db.c:1482
+#: linux-thread-db.c:1478
 msgid "No TLS library support"
 msgstr ""
 
-#: linux-thread-db.c:1497
+#: linux-thread-db.c:1493
 msgid "TLS load module not found"
 msgstr ""
 
-#: linux-thread-db.c:1516
+#: linux-thread-db.c:1512
 msgid "TLS not allocated yet"
 msgstr ""
 
-#: linux-thread-db.c:1600
+#: linux-thread-db.c:1596
 msgid "'info auto-load libthread-db' does not accept any parameters"
 msgstr ""
 
-#: linux-thread-db.c:1708
+#: linux-thread-db.c:1704
 msgid "No auto-loaded libthread-db.\n"
 msgstr ""
 
-#: linux-thread-db.c:1750
+#: linux-thread-db.c:1746
 msgid "Set search path for libthread_db."
 msgstr ""
 
-#: linux-thread-db.c:1751
+#: linux-thread-db.c:1747
 msgid "Show the current search path or libthread_db."
 msgstr ""
 
-#: linux-thread-db.c:1752
+#: linux-thread-db.c:1748
 msgid ""
 "This path is used to search for libthread_db to be loaded into gdb itself.\n"
 "Its value is a colon (':') separate list of directories to search.\n"
 "Setting the search path to an empty list resets it to its default value."
 msgstr ""
 
-#: linux-thread-db.c:1762
+#: linux-thread-db.c:1758
 msgid "Set libthread-db debugging."
 msgstr ""
 
-#: linux-thread-db.c:1763
+#: linux-thread-db.c:1759
 msgid "Show libthread-db debugging."
 msgstr ""
 
-#: linux-thread-db.c:1764
+#: linux-thread-db.c:1760
 msgid "When non-zero, libthread-db debugging is enabled."
 msgstr ""
 
-#: linux-thread-db.c:1771
+#: linux-thread-db.c:1767
 msgid "Enable or disable auto-loading of inferior specific libthread_db."
 msgstr ""
 
-#: linux-thread-db.c:1772
+#: linux-thread-db.c:1768
 msgid "Show whether auto-loading inferior specific libthread_db is enabled."
 msgstr ""
 
-#: linux-thread-db.c:1773
+#: linux-thread-db.c:1769
 msgid ""
 "If enabled, libthread_db will be searched in 'set libthread-db-search-path'\n"
 "locations to load libthread_db compatible with the inferior.\n"
@@ -16881,7 +16885,7 @@ msgid ""
 "This options has security implications for untrusted inferiors."
 msgstr ""
 
-#: linux-thread-db.c:1783
+#: linux-thread-db.c:1779
 msgid ""
 "Print the list of loaded inferior specific libthread_db.\n"
 "Usage: info auto-load libthread-db"
@@ -20076,40 +20080,40 @@ msgstr ""
 msgid "Parser debugging is %s.\n"
 msgstr ""
 
-#: parse.c:848
+#: parse.c:846
 msgid "?error in operator_length_standard"
 msgstr ""
 
-#: parse.c:1135
+#: parse.c:1132
 msgid "expression to compute"
 msgstr ""
 
-#: parse.c:1245
+#: parse.c:1241
 msgid "Junk after end of expression."
 msgstr ""
 
-#: parse.c:1885
+#: parse.c:1882
 msgid "Set expression debugging."
 msgstr ""
 
-#: parse.c:1886
+#: parse.c:1883
 msgid "Show expression debugging."
 msgstr ""
 
-#: parse.c:1887
+#: parse.c:1884
 msgid ""
 "When non-zero, the internal representation of expressions will be printed."
 msgstr ""
 
-#: parse.c:1894
+#: parse.c:1891
 msgid "Set parser debugging."
 msgstr ""
 
-#: parse.c:1895
+#: parse.c:1892
 msgid "Show parser debugging."
 msgstr ""
 
-#: parse.c:1896
+#: parse.c:1893
 msgid "When non-zero, expression parser tracing will be enabled."
 msgstr ""
 
@@ -22698,11 +22702,11 @@ msgid ""
 "Takes an optional file parameter."
 msgstr ""
 
-#: reggroups.c:276
+#: reggroups.c:300
 msgid "maintenance print reggroups"
 msgstr ""
 
-#: reggroups.c:313
+#: reggroups.c:337
 msgid ""
 "Print the internal register group names.\n"
 "Takes an optional file parameter."
@@ -26622,66 +26626,66 @@ msgstr ""
 
 #. We have an error, because we don't expect anything
 #. except 1, 2, 4 and 8.
-#: stap-probe.c:1247
+#: stap-probe.c:1233
 #, possible-c-format
 msgid "unrecognized bitness %s%c' for probe `%s'"
 msgstr ""
 
-#: stap-probe.c:1317
+#: stap-probe.c:1303
 msgid ""
 "The SystemTap SDT probe support is not fully implemented on this target;\n"
 "you will not be able to inspect the arguments of the probes.\n"
 "Please report a bug against GDB requesting a port to this target."
 msgstr ""
 
-#: stap-probe.c:1435
+#: stap-probe.c:1421
 msgid "Could not read the value of a SystemTap semaphore."
 msgstr ""
 
-#: stap-probe.c:1452
+#: stap-probe.c:1438
 msgid "Could not write the value of a SystemTap semaphore."
 msgstr ""
 
-#: stap-probe.c:1529
+#: stap-probe.c:1515
 #, possible-c-format
 msgid "corrupt probe name when reading `%s'"
 msgstr ""
 
-#: stap-probe.c:1566
+#: stap-probe.c:1552
 #, possible-c-format
 msgid "corrupt probe argument when reading `%s'"
 msgstr ""
 
-#: stap-probe.c:1607
+#: stap-probe.c:1593
 #, possible-c-format
 msgid "could not obtain base address for SystemTap section on objfile `%s'."
 msgstr ""
 
 #. If we are here, it means we have failed to parse every known
 #. probe.
-#: stap-probe.c:1677
+#: stap-probe.c:1663
 msgid "could not parse SystemTap probe(s) from inferior"
 msgstr ""
 
-#: stap-probe.c:1699
+#: stap-probe.c:1685
 msgid "Semaphore"
 msgstr ""
 
-#: stap-probe.c:1719
+#: stap-probe.c:1705
 msgid "Set SystemTap expression debugging."
 msgstr ""
 
-#: stap-probe.c:1720
+#: stap-probe.c:1706
 msgid "Show SystemTap expression debugging."
 msgstr ""
 
-#: stap-probe.c:1721
+#: stap-probe.c:1707
 msgid ""
 "When non-zero, the internal representation of SystemTap expressions will be "
 "printed."
 msgstr ""
 
-#: stap-probe.c:1728
+#: stap-probe.c:1714
 msgid ""
 "Show information about SystemTap static probes.\n"
 "Usage: info probes stap [PROVIDER [NAME [OBJECT]]]\n"
@@ -27939,108 +27943,108 @@ msgid ""
 "access is on."
 msgstr ""
 
-#: target-descriptions.c:818
+#: target-descriptions.c:817
 msgid "Architecture rejected target-supplied description"
 msgstr ""
 
-#: target-descriptions.c:827
+#: target-descriptions.c:826
 msgid "Target-supplied registers are not supported by the current architecture"
 msgstr ""
 
-#: target-descriptions.c:854
+#: target-descriptions.c:853
 msgid "Could not remove target-supplied description"
 msgstr ""
 
-#: target-descriptions.c:1233 target-descriptions.c:1255
+#: target-descriptions.c:1232 target-descriptions.c:1254
 #, possible-c-format
 msgid "Register \"%s\" has an unsupported size (%d bits)"
 msgstr ""
 
-#: target-descriptions.c:1661
+#: target-descriptions.c:1645
 #, possible-c-format
 msgid "Attempted to add duplicate compatible architecture \"%s\""
 msgstr ""
 
-#: target-descriptions.c:1676
+#: target-descriptions.c:1660
 #, possible-c-format
 msgid "Attempted to add duplicate property \"%s\""
 msgstr ""
 
-#: target-descriptions.c:1754
+#: target-descriptions.c:1738
 #, possible-c-format
 msgid "The target description will be read from \"%s\".\n"
 msgstr ""
 
-#: target-descriptions.c:1757
+#: target-descriptions.c:1741
 msgid "The target description will be read from the target.\n"
 msgstr ""
 
-#: target-descriptions.c:1868 target-descriptions.c:1989
+#: target-descriptions.c:1852 target-descriptions.c:1973
 #, possible-c-format
 msgid "C output is not supported type \"%s\"."
 msgstr ""
 
-#: target-descriptions.c:2131
+#: target-descriptions.c:2115
 #, possible-c-format
 msgid "\"regnum\" attribute %ld is not the largest number (%d)."
 msgstr ""
 
-#: target-descriptions.c:2180
+#: target-descriptions.c:2164
 msgid "There is no target description to print."
 msgstr ""
 
-#: target-descriptions.c:2183
+#: target-descriptions.c:2167
 msgid "The current target description did not come from an XML file."
 msgstr ""
 
-#: target-descriptions.c:2237
+#: target-descriptions.c:2221
 msgid "Missing dir name"
 msgstr ""
 
-#: target-descriptions.c:2252
+#: target-descriptions.c:2236
 #, possible-c-format
 msgid "Tested %lu XML files, %d failed\n"
 msgstr ""
 
-#: target-descriptions.c:2261
+#: target-descriptions.c:2245
 msgid "Set target description specific variables."
 msgstr ""
 
 #. allow-unknown
-#: target-descriptions.c:2265
+#: target-descriptions.c:2249
 msgid "Show target description specific variables."
 msgstr ""
 
 #. allow-unknown
-#: target-descriptions.c:2269
+#: target-descriptions.c:2253
 msgid "Unset target description specific variables."
 msgstr ""
 
-#: target-descriptions.c:2276
+#: target-descriptions.c:2260
 msgid "Set the file to read for an XML target description"
 msgstr ""
 
-#: target-descriptions.c:2277
+#: target-descriptions.c:2261
 msgid "Show the file to read for an XML target description"
 msgstr ""
 
-#: target-descriptions.c:2278
+#: target-descriptions.c:2262
 msgid ""
 "When set, GDB will read the target description from a local\n"
 "file instead of querying the remote target."
 msgstr ""
 
-#: target-descriptions.c:2285
+#: target-descriptions.c:2269
 msgid ""
 "Unset the file to read for an XML target description.  When unset,\n"
 "GDB will read the description from the target."
 msgstr ""
 
-#: target-descriptions.c:2290
+#: target-descriptions.c:2274
 msgid "Print the current target description as a C source file."
 msgstr ""
 
-#: target-descriptions.c:2297
+#: target-descriptions.c:2281
 msgid ""
 "Check the target descriptions created in GDB equal the descriptions\n"
 "created from XML files in the directory.\n"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/psymtab.c ./gdb/psymtab.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/psymtab.c	2017-12-27 01:48:53.000000000 +0000
+++ ./gdb/psymtab.c	2018-01-02 01:48:56.000000000 +0000
@@ -1337,21 +1337,21 @@ recursively_search_psymtabs
     }
 
   partial_symbol **gbound
-    = &objfile->global_psymbols[ps->globals_offset + ps->n_global_syms];
+    = objfile->global_psymbols.data () + ps->globals_offset + ps->n_global_syms;
   partial_symbol **sbound
-    = &objfile->static_psymbols[ps->statics_offset + ps->n_static_syms];
+    = objfile->static_psymbols.data () + ps->statics_offset + ps->n_static_syms;
   partial_symbol **bound = gbound;
 
   /* Go through all of the symbols stored in a partial
      symtab in one loop.  */
-  partial_symbol **psym = &objfile->global_psymbols[ps->globals_offset];
+  partial_symbol **psym = objfile->global_psymbols.data () + ps->globals_offset;
   while (keep_going)
     {
       if (psym >= bound)
 	{
 	  if (bound == gbound && ps->n_static_syms != 0)
 	    {
-	      psym = &objfile->static_psymbols[ps->statics_offset];
+	      psym = objfile->static_psymbols.data () + ps->statics_offset;
 	      bound = sbound;
 	    }
 	  else
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/reggroups.c ./gdb/reggroups.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/reggroups.c	2017-12-27 01:48:53.000000000 +0000
+++ ./gdb/reggroups.c	2018-01-02 01:48:56.000000000 +0000
@@ -26,6 +26,7 @@
 #include "regcache.h"
 #include "command.h"
 #include "gdbcmd.h"		/* For maintenanceprintlist.  */
+#include "gdb_obstack.h"
 
 /* Individual register groups.  */
 
@@ -45,6 +46,20 @@ reggroup_new (const char *name, enum reg
   return group;
 }
 
+/* See reggroups.h.  */
+
+struct reggroup *
+reggroup_gdbarch_new (struct gdbarch *gdbarch, const char *name,
+		      enum reggroup_type type)
+{
+  struct reggroup *group = GDBARCH_OBSTACK_ZALLOC (gdbarch,
+						   struct reggroup);
+
+  group->name = gdbarch_obstack_strdup (gdbarch, name);
+  group->type = type;
+  return group;
+}
+
 /* Register group attributes.  */
 
 const char *
@@ -76,10 +91,9 @@ struct reggroups
 static struct gdbarch_data *reggroups_data;
 
 static void *
-reggroups_init (struct gdbarch *gdbarch)
+reggroups_init (struct obstack *obstack)
 {
-  struct reggroups *groups = GDBARCH_OBSTACK_ZALLOC (gdbarch,
-						     struct reggroups);
+  struct reggroups *groups = OBSTACK_ZALLOC (obstack, struct reggroups);
 
   groups->last = &groups->first;
   return groups;
@@ -105,13 +119,6 @@ reggroup_add (struct gdbarch *gdbarch, s
   struct reggroups *groups
     = (struct reggroups *) gdbarch_data (gdbarch, reggroups_data);
 
-  if (groups == NULL)
-    {
-      /* ULGH, called during architecture initialization.  Patch
-         things up.  */
-      groups = (struct reggroups *) reggroups_init (gdbarch);
-      deprecated_set_gdbarch_data (gdbarch, reggroups_data, groups);
-    }
   add_group (groups, group,
 	     GDBARCH_OBSTACK_ZALLOC (gdbarch, struct reggroup_el));
 }
@@ -208,6 +215,23 @@ default_register_reggroup_p (struct gdba
   return 0;   
 }
 
+/* See reggroups.h.  */
+
+reggroup *
+reggroup_find (struct gdbarch *gdbarch, const char *name)
+{
+  struct reggroup *group;
+
+  for (group = reggroup_next (gdbarch, NULL);
+       group != NULL;
+       group = reggroup_next (gdbarch, group))
+    {
+      if (strcmp (name, reggroup_name (group)) == 0)
+	return group;
+    }
+  return NULL;
+}
+
 /* Dump out a table of register groups for the current architecture.  */
 
 static void
@@ -298,7 +322,7 @@ struct reggroup *const restore_reggroup 
 void
 _initialize_reggroup (void)
 {
-  reggroups_data = gdbarch_data_register_post_init (reggroups_init);
+  reggroups_data = gdbarch_data_register_pre_init (reggroups_init);
 
   /* The pre-defined list of groups.  */
   add_group (&default_groups, general_reggroup, XNEW (struct reggroup_el));
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/reggroups.h ./gdb/reggroups.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/reggroups.h	2017-12-27 01:48:53.000000000 +0000
+++ ./gdb/reggroups.h	2018-01-02 01:48:56.000000000 +0000
@@ -41,6 +41,10 @@ extern struct reggroup *const restore_re
 /* Create a new local register group.  */
 extern struct reggroup *reggroup_new (const char *name,
 				      enum reggroup_type type);
+/* Create a new register group allocated onto the gdbarch obstack.  */
+extern struct reggroup *reggroup_gdbarch_new (struct gdbarch *gdbarch,
+					      const char *name,
+					      enum reggroup_type type);
 
 /* Add a register group (with attribute values) to the pre-defined list.  */
 extern void reggroup_add (struct gdbarch *gdbarch, struct reggroup *group);
@@ -57,6 +61,8 @@ extern struct reggroup *reggroup_next (s
 				       struct reggroup *last);
 extern struct reggroup *reggroup_prev (struct gdbarch *gdbarch,
 				       struct reggroup *curr);
+/* Find a reggroup by name.  */
+extern reggroup *reggroup_find (struct gdbarch *gdbarch, const char *name);
 
 /* Is REGNUM a member of REGGROUP?  */
 extern int default_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/rust-exp.c ./gdb/rust-exp.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/rust-exp.c	2017-12-27 01:51:51.000000000 +0000
+++ ./gdb/rust-exp.c	2018-01-02 01:52:08.000000000 +0000
@@ -4844,8 +4844,7 @@ rust_lex_tests (void)
 						       &test_obstack);
 
   // Set up dummy "parser", so that rust_type works.
-  struct parser_state ps;
-  initialize_expout (&ps, 0, &rust_language_defn, target_gdbarch ());
+  struct parser_state ps (0, &rust_language_defn, target_gdbarch ());
   rust_parser parser (&ps);
 
   rust_lex_test_one ("", 0);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/rust-exp.y ./gdb/rust-exp.y
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/rust-exp.y	2017-12-27 01:48:53.000000000 +0000
+++ ./gdb/rust-exp.y	2018-01-02 01:48:56.000000000 +0000
@@ -2666,8 +2666,7 @@ rust_lex_tests (void)
 						       &test_obstack);
 
   // Set up dummy "parser", so that rust_type works.
-  struct parser_state ps;
-  initialize_expout (&ps, 0, &rust_language_defn, target_gdbarch ());
+  struct parser_state ps (0, &rust_language_defn, target_gdbarch ());
   rust_parser parser (&ps);
 
   rust_lex_test_one ("", 0);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/stap-probe.c ./gdb/stap-probe.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/stap-probe.c	2017-12-27 01:48:53.000000000 +0000
+++ ./gdb/stap-probe.c	2018-01-02 01:48:56.000000000 +0000
@@ -1146,25 +1146,14 @@ static expression_up
 stap_parse_argument (const char **arg, struct type *atype,
 		     struct gdbarch *gdbarch)
 {
-  struct stap_parse_info p;
-  struct cleanup *back_to;
-
   /* We need to initialize the expression buffer, in order to begin
      our parsing efforts.  We use language_c here because we may need
      to do pointer arithmetics.  */
-  initialize_expout (&p.pstate, 10, language_def (language_c), gdbarch);
-  back_to = make_cleanup (free_current_contents, &p.pstate.expout);
-
-  p.saved_arg = *arg;
-  p.arg = *arg;
-  p.arg_type = atype;
-  p.gdbarch = gdbarch;
-  p.inside_paren_p = 0;
+  struct stap_parse_info p (*arg, atype, 10, language_def (language_c),
+			    gdbarch);
 
   stap_parse_argument_1 (&p, 0, STAP_OPERAND_PREC_NONE);
 
-  discard_cleanups (back_to);
-
   gdb_assert (p.inside_paren_p == 0);
 
   /* Casting the final expression to the appropriate type.  */
@@ -1172,13 +1161,10 @@ stap_parse_argument (const char **arg, s
   write_exp_elt_type (&p.pstate, atype);
   write_exp_elt_opcode (&p.pstate, UNOP_CAST);
 
-  reallocate_expout (&p.pstate);
-
   p.arg = skip_spaces (p.arg);
   *arg = p.arg;
 
-  /* We can safely return EXPOUT here.  */
-  return expression_up (p.pstate.expout);
+  return p.pstate.release ();
 }
 
 /* Implementation of 'parse_arguments' method.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/stap-probe.h ./gdb/stap-probe.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/stap-probe.h	2017-12-27 01:48:53.000000000 +0000
+++ ./gdb/stap-probe.h	2018-01-02 01:48:56.000000000 +0000
@@ -28,6 +28,20 @@
 
 struct stap_parse_info
 {
+  stap_parse_info (const char *arg_, struct type *arg_type_,
+		   size_t initial_size, const struct language_defn *lang,
+		   struct gdbarch *gdbarch)
+    : arg (arg_),
+      pstate (initial_size, lang, gdbarch),
+      saved_arg (arg_),
+      arg_type (arg_type_),
+      gdbarch (gdbarch),
+      inside_paren_p (0)
+  {
+  }
+
+  DISABLE_COPY_AND_ASSIGN (stap_parse_info);
+
   /* The probe's argument in a string format.  */
   const char *arg;
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/target-descriptions.c ./gdb/target-descriptions.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/target-descriptions.c	2017-12-27 01:48:53.000000000 +0000
+++ ./gdb/target-descriptions.c	2018-01-02 01:48:56.000000000 +0000
@@ -111,12 +111,11 @@ struct tdesc_reg : tdesc_element
   int save_restore;
 
   /* The name of the register group containing this register, or empty
-     if the group should be automatically determined from the
-     register's type.  If this is "general", "float", or "vector", the
-     corresponding "info" command should display this register's
-     value.  It can be an arbitrary string, but should be limited to
-     alphanumeric characters and internal hyphens.  Currently other
-     strings are ignored (treated as empty).  */
+     if the group should be automatically determined from the register's
+     type.  This is traditionally "general", "float", "vector" but can
+     also be an arbitrary string.  If defined the corresponding "info"
+     command should display this register's value.  The string should be
+     limited to alphanumeric characters and internal hyphens.  */
   std::string group;
 
   /* The size of the register, in bits.  */
@@ -1279,17 +1278,13 @@ tdesc_remote_register_number (struct gdb
 }
 
 /* Check whether REGNUM is a member of REGGROUP.  Registers from the
-   target description may be classified as general, float, or vector.
-   Unlike a gdbarch register_reggroup_p method, this function will
-   return -1 if it does not know; the caller should handle registers
-   with no specified group.
-
-   Arbitrary strings (other than "general", "float", and "vector")
-   from the description are not used; they cause the register to be
-   displayed in "info all-registers" but excluded from "info
-   registers" et al.  The names of containing features are also not
-   used.  This might be extended to display registers in some more
-   useful groupings.
+   target description may be classified as general, float, vector or other
+   register groups registered with reggroup_add().  Unlike a gdbarch
+   register_reggroup_p method, this function will return -1 if it does not
+   know; the caller should handle registers with no specified group.
+
+   The names of containing features are not used.  This might be extended
+   to display registers in some more useful groupings.
 
    The save-restore flag is also implemented here.  */
 
@@ -1299,26 +1294,9 @@ tdesc_register_in_reggroup_p (struct gdb
 {
   struct tdesc_reg *reg = tdesc_find_register (gdbarch, regno);
 
-  if (reg != NULL && !reg->group.empty ())
-    {
-      int general_p = 0, float_p = 0, vector_p = 0;
-
-      if (reg->group == "general")
-	general_p = 1;
-      else if (reg->group == "float")
-	float_p = 1;
-      else if (reg->group == "vector")
-	vector_p = 1;
-
-      if (reggroup == float_reggroup)
-	return float_p;
-
-      if (reggroup == vector_reggroup)
-	return vector_p;
-
-      if (reggroup == general_reggroup)
-	return general_p;
-    }
+  if (reg != NULL && !reg->group.empty ()
+      && (reg->group == reggroup_name (reggroup)))
+	return 1;
 
   if (reg != NULL
       && (reggroup == save_reggroup || reggroup == restore_reggroup))
@@ -1421,6 +1399,12 @@ tdesc_use_registers (struct gdbarch *gdb
 	void **slot = htab_find_slot (reg_hash, reg.get (), INSERT);
 
 	*slot = reg.get ();
+	/* Add reggroup if its new.  */
+	if (!reg->group.empty ())
+	  if (reggroup_find (gdbarch, reg->group.c_str ()) == NULL)
+	    reggroup_add (gdbarch, reggroup_gdbarch_new (gdbarch,
+							 reg->group.c_str (),
+							 USER_REGGROUP));
       }
 
   /* Remove any registers which were assigned numbers by the
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/target.h ./gdb/target.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/target.h	2017-12-27 01:48:53.000000000 +0000
+++ ./gdb/target.h	2018-01-02 01:48:56.000000000 +0000
@@ -181,15 +181,6 @@ enum target_object
   TARGET_OBJECT_THREADS,
   /* Collected static trace data.  */
   TARGET_OBJECT_STATIC_TRACE_DATA,
-  /* The HP-UX registers (those that can be obtained or modified by using
-     the TT_LWP_RUREGS/TT_LWP_WUREGS ttrace requests).  */
-  TARGET_OBJECT_HPUX_UREGS,
-  /* The HP-UX shared library linkage pointer.  ANNEX should be a string
-     image of the code address whose linkage pointer we are looking for.
-
-     The size of the data transfered is always 8 bytes (the size of an
-     address on ia64).  */
-  TARGET_OBJECT_HPUX_SOLIB_GOT,
   /* Traceframe info, in XML format.  */
   TARGET_OBJECT_TRACEFRAME_INFO,
   /* Load maps for FDPIC systems.  */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/testsuite/ChangeLog ./gdb/testsuite/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/testsuite/ChangeLog	2017-12-27 01:48:53.000000000 +0000
+++ ./gdb/testsuite/ChangeLog	2018-01-02 01:48:56.000000000 +0000
@@ -1,3 +1,13 @@
+2017-12-27  Stafford Horne  <shorne@gmail.com>
+
+	* gdb.xml/extra-regs.xml: Add example foo reggroup.
+	* gdb.xml/tdesc-regs.exp: Add test to check for foo reggroup.
+
+2017-12-27  Stafford Horne  <shorne@gmail.com>
+
+	* gdb.base/reggroups.c: New file.
+	* gdb.base/reggroups.exp: New file.
+
 2017-12-18  Joel Brobecker  <brobecker@adacore.com>
 
 	* gdb.dwarf2/ada-valprint-error.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-8.0.50.20171227/gdb/testsuite/gdb.base/reggroups.c ./gdb/testsuite/gdb.base/reggroups.c
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/testsuite/gdb.base/reggroups.c	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/reggroups.c	2018-01-02 01:48:56.000000000 +0000
@@ -0,0 +1,22 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2015-2017 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+int
+main (void)
+{
+  return 0;
+}
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/testsuite/gdb.base/reggroups.exp ./gdb/testsuite/gdb.base/reggroups.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/testsuite/gdb.base/reggroups.exp	1970-01-01 00:00:00.000000000 +0000
+++ ./gdb/testsuite/gdb.base/reggroups.exp	2018-01-02 01:48:56.000000000 +0000
@@ -0,0 +1,113 @@
+# This testcase is part of GDB, the GNU debugger.
+
+# Copyright 2017 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Test listing reggroups and the registers in each group.
+
+standard_testfile
+
+if {[prepare_for_testing "failed to prepare" $testfile $srcfile debug]} {
+    return -1
+}
+
+if ![runto_main] then {
+    fail "can't run to main"
+    return 0
+}
+
+set invalid_register_re "Invalid register .*"
+
+# Fetch all reggroups from 'maint print reggroups'.
+
+proc fetch_reggroups {test} {
+    global gdb_prompt
+
+    set reggroups {}
+    gdb_test_multiple "maint print reggroups" $test {
+	-re "maint print reggroups\r\n" {
+	    exp_continue
+	}
+	-re "^ Group\[ \t\]+Type\[ \t\]+\r\n" {
+	    exp_continue
+	}
+	-re "^ (\[0-9a-zA-Z-\]+)\[ \t\]+(user|internal)\[ \t\]+\r\n" {
+	    lappend reggroups $expect_out(1,string)
+	    exp_continue
+	}
+	-re "$gdb_prompt $" {
+	    gdb_assert "[llength $reggroups] != 0" $test
+	}
+    }
+
+    return $reggroups
+}
+
+# Fetch all registers for a reggroup from 'info reg <reggroup>'.
+
+proc fetch_reggroup_regs {reggroup test} {
+    global gdb_prompt
+    global invalid_register_re
+
+    # The command info reg <reggroup> will return something like the following:
+    #
+    # r0             0x0      0^M
+    # r1             0x7fdffc 0x7fdffc^M
+    # r2             0x7fe000 0x7fe000^M
+    # npc            0x23a8   0x23a8 <main+12>^M
+    # sr             0x8401   [ SM CY FO CID=0 ]^M
+    #
+    # We parse out and return the reg names, this is done by detecting
+    # that for each line we have a register name followed by a $hex number.
+    #
+    # Note: we will not return vector registers, but I think this is ok because
+    # for testing purposes we just want to ensure we get some registers and dont
+    # fail.  Example vector register:
+    #
+    # xmm0           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, ... }}
+    #
+    set regs {}
+    gdb_test_multiple "info reg $reggroup" $test {
+	-re "info reg $reggroup\r\n" {
+	    exp_continue
+	}
+	-re "^(\[0-9a-zA-Z-\]+)\[ \t\]+(0x\[0-9a-f\]+)\[ \t\]+(\[^\n\r\]+)\r\n" {
+	    lappend regs $expect_out(1,string)
+	    exp_continue
+	}
+	-re $invalid_register_re {
+	    fail "$test (unexpected invalid register response)"
+	}
+	-re "$gdb_prompt $" {
+	    pass $test
+	}
+    }
+    return $regs
+}
+
+set reggroups [fetch_reggroups "fetch reggroups"]
+set regcount 0
+foreach reggroup $reggroups {
+    set regs [fetch_reggroup_regs $reggroup "fetch reggroup regs $reggroup"]
+    set regcount [expr $regcount + [llength $regs]]
+}
+
+gdb_assert "[llength $regcount] != 0" "system has reggroup registers"
+
+# If this fails it means that probably someone changed the error text returned
+# for an invalid register argument.  If that happens we should fix the pattern
+# here and in the fetch_reggroup_regs procedure above.
+gdb_test "info reg invalid-reggroup" $invalid_register_re \
+    "info reg invalid-reggroup should report 'Invalid register'"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/testsuite/gdb.xml/extra-regs.xml ./gdb/testsuite/gdb.xml/extra-regs.xml
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/testsuite/gdb.xml/extra-regs.xml	2017-12-27 01:48:53.000000000 +0000
+++ ./gdb/testsuite/gdb.xml/extra-regs.xml	2018-01-02 01:48:56.000000000 +0000
@@ -53,5 +53,6 @@
     <reg name="bitfields" bitsize="64" type="struct2"/>
     <reg name="flags" bitsize="32" type="flags"/>
     <reg name="mixed_flags" bitsize="32" type="mixed_flags"/>
+    <reg name="groupreg" bitsize="32" type="uint32" group="foo"/>
   </feature>
 </target>
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/testsuite/gdb.xml/tdesc-regs.exp ./gdb/testsuite/gdb.xml/tdesc-regs.exp
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/gdb/testsuite/gdb.xml/tdesc-regs.exp	2017-12-27 01:48:53.000000000 +0000
+++ ./gdb/testsuite/gdb.xml/tdesc-regs.exp	2018-01-02 01:48:56.000000000 +0000
@@ -190,6 +190,9 @@ gdb_test "ptype \$flags" \
     "type = flag flags {\r\n *bool X @0;\r\n *uint32_t Y @2;\r\n}"
 gdb_test "ptype \$mixed_flags" \
     "type = flag mixed_flags {\r\n *bool A @0;\r\n *uint32_t B @1-3;\r\n *bool C @4;\r\n *uint32_t D @5;\r\n *uint32_t @6-7;\r\n *enum {yes = 1, no = 0, maybe = 2, so} Z @8-9;\r\n}"
+# Reggroups should have at least general and the extra foo group
+gdb_test "maintenance print reggroups" \
+    " Group\[ \t\]+Type\[ \t\]+\r\n.* general\[ \t\]+user\[ \t\]+\r\n.* foo\[ \t\]+user\[ \t\]+"
 
 load_description "core-only.xml" "" "test-regs.xml"
 # The extra register from the previous description should be gone.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/include/ChangeLog ./include/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/include/ChangeLog	2017-12-27 01:48:53.000000000 +0000
+++ ./include/ChangeLog	2018-01-02 01:48:56.000000000 +0000
@@ -1,3 +1,9 @@
+2017-12-28  Jim Wilson  <jimw@sifive.com>
+
+	* opcode/riscv-opc.h (DECLARE_CSR): Add missing privileged registers.
+	Sort to match privileged spec documentation order.
+	(DECLARE_CSR_ALIAS): Add ubadaddr, and comments.
+
 2017-12-19  Tamar Christina  <tamar.christina@arm.com>
 
 	PR gas/22559
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/include/opcode/riscv-opc.h ./include/opcode/riscv-opc.h
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/include/opcode/riscv-opc.h	2017-12-27 01:48:53.000000000 +0000
+++ ./include/opcode/riscv-opc.h	2018-01-02 01:48:56.000000000 +0000
@@ -567,6 +567,14 @@
 #define MASK_CUSTOM3_RD_RS1  0x707f
 #define MATCH_CUSTOM3_RD_RS1_RS2 0x707b
 #define MASK_CUSTOM3_RD_RS1_RS2  0x707f
+#define CSR_USTATUS 0x0
+#define CSR_UIE 0x4
+#define CSR_UTVEC 0x5
+#define CSR_USCRATCH 0x40
+#define CSR_UEPC 0x41
+#define CSR_UCAUSE 0x42
+#define CSR_UTVAL 0x43
+#define CSR_UIP 0x44
 #define CSR_FFLAGS 0x1
 #define CSR_FRM 0x2
 #define CSR_FCSR 0x3
@@ -602,7 +610,41 @@
 #define CSR_HPMCOUNTER29 0xc1d
 #define CSR_HPMCOUNTER30 0xc1e
 #define CSR_HPMCOUNTER31 0xc1f
+#define CSR_CYCLEH 0xc80
+#define CSR_TIMEH 0xc81
+#define CSR_INSTRETH 0xc82
+#define CSR_HPMCOUNTER3H 0xc83
+#define CSR_HPMCOUNTER4H 0xc84
+#define CSR_HPMCOUNTER5H 0xc85
+#define CSR_HPMCOUNTER6H 0xc86
+#define CSR_HPMCOUNTER7H 0xc87
+#define CSR_HPMCOUNTER8H 0xc88
+#define CSR_HPMCOUNTER9H 0xc89
+#define CSR_HPMCOUNTER10H 0xc8a
+#define CSR_HPMCOUNTER11H 0xc8b
+#define CSR_HPMCOUNTER12H 0xc8c
+#define CSR_HPMCOUNTER13H 0xc8d
+#define CSR_HPMCOUNTER14H 0xc8e
+#define CSR_HPMCOUNTER15H 0xc8f
+#define CSR_HPMCOUNTER16H 0xc90
+#define CSR_HPMCOUNTER17H 0xc91
+#define CSR_HPMCOUNTER18H 0xc92
+#define CSR_HPMCOUNTER19H 0xc93
+#define CSR_HPMCOUNTER20H 0xc94
+#define CSR_HPMCOUNTER21H 0xc95
+#define CSR_HPMCOUNTER22H 0xc96
+#define CSR_HPMCOUNTER23H 0xc97
+#define CSR_HPMCOUNTER24H 0xc98
+#define CSR_HPMCOUNTER25H 0xc99
+#define CSR_HPMCOUNTER26H 0xc9a
+#define CSR_HPMCOUNTER27H 0xc9b
+#define CSR_HPMCOUNTER28H 0xc9c
+#define CSR_HPMCOUNTER29H 0xc9d
+#define CSR_HPMCOUNTER30H 0xc9e
+#define CSR_HPMCOUNTER31H 0xc9f
 #define CSR_SSTATUS 0x100
+#define CSR_SEDELEG 0x102
+#define CSR_SIDELEG 0x103
 #define CSR_SIE 0x104
 #define CSR_STVEC 0x105
 #define CSR_SCOUNTEREN 0x106
@@ -612,6 +654,10 @@
 #define CSR_SBADADDR 0x143
 #define CSR_SIP 0x144
 #define CSR_SATP 0x180
+#define CSR_MVENDORID 0xf11
+#define CSR_MARCHID 0xf12
+#define CSR_MIMPID 0xf13
+#define CSR_MHARTID 0xf14
 #define CSR_MSTATUS 0x300
 #define CSR_MISA 0x301
 #define CSR_MEDELEG 0x302
@@ -644,13 +690,6 @@
 #define CSR_PMPADDR13 0x3bd
 #define CSR_PMPADDR14 0x3be
 #define CSR_PMPADDR15 0x3bf
-#define CSR_TSELECT 0x7a0
-#define CSR_TDATA1 0x7a1
-#define CSR_TDATA2 0x7a2
-#define CSR_TDATA3 0x7a3
-#define CSR_DCSR 0x7b0
-#define CSR_DPC 0x7b1
-#define CSR_DSCRATCH 0x7b2
 #define CSR_MCYCLE 0xb00
 #define CSR_MINSTRET 0xb02
 #define CSR_MHPMCOUNTER3 0xb03
@@ -682,73 +721,6 @@
 #define CSR_MHPMCOUNTER29 0xb1d
 #define CSR_MHPMCOUNTER30 0xb1e
 #define CSR_MHPMCOUNTER31 0xb1f
-#define CSR_MUCOUNTEREN 0x320
-#define CSR_MSCOUNTEREN 0x321
-#define CSR_MHPMEVENT3 0x323
-#define CSR_MHPMEVENT4 0x324
-#define CSR_MHPMEVENT5 0x325
-#define CSR_MHPMEVENT6 0x326
-#define CSR_MHPMEVENT7 0x327
-#define CSR_MHPMEVENT8 0x328
-#define CSR_MHPMEVENT9 0x329
-#define CSR_MHPMEVENT10 0x32a
-#define CSR_MHPMEVENT11 0x32b
-#define CSR_MHPMEVENT12 0x32c
-#define CSR_MHPMEVENT13 0x32d
-#define CSR_MHPMEVENT14 0x32e
-#define CSR_MHPMEVENT15 0x32f
-#define CSR_MHPMEVENT16 0x330
-#define CSR_MHPMEVENT17 0x331
-#define CSR_MHPMEVENT18 0x332
-#define CSR_MHPMEVENT19 0x333
-#define CSR_MHPMEVENT20 0x334
-#define CSR_MHPMEVENT21 0x335
-#define CSR_MHPMEVENT22 0x336
-#define CSR_MHPMEVENT23 0x337
-#define CSR_MHPMEVENT24 0x338
-#define CSR_MHPMEVENT25 0x339
-#define CSR_MHPMEVENT26 0x33a
-#define CSR_MHPMEVENT27 0x33b
-#define CSR_MHPMEVENT28 0x33c
-#define CSR_MHPMEVENT29 0x33d
-#define CSR_MHPMEVENT30 0x33e
-#define CSR_MHPMEVENT31 0x33f
-#define CSR_MVENDORID 0xf11
-#define CSR_MARCHID 0xf12
-#define CSR_MIMPID 0xf13
-#define CSR_MHARTID 0xf14
-#define CSR_CYCLEH 0xc80
-#define CSR_TIMEH 0xc81
-#define CSR_INSTRETH 0xc82
-#define CSR_HPMCOUNTER3H 0xc83
-#define CSR_HPMCOUNTER4H 0xc84
-#define CSR_HPMCOUNTER5H 0xc85
-#define CSR_HPMCOUNTER6H 0xc86
-#define CSR_HPMCOUNTER7H 0xc87
-#define CSR_HPMCOUNTER8H 0xc88
-#define CSR_HPMCOUNTER9H 0xc89
-#define CSR_HPMCOUNTER10H 0xc8a
-#define CSR_HPMCOUNTER11H 0xc8b
-#define CSR_HPMCOUNTER12H 0xc8c
-#define CSR_HPMCOUNTER13H 0xc8d
-#define CSR_HPMCOUNTER14H 0xc8e
-#define CSR_HPMCOUNTER15H 0xc8f
-#define CSR_HPMCOUNTER16H 0xc90
-#define CSR_HPMCOUNTER17H 0xc91
-#define CSR_HPMCOUNTER18H 0xc92
-#define CSR_HPMCOUNTER19H 0xc93
-#define CSR_HPMCOUNTER20H 0xc94
-#define CSR_HPMCOUNTER21H 0xc95
-#define CSR_HPMCOUNTER22H 0xc96
-#define CSR_HPMCOUNTER23H 0xc97
-#define CSR_HPMCOUNTER24H 0xc98
-#define CSR_HPMCOUNTER25H 0xc99
-#define CSR_HPMCOUNTER26H 0xc9a
-#define CSR_HPMCOUNTER27H 0xc9b
-#define CSR_HPMCOUNTER28H 0xc9c
-#define CSR_HPMCOUNTER29H 0xc9d
-#define CSR_HPMCOUNTER30H 0xc9e
-#define CSR_HPMCOUNTER31H 0xc9f
 #define CSR_MCYCLEH 0xb80
 #define CSR_MINSTRETH 0xb82
 #define CSR_MHPMCOUNTER3H 0xb83
@@ -780,6 +752,63 @@
 #define CSR_MHPMCOUNTER29H 0xb9d
 #define CSR_MHPMCOUNTER30H 0xb9e
 #define CSR_MHPMCOUNTER31H 0xb9f
+#define CSR_MHPMEVENT3 0x323
+#define CSR_MHPMEVENT4 0x324
+#define CSR_MHPMEVENT5 0x325
+#define CSR_MHPMEVENT6 0x326
+#define CSR_MHPMEVENT7 0x327
+#define CSR_MHPMEVENT8 0x328
+#define CSR_MHPMEVENT9 0x329
+#define CSR_MHPMEVENT10 0x32a
+#define CSR_MHPMEVENT11 0x32b
+#define CSR_MHPMEVENT12 0x32c
+#define CSR_MHPMEVENT13 0x32d
+#define CSR_MHPMEVENT14 0x32e
+#define CSR_MHPMEVENT15 0x32f
+#define CSR_MHPMEVENT16 0x330
+#define CSR_MHPMEVENT17 0x331
+#define CSR_MHPMEVENT18 0x332
+#define CSR_MHPMEVENT19 0x333
+#define CSR_MHPMEVENT20 0x334
+#define CSR_MHPMEVENT21 0x335
+#define CSR_MHPMEVENT22 0x336
+#define CSR_MHPMEVENT23 0x337
+#define CSR_MHPMEVENT24 0x338
+#define CSR_MHPMEVENT25 0x339
+#define CSR_MHPMEVENT26 0x33a
+#define CSR_MHPMEVENT27 0x33b
+#define CSR_MHPMEVENT28 0x33c
+#define CSR_MHPMEVENT29 0x33d
+#define CSR_MHPMEVENT30 0x33e
+#define CSR_MHPMEVENT31 0x33f
+#define CSR_TSELECT 0x7a0
+#define CSR_TDATA1 0x7a1
+#define CSR_TDATA2 0x7a2
+#define CSR_TDATA3 0x7a3
+#define CSR_DCSR 0x7b0
+#define CSR_DPC 0x7b1
+#define CSR_DSCRATCH 0x7b2
+/* These registers are present in priv spec 1.9.1, dropped in 1.10.  */
+#define CSR_HSTATUS 0x200
+#define CSR_HEDELEG 0x202
+#define CSR_HIDELEG 0x203
+#define CSR_HIE 0x204
+#define CSR_HTVEC 0x205
+#define CSR_HSCRATCH 0x240
+#define CSR_HEPC 0x241
+#define CSR_HCAUSE 0x242
+#define CSR_HBADADDR 0x243
+#define CSR_HIP 0x244
+/* CSR_MISA is 0xf10 in 1.9, but 0x301 in 1.9.1.  */
+#define CSR_MBASE 0x380
+#define CSR_MBOUND 0x381
+#define CSR_MIBASE 0x382
+#define CSR_MIBOUND 0x383
+#define CSR_MDBASE 0x384
+#define CSR_MDBOUND 0x385
+#define CSR_MUCOUNTEREN 0x320
+#define CSR_MSCOUNTEREN 0x321
+#define CSR_MHCOUNTEREN 0x322
 #define CAUSE_MISALIGNED_FETCH 0x0
 #define CAUSE_FAULT_FETCH 0x1
 #define CAUSE_ILLEGAL_INSTRUCTION 0x2
@@ -1079,6 +1108,14 @@ DECLARE_INSN(custom3_rd_rs1, MATCH_CUSTO
 DECLARE_INSN(custom3_rd_rs1_rs2, MATCH_CUSTOM3_RD_RS1_RS2, MASK_CUSTOM3_RD_RS1_RS2)
 #endif
 #ifdef DECLARE_CSR
+DECLARE_CSR(ustatus, CSR_USTATUS)
+DECLARE_CSR(uie, CSR_UIE)
+DECLARE_CSR(utvec, CSR_UTVEC)
+DECLARE_CSR(uscratch, CSR_USCRATCH)
+DECLARE_CSR(uepc, CSR_UEPC)
+DECLARE_CSR(ucause, CSR_UCAUSE)
+DECLARE_CSR(utval, CSR_UTVAL)
+DECLARE_CSR(uip, CSR_UIP)
 DECLARE_CSR(fflags, CSR_FFLAGS)
 DECLARE_CSR(frm, CSR_FRM)
 DECLARE_CSR(fcsr, CSR_FCSR)
@@ -1114,7 +1151,41 @@ DECLARE_CSR(hpmcounter28, CSR_HPMCOUNTER
 DECLARE_CSR(hpmcounter29, CSR_HPMCOUNTER29)
 DECLARE_CSR(hpmcounter30, CSR_HPMCOUNTER30)
 DECLARE_CSR(hpmcounter31, CSR_HPMCOUNTER31)
+DECLARE_CSR(cycleh, CSR_CYCLEH)
+DECLARE_CSR(timeh, CSR_TIMEH)
+DECLARE_CSR(instreth, CSR_INSTRETH)
+DECLARE_CSR(hpmcounter3h, CSR_HPMCOUNTER3H)
+DECLARE_CSR(hpmcounter4h, CSR_HPMCOUNTER4H)
+DECLARE_CSR(hpmcounter5h, CSR_HPMCOUNTER5H)
+DECLARE_CSR(hpmcounter6h, CSR_HPMCOUNTER6H)
+DECLARE_CSR(hpmcounter7h, CSR_HPMCOUNTER7H)
+DECLARE_CSR(hpmcounter8h, CSR_HPMCOUNTER8H)
+DECLARE_CSR(hpmcounter9h, CSR_HPMCOUNTER9H)
+DECLARE_CSR(hpmcounter10h, CSR_HPMCOUNTER10H)
+DECLARE_CSR(hpmcounter11h, CSR_HPMCOUNTER11H)
+DECLARE_CSR(hpmcounter12h, CSR_HPMCOUNTER12H)
+DECLARE_CSR(hpmcounter13h, CSR_HPMCOUNTER13H)
+DECLARE_CSR(hpmcounter14h, CSR_HPMCOUNTER14H)
+DECLARE_CSR(hpmcounter15h, CSR_HPMCOUNTER15H)
+DECLARE_CSR(hpmcounter16h, CSR_HPMCOUNTER16H)
+DECLARE_CSR(hpmcounter17h, CSR_HPMCOUNTER17H)
+DECLARE_CSR(hpmcounter18h, CSR_HPMCOUNTER18H)
+DECLARE_CSR(hpmcounter19h, CSR_HPMCOUNTER19H)
+DECLARE_CSR(hpmcounter20h, CSR_HPMCOUNTER20H)
+DECLARE_CSR(hpmcounter21h, CSR_HPMCOUNTER21H)
+DECLARE_CSR(hpmcounter22h, CSR_HPMCOUNTER22H)
+DECLARE_CSR(hpmcounter23h, CSR_HPMCOUNTER23H)
+DECLARE_CSR(hpmcounter24h, CSR_HPMCOUNTER24H)
+DECLARE_CSR(hpmcounter25h, CSR_HPMCOUNTER25H)
+DECLARE_CSR(hpmcounter26h, CSR_HPMCOUNTER26H)
+DECLARE_CSR(hpmcounter27h, CSR_HPMCOUNTER27H)
+DECLARE_CSR(hpmcounter28h, CSR_HPMCOUNTER28H)
+DECLARE_CSR(hpmcounter29h, CSR_HPMCOUNTER29H)
+DECLARE_CSR(hpmcounter30h, CSR_HPMCOUNTER30H)
+DECLARE_CSR(hpmcounter31h, CSR_HPMCOUNTER31H)
 DECLARE_CSR(sstatus, CSR_SSTATUS)
+DECLARE_CSR(sedeleg, CSR_SEDELEG)
+DECLARE_CSR(sideleg, CSR_SIDELEG)
 DECLARE_CSR(sie, CSR_SIE)
 DECLARE_CSR(stvec, CSR_STVEC)
 DECLARE_CSR(scounteren, CSR_SCOUNTEREN)
@@ -1124,6 +1195,10 @@ DECLARE_CSR(scause, CSR_SCAUSE)
 DECLARE_CSR(sbadaddr, CSR_SBADADDR)
 DECLARE_CSR(sip, CSR_SIP)
 DECLARE_CSR(satp, CSR_SATP)
+DECLARE_CSR(mvendorid, CSR_MVENDORID)
+DECLARE_CSR(marchid, CSR_MARCHID)
+DECLARE_CSR(mimpid, CSR_MIMPID)
+DECLARE_CSR(mhartid, CSR_MHARTID)
 DECLARE_CSR(mstatus, CSR_MSTATUS)
 DECLARE_CSR(misa, CSR_MISA)
 DECLARE_CSR(medeleg, CSR_MEDELEG)
@@ -1156,13 +1231,6 @@ DECLARE_CSR(pmpaddr12, CSR_PMPADDR12)
 DECLARE_CSR(pmpaddr13, CSR_PMPADDR13)
 DECLARE_CSR(pmpaddr14, CSR_PMPADDR14)
 DECLARE_CSR(pmpaddr15, CSR_PMPADDR15)
-DECLARE_CSR(tselect, CSR_TSELECT)
-DECLARE_CSR(tdata1, CSR_TDATA1)
-DECLARE_CSR(tdata2, CSR_TDATA2)
-DECLARE_CSR(tdata3, CSR_TDATA3)
-DECLARE_CSR(dcsr, CSR_DCSR)
-DECLARE_CSR(dpc, CSR_DPC)
-DECLARE_CSR(dscratch, CSR_DSCRATCH)
 DECLARE_CSR(mcycle, CSR_MCYCLE)
 DECLARE_CSR(minstret, CSR_MINSTRET)
 DECLARE_CSR(mhpmcounter3, CSR_MHPMCOUNTER3)
@@ -1194,73 +1262,6 @@ DECLARE_CSR(mhpmcounter28, CSR_MHPMCOUNT
 DECLARE_CSR(mhpmcounter29, CSR_MHPMCOUNTER29)
 DECLARE_CSR(mhpmcounter30, CSR_MHPMCOUNTER30)
 DECLARE_CSR(mhpmcounter31, CSR_MHPMCOUNTER31)
-DECLARE_CSR(mucounteren, CSR_MUCOUNTEREN)
-DECLARE_CSR(mscounteren, CSR_MSCOUNTEREN)
-DECLARE_CSR(mhpmevent3, CSR_MHPMEVENT3)
-DECLARE_CSR(mhpmevent4, CSR_MHPMEVENT4)
-DECLARE_CSR(mhpmevent5, CSR_MHPMEVENT5)
-DECLARE_CSR(mhpmevent6, CSR_MHPMEVENT6)
-DECLARE_CSR(mhpmevent7, CSR_MHPMEVENT7)
-DECLARE_CSR(mhpmevent8, CSR_MHPMEVENT8)
-DECLARE_CSR(mhpmevent9, CSR_MHPMEVENT9)
-DECLARE_CSR(mhpmevent10, CSR_MHPMEVENT10)
-DECLARE_CSR(mhpmevent11, CSR_MHPMEVENT11)
-DECLARE_CSR(mhpmevent12, CSR_MHPMEVENT12)
-DECLARE_CSR(mhpmevent13, CSR_MHPMEVENT13)
-DECLARE_CSR(mhpmevent14, CSR_MHPMEVENT14)
-DECLARE_CSR(mhpmevent15, CSR_MHPMEVENT15)
-DECLARE_CSR(mhpmevent16, CSR_MHPMEVENT16)
-DECLARE_CSR(mhpmevent17, CSR_MHPMEVENT17)
-DECLARE_CSR(mhpmevent18, CSR_MHPMEVENT18)
-DECLARE_CSR(mhpmevent19, CSR_MHPMEVENT19)
-DECLARE_CSR(mhpmevent20, CSR_MHPMEVENT20)
-DECLARE_CSR(mhpmevent21, CSR_MHPMEVENT21)
-DECLARE_CSR(mhpmevent22, CSR_MHPMEVENT22)
-DECLARE_CSR(mhpmevent23, CSR_MHPMEVENT23)
-DECLARE_CSR(mhpmevent24, CSR_MHPMEVENT24)
-DECLARE_CSR(mhpmevent25, CSR_MHPMEVENT25)
-DECLARE_CSR(mhpmevent26, CSR_MHPMEVENT26)
-DECLARE_CSR(mhpmevent27, CSR_MHPMEVENT27)
-DECLARE_CSR(mhpmevent28, CSR_MHPMEVENT28)
-DECLARE_CSR(mhpmevent29, CSR_MHPMEVENT29)
-DECLARE_CSR(mhpmevent30, CSR_MHPMEVENT30)
-DECLARE_CSR(mhpmevent31, CSR_MHPMEVENT31)
-DECLARE_CSR(mvendorid, CSR_MVENDORID)
-DECLARE_CSR(marchid, CSR_MARCHID)
-DECLARE_CSR(mimpid, CSR_MIMPID)
-DECLARE_CSR(mhartid, CSR_MHARTID)
-DECLARE_CSR(cycleh, CSR_CYCLEH)
-DECLARE_CSR(timeh, CSR_TIMEH)
-DECLARE_CSR(instreth, CSR_INSTRETH)
-DECLARE_CSR(hpmcounter3h, CSR_HPMCOUNTER3H)
-DECLARE_CSR(hpmcounter4h, CSR_HPMCOUNTER4H)
-DECLARE_CSR(hpmcounter5h, CSR_HPMCOUNTER5H)
-DECLARE_CSR(hpmcounter6h, CSR_HPMCOUNTER6H)
-DECLARE_CSR(hpmcounter7h, CSR_HPMCOUNTER7H)
-DECLARE_CSR(hpmcounter8h, CSR_HPMCOUNTER8H)
-DECLARE_CSR(hpmcounter9h, CSR_HPMCOUNTER9H)
-DECLARE_CSR(hpmcounter10h, CSR_HPMCOUNTER10H)
-DECLARE_CSR(hpmcounter11h, CSR_HPMCOUNTER11H)
-DECLARE_CSR(hpmcounter12h, CSR_HPMCOUNTER12H)
-DECLARE_CSR(hpmcounter13h, CSR_HPMCOUNTER13H)
-DECLARE_CSR(hpmcounter14h, CSR_HPMCOUNTER14H)
-DECLARE_CSR(hpmcounter15h, CSR_HPMCOUNTER15H)
-DECLARE_CSR(hpmcounter16h, CSR_HPMCOUNTER16H)
-DECLARE_CSR(hpmcounter17h, CSR_HPMCOUNTER17H)
-DECLARE_CSR(hpmcounter18h, CSR_HPMCOUNTER18H)
-DECLARE_CSR(hpmcounter19h, CSR_HPMCOUNTER19H)
-DECLARE_CSR(hpmcounter20h, CSR_HPMCOUNTER20H)
-DECLARE_CSR(hpmcounter21h, CSR_HPMCOUNTER21H)
-DECLARE_CSR(hpmcounter22h, CSR_HPMCOUNTER22H)
-DECLARE_CSR(hpmcounter23h, CSR_HPMCOUNTER23H)
-DECLARE_CSR(hpmcounter24h, CSR_HPMCOUNTER24H)
-DECLARE_CSR(hpmcounter25h, CSR_HPMCOUNTER25H)
-DECLARE_CSR(hpmcounter26h, CSR_HPMCOUNTER26H)
-DECLARE_CSR(hpmcounter27h, CSR_HPMCOUNTER27H)
-DECLARE_CSR(hpmcounter28h, CSR_HPMCOUNTER28H)
-DECLARE_CSR(hpmcounter29h, CSR_HPMCOUNTER29H)
-DECLARE_CSR(hpmcounter30h, CSR_HPMCOUNTER30H)
-DECLARE_CSR(hpmcounter31h, CSR_HPMCOUNTER31H)
 DECLARE_CSR(mcycleh, CSR_MCYCLEH)
 DECLARE_CSR(minstreth, CSR_MINSTRETH)
 DECLARE_CSR(mhpmcounter3h, CSR_MHPMCOUNTER3H)
@@ -1292,8 +1293,67 @@ DECLARE_CSR(mhpmcounter28h, CSR_MHPMCOUN
 DECLARE_CSR(mhpmcounter29h, CSR_MHPMCOUNTER29H)
 DECLARE_CSR(mhpmcounter30h, CSR_MHPMCOUNTER30H)
 DECLARE_CSR(mhpmcounter31h, CSR_MHPMCOUNTER31H)
+DECLARE_CSR(mhpmevent3, CSR_MHPMEVENT3)
+DECLARE_CSR(mhpmevent4, CSR_MHPMEVENT4)
+DECLARE_CSR(mhpmevent5, CSR_MHPMEVENT5)
+DECLARE_CSR(mhpmevent6, CSR_MHPMEVENT6)
+DECLARE_CSR(mhpmevent7, CSR_MHPMEVENT7)
+DECLARE_CSR(mhpmevent8, CSR_MHPMEVENT8)
+DECLARE_CSR(mhpmevent9, CSR_MHPMEVENT9)
+DECLARE_CSR(mhpmevent10, CSR_MHPMEVENT10)
+DECLARE_CSR(mhpmevent11, CSR_MHPMEVENT11)
+DECLARE_CSR(mhpmevent12, CSR_MHPMEVENT12)
+DECLARE_CSR(mhpmevent13, CSR_MHPMEVENT13)
+DECLARE_CSR(mhpmevent14, CSR_MHPMEVENT14)
+DECLARE_CSR(mhpmevent15, CSR_MHPMEVENT15)
+DECLARE_CSR(mhpmevent16, CSR_MHPMEVENT16)
+DECLARE_CSR(mhpmevent17, CSR_MHPMEVENT17)
+DECLARE_CSR(mhpmevent18, CSR_MHPMEVENT18)
+DECLARE_CSR(mhpmevent19, CSR_MHPMEVENT19)
+DECLARE_CSR(mhpmevent20, CSR_MHPMEVENT20)
+DECLARE_CSR(mhpmevent21, CSR_MHPMEVENT21)
+DECLARE_CSR(mhpmevent22, CSR_MHPMEVENT22)
+DECLARE_CSR(mhpmevent23, CSR_MHPMEVENT23)
+DECLARE_CSR(mhpmevent24, CSR_MHPMEVENT24)
+DECLARE_CSR(mhpmevent25, CSR_MHPMEVENT25)
+DECLARE_CSR(mhpmevent26, CSR_MHPMEVENT26)
+DECLARE_CSR(mhpmevent27, CSR_MHPMEVENT27)
+DECLARE_CSR(mhpmevent28, CSR_MHPMEVENT28)
+DECLARE_CSR(mhpmevent29, CSR_MHPMEVENT29)
+DECLARE_CSR(mhpmevent30, CSR_MHPMEVENT30)
+DECLARE_CSR(mhpmevent31, CSR_MHPMEVENT31)
+DECLARE_CSR(tselect, CSR_TSELECT)
+DECLARE_CSR(tdata1, CSR_TDATA1)
+DECLARE_CSR(tdata2, CSR_TDATA2)
+DECLARE_CSR(tdata3, CSR_TDATA3)
+DECLARE_CSR(dcsr, CSR_DCSR)
+DECLARE_CSR(dpc, CSR_DPC)
+DECLARE_CSR(dscratch, CSR_DSCRATCH)
+/* These registers are present in priv spec 1.9.1, dropped in 1.10.  */
+DECLARE_CSR(hstatus, CSR_HSTATUS)
+DECLARE_CSR(hedeleg, CSR_HEDELEG)
+DECLARE_CSR(hideleg, CSR_HIDELEG)
+DECLARE_CSR(hie, CSR_HIE)
+DECLARE_CSR(htvec, CSR_HTVEC)
+DECLARE_CSR(hscratch, CSR_HSCRATCH)
+DECLARE_CSR(hepc, CSR_HEPC)
+DECLARE_CSR(hcause, CSR_HCAUSE)
+DECLARE_CSR(hbadaddr, CSR_HBADADDR)
+DECLARE_CSR(hip, CSR_HIP)
+DECLARE_CSR(mbase, CSR_MBASE)
+DECLARE_CSR(mbound, CSR_MBOUND)
+DECLARE_CSR(mibase, CSR_MIBASE)
+DECLARE_CSR(mibound, CSR_MIBOUND)
+DECLARE_CSR(mdbase, CSR_MDBASE)
+DECLARE_CSR(mdbound, CSR_MDBOUND)
+DECLARE_CSR(mucounteren, CSR_MUCOUNTEREN)
+DECLARE_CSR(mscounteren, CSR_MSCOUNTEREN)
+DECLARE_CSR(mhcounteren, CSR_MHCOUNTEREN)
 #endif
 #ifdef DECLARE_CSR_ALIAS
+/* Ubadaddr is 0x043 in 1.9.1, but 0x043 is utval in 1.10.  */
+DECLARE_CSR_ALIAS(ubadaddr, CSR_UTVAL)
+/* Sptbr is 0x180 in 1.9.1, but 0x180 is satp in 1.10.  */
 DECLARE_CSR_ALIAS(sptbr, CSR_SATP)
 #endif
 #ifdef DECLARE_CAUSE
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/md5.sum ./md5.sum
--- /sourceware/snapshot-tmp/gdb/snapshot/current-gdb/update-snapshot/old/gdb-8.0.50.20171227/md5.sum	2017-12-27 01:52:24.000000000 +0000
+++ ./md5.sum	2018-01-02 01:52:42.000000000 +0000
@@ -40,7 +40,7 @@ ac3acf2dc4197d20a011e34dd8c2bc65  bfd/el
 b515cd5c69180816efb7fb344409e8b3  bfd/wasm-module.c
 876d59706f754194130d46334a9c2efd  bfd/elf64-mips.c
 f166d84c263d357d6eadb7a8d861e7a4  bfd/cpu-m9s12x.c
-4f621b3657fe690343e56869d7d3f25e  bfd/version.h
+94666d66883a9c7e31ef476d97cb38aa  bfd/version.h
 a11a835899b8428781e5df11be161cbf  bfd/cpu-tilegx.c
 1defa586e335cc6419634a11161d4347  bfd/coff-mcore.c
 9eb1c7d27ae726d800107588bfde381c  bfd/cpu-avr.c
@@ -227,7 +227,7 @@ afa6e087296ccd84e9a6ea65af9a12b6  bfd/do
 a11231531c5c3cd6e7babf06426a657e  bfd/doc/ChangeLog-9103
 f32b11f47b666164ab1aa78183a50b1e  bfd/doc/hash.texi
 4635778e69bcb490e44389e420542276  bfd/doc/syms.texi
-a01147dea85a611dbba340a61b949938  bfd/doc/bfdver.texi
+0cd1c12e27681b3ad90a4717cf3219d3  bfd/doc/bfdver.texi
 a4c51114e23cf3298c7c2880b21b05ac  bfd/doc/coffcode.texi
 d3185b1aa26e13ef16c1c673b932111a  bfd/doc/makefile.vms
 92392e39967cab61da7301b9a287f120  bfd/doc/bfd.info
@@ -857,7 +857,7 @@ f8cd7fc9b418f09cf72a1202cd580757  gdb/co
 eebd3fcd9c373512517ca80306eaa8e4  gdb/common/errors.h
 dc8ba535da4babe5ad72c96fc5c65b7f  gdb/common/common.host
 b4e2972c67cdc7a3f0d111dc12e0187a  gdb/common/format.c
-3aa6d6d350b05a822fc61207d06ef995  gdb/common/diagnostics.h
+0f28d2e8f16a6da1e454658a2ad6e097  gdb/common/diagnostics.h
 57848e077b4f622d0dccd2802bd5e356  gdb/common/run-time-clock.c
 f5e6489c9461e386561859a7b8e76375  gdb/common/errors.c
 47ba757935403c0593bba5bff4f24c76  gdb/common/gdb_vecs.h
@@ -1035,7 +1035,7 @@ e65342f35b5c11601e11caf3848b186d  gdb/py
 a269e1dec4aaf13e1ea096ba8d219f12  gdb/python/py-finishbreakpoint.c
 f08b400f261a50d57cc001995c1fb8b2  gdb/python/py-prettyprint.c
 eb03060b20d368160f013ce85f475bb6  gdb/python/py-evts.c
-59fdfee89b0de2418006bbe2407c51b8  gdb/target.h
+869137cf84be05fbfca7935a0fe1b1ee  gdb/target.h
 411866cf38917b81ea27e2134771d450  gdb/obsd-nat.h
 21b4c1cdb9ba074b1ec70776ba1487ab  gdb/frame-base.c
 1538f9ad318e1b24e3ca00458a0ca25c  gdb/fork-child.c
@@ -1162,7 +1162,7 @@ c46e82a86093b02e3951a22aaebeb47f  gdb/m8
 21b85dc2ed09d1125c8ab4fbdb043c7a  gdb/notify.defs
 f16feb2a2f970462900cca9bf80bf31e  gdb/bsd-uthread.h
 314250decac1a72db446312abcf215f1  gdb/inferior.h
-3fcf9e70df5e7cba9aa78d569473116d  gdb/reggroups.h
+def3fb085f624546f5e0a26a623e3f01  gdb/reggroups.h
 0995979778608fe7203391a85d13e743  gdb/copying.awk
 988d216b0e6a21cf66af0dfe58d08c4c  gdb/valprint.h
 e98805f06549050aaf0d02ddfc15c24c  gdb/amd64-fbsd-nat.c
@@ -1278,7 +1278,7 @@ f971d36e35ec0c3fce64b819d7891f15  gdb/Ch
 5e3d674fa1ff128e3602f0eca5513e4d  gdb/regcache.c
 b522dd4052bd01a0123e8d1136e2d813  gdb/thread.c
 eb1d43d072fa7109b36071f373a394a1  gdb/gdb_buildall.sh
-8def446eadb257676d584fb199e0e157  gdb/target-descriptions.c
+bcc11a2a8d2c946a988ff35dd506a3e1  gdb/target-descriptions.c
 715b61cbe01259278491f721bd6a34cf  gdb/target.c
 05f17178b818860144d10a1a9730a678  gdb/remote-sim.c
 44a447b7db8bf9a67c377f6df6d89509  gdb/rl78-tdep.c
@@ -1316,10 +1316,10 @@ e5d4020f467bc843f6879226cbc81831  gdb/al
 739e1ebfc484c017b99fa0511fd9e615  gdb/solib-aix.c
 5b650f456a42751afe57608722bef14a  gdb/warning.m4
 8dc1856a5563ed93d98af9b40269bfde  gdb/ppc-tdep.h
-ba4599ca8f455d968fed5da6fb94f348  gdb/dtrace-probe.c
+6f62b939092742167f0bbb560933cedd  gdb/dtrace-probe.c
 42b165ec3ece14eee76ad96fa7923ab2  gdb/configure.host
 06e30e43d1cd3ccb301fceb2835e03a4  gdb/x86-nat.h
-776d8817adb39ed522280dbdbb98f5e6  gdb/linux-thread-db.c
+ded4b39c78d848fbfdc59cd4c1e8106c  gdb/linux-thread-db.c
 7269a9e48ffdbd93825d0827949c27b5  gdb/c-exp.c
 7a95068691661e0d3e9a5877cde22630  gdb/alpha-linux-nat.c
 74dfdb7c28864e5b5bf9c03fea163eca  gdb/ada-exp.c
@@ -1328,7 +1328,7 @@ d7b18cd8731890f2035821798f9d818d  gdb/ti
 434d7ece0ae0a879ef744de263c71f7a  gdb/m32r-linux-nat.c
 aef3faca850b2f19129ac0aa2737c32b  gdb/sparc64-nbsd-nat.c
 a5a46eefc0f0b08261838c8ba1fcfc7b  gdb/gdb_bfd.c
-a917eae7ba65a0a6d8481e1c7c96734b  gdb/NEWS
+36c51744b6113548e10f8dde0fe05f7e  gdb/NEWS
 d71a091fa37a0fd76703d3f81e57fe5f  gdb/x86-nat.c
 01e29f7157f7c0a8f499ed2bfd7d553c  gdb/dcache.c
 0d50e9d49482c9d91c262de440e6cc93  gdb/ada-lex.l
@@ -1352,7 +1352,7 @@ e487232ba5f8e86a0e7163e1e4ad75f6  gdb/ob
 5052b57de2fd8b3515777bb814bcd394  gdb/ChangeLog-1999
 2466e8915ae52d07287dbdc5ad78ca0d  gdb/f-exp.y
 dd80ffaca27449ca269e0a5b8665e5ce  gdb/jit.h
-eb751c9366ddb8a76a7cd8f40707dd71  gdb/psymtab.c
+ec76d084a3e494125730c2798ec2203e  gdb/psymtab.c
 493efbc150438931c1d20ad2ebb9ca71  gdb/stack.h
 da71c479b68a4d95a79d36640b93c9c3  gdb/ChangeLog-2000
 ce0f1479e31d660a4e4c74115e68a515  gdb/tic6x-linux-tdep.c
@@ -1384,7 +1384,7 @@ ddafac86daa9a86d5c21449bc2d0fbb9  gdb/sc
 98ae3149acca3e1de077239a711e1bdf  gdb/coff-pe-read.c
 a0bc36a138527c532887a687099a1472  gdb/bcache.c
 e82e1a53dbb63d792fc8645192a4b2cb  gdb/gdb-gdb.gdb.in
-886eaf82503a242f7fbcd456e2f755d6  gdb/rust-exp.c
+d3a5df803e81a1b268adc0acbb921370  gdb/rust-exp.c
 f0daa1d13668c9eb0a4db6bbd5a72ca4  gdb/i386-linux-tdep.h
 f318ddca2db2704f2ee0d8aa7b00067c  gdb/tui/tui-winsource.h
 8429e8ade4274d5d0afc029ab0db3276  gdb/tui/tui-stack.h
@@ -1447,7 +1447,7 @@ f586a1275f803f1dcd60044795298e0b  gdb/ma
 8f950ad7d249147fd40d4014aae8945f  gdb/arch-utils.c
 d2d39a864ef877fc35762a42831bfb17  gdb/cp-valprint.c
 41925a15aaee36b9b92d52ae85c4cd4d  gdb/disable-implicit-rules.mk
-7c277d6f6e4becb8c55250b45ee87a4d  gdb/dwarf2read.c
+b97ac3573855b07bfe3fa20521bba51f  gdb/dwarf2read.c
 85f9b4c30e98b5c3695fadd04781b702  gdb/or1k-tdep.c
 c771bb1bc4dea79acea3f59647fd97f0  gdb/amd64-windows-tdep.c
 e4708e4b23e4e6ddd07c7245736d37b3  gdb/testsuite/config/cygmon.exp
@@ -2418,6 +2418,7 @@ d8baf70baaa2a3765bb777fefb9c9b22  gdb/te
 8d89e88e3a179eb3a7f1aace1ae43c6d  gdb/testsuite/gdb.base/jit.exp
 0657084428f2957ddb510db5135f742d  gdb/testsuite/gdb.base/attach-wait-input.c
 698f55b1d9dfac904a139999cd637393  gdb/testsuite/gdb.base/valgrind-infcall.exp
+a8253511126cc0e73c7b5006ddfab43e  gdb/testsuite/gdb.base/reggroups.exp
 917b1c0d4a61d5f2b7f74cb6ca9e2a59  gdb/testsuite/gdb.base/reread2.c
 f662e6282b879de2b6367ca98dd543af  gdb/testsuite/gdb.base/float.c
 d47cf600366a984537fe500bf1b0e33e  gdb/testsuite/gdb.base/miscexprs.c
@@ -2864,6 +2865,7 @@ b4cb62c5fe3ffab5c6b57948201faaba  gdb/te
 970f9849ecad238d6939ea7255a70fe4  gdb/testsuite/gdb.base/watchpoint-solib-shr.c
 8aaffee682418a9ff38f368c3bad8fd4  gdb/testsuite/gdb.base/dprintf-pending.c
 1ea088b852b87134ad1b9038b0dd2204  gdb/testsuite/gdb.base/store.c
+66f0b911b486e13605ffc5fdbc7d8eac  gdb/testsuite/gdb.base/reggroups.c
 533796b1540168b15dbaffba425e1b20  gdb/testsuite/gdb.base/disasm-optim.S
 e020033be5522a29023246de65517d9b  gdb/testsuite/gdb.base/symtab-search-order-1.c
 21242a8d4f99a2d2a6e4782719a3613f  gdb/testsuite/gdb.base/longjmp.exp
@@ -4280,7 +4282,7 @@ f79791a026889dd2e06055874c75baa7  gdb/te
 95c177bbeca4dd1ffb229aa2c32c8d5d  gdb/testsuite/gdb.go/integers.exp
 68d17058fa82304a192749f0eadc138d  gdb/testsuite/gdb.go/strings.go
 81b7ed6cb92c627d245bd2efc4b953b9  gdb/testsuite/gdb.go/methods.go
-3952f1d535453137b31c9e5f172d6afd  gdb/testsuite/ChangeLog
+48489c52375758282c31e05b2abab94b  gdb/testsuite/ChangeLog
 b3f11b21e5921c419a43f93720dedf85  gdb/testsuite/gdb.asm/empty.inc
 4e5c1139cf1a88a34cd138cb973f3009  gdb/testsuite/gdb.asm/asm-source.exp
 f1621bbbb2acbec5adef86d7d9549975  gdb/testsuite/gdb.asm/bfin.inc
@@ -4938,7 +4940,7 @@ ec9241c34e56cabb8f4eadadad6c69d3  gdb/te
 e14e8cc3e96d350310aaac726d4ea5e3  gdb/testsuite/gdb.disasm/t11_logs.s
 0c1e3ec24bd2800d158f367cb160a675  gdb/testsuite/gdb.disasm/t06_ari2.exp
 1531e9f2d8c5fe8c476a72c8621ac6f5  gdb/testsuite/gdb.disasm/hppa.s
-199c88f863fee020c1a97fb6862d82c5  gdb/testsuite/gdb.xml/tdesc-regs.exp
+48efebea0fbaea7ff7fbcf979861e602  gdb/testsuite/gdb.xml/tdesc-regs.exp
 d32b0ca67fe97ec2aad1c7a18a5ee9f7  gdb/testsuite/gdb.xml/maint_print_struct.exp
 4f957259a1af66b87b45b94b81dba00d  gdb/testsuite/gdb.xml/loop.xml
 ffb8babb8d3842ce62f7a85d2b21a420  gdb/testsuite/gdb.xml/maint_print_struct.xml
@@ -4948,7 +4950,7 @@ ba2eed086e27828f8725c6249416b112  gdb/te
 2fc93a19167410b9b3a47a67bd323984  gdb/testsuite/gdb.xml/tdesc-arch.exp
 daa7059790c3192e865c449168d6ae6d  gdb/testsuite/gdb.xml/tdesc-errors.exp
 f8e7043a6ec28fe297b2ed7aacd0501b  gdb/testsuite/gdb.xml/tdesc-unknown.xml
-8855f3b9b8c23f61fed4239c3fcad6d3  gdb/testsuite/gdb.xml/extra-regs.xml
+0708e0dc5f1e3f6ad3f7ec4f52dbc4d5  gdb/testsuite/gdb.xml/extra-regs.xml
 9bbc43406da2744f6c8a7c38b97bb02c  gdb/testsuite/gdb.xml/inc-2.xml
 b17141653a2a7f81010b78ba903cfdec  gdb/testsuite/gdb.xml/includes.xml
 6822163e38e7af33a0d81cdac6768ac9  gdb/testsuite/gdb.xml/core-only.xml
@@ -4968,55 +4970,55 @@ dd39a73007476afbc34296c28d56f00c  gdb/sy
 569409b2edfe7d71511c03f0ce4145db  gdb/f-valprint.c
 efed609ea392afa101ad15d6b88d1a6c  gdb/gdb_curses.h
 8108dd8f906f2654fecc74958cf383db  gdb/doc/psrc.sed
-25fb79b26a01a6a23cdeaa6d97c20f3c  gdb/doc/gdb.info-3
-7a7c8ee44772077be0d4e6169381aa54  gdb/doc/gdb.info-4
+f4cbd67068944e1180437b440f98b1fd  gdb/doc/gdb.info-3
+caaf4533407e6906f792ce4145a994df  gdb/doc/gdb.info-4
 ab0fe311032294b952da80585b8b90e7  gdb/doc/fdl.texi
 3d7b4a88ffa8e4dd1af1244ec5dbfc5d  gdb/doc/Makefile.in
-ce10f563905b74ea5622a18f86927dae  gdb/doc/gdb.info-7
+74ae77d131eb3c48d1fdf5dd61a05fc6  gdb/doc/gdb.info-7
 3e88538f371ece70b44cd38bf1a0d646  gdb/doc/observer.texi
-a4ddaa1a2074ef6790f899dd8ced22b3  gdb/doc/gdbserver.1
+e5371b05ffa0c4684b479bc6ddfd3b2b  gdb/doc/gdbserver.1
 c1a16c4a0157b4ca8876c7d024412623  gdb/doc/guile.texi
 f81a0e00e0cb9e41b078069fb9bedb07  gdb/doc/stack_frame.txt
 259d4d661f188d2df9adb15f7893bc4c  gdb/doc/stabs.info
-dbb6dcc74020fd2243db06dca6933ce2  gdb/doc/gdb.info-5
+ba26625bcd7af8c4759227d55e8abefb  gdb/doc/gdb.info-5
 568d773184433e38a4c967fbcc881c7f  gdb/doc/agentexpr.texi
 66674dc351ba95941f422dc18cae24bb  gdb/doc/.gitignore
-e345454b60b769fd36cc033ace6ea377  gdb/doc/gdb.info-1
+b2de2c3a495f6f533ac162cdceac0cf3  gdb/doc/gdb.info-1
 d5d06eaf9b4d44aa442a4a281aa9aea4  gdb/doc/a4rc.sed
-0da96834d24c9f06a62c3c32c615d543  gdb/doc/gdb.info-6
-b5b8b9148a808aa6f693f4d227f34cde  gdb/doc/gdb.texinfo
+1ea4f2a54c63985e556baf2a4d2b6086  gdb/doc/gdb.info-6
+791f25a738dca756fa3afe22d90ea542  gdb/doc/gdb.texinfo
 553b7fe1bf4b5d8b96fdb8cd83503de1  gdb/doc/stack_frame.svg
 04c82b1da7e894a6555868e4f86225af  gdb/doc/filter-for-doxygen
 4fc43d6768cf1e2e354f31afd3977e00  gdb/doc/Doxyfile-gdb-api.in
 f7b5e594a1123b60be255ad99e1fa958  gdb/doc/annotate.info
-22719db3d99722d35ea99879a016dc02  gdb/doc/gdb.info-2
+12a30ddd466bd7c14643d9fc6a16ec7f  gdb/doc/gdb.info-2
 f4de6bc91bf36f24e3511b52c0cd8257  gdb/doc/refcard.tex
 6076d300a46651562d4ecd0604442414  gdb/doc/stack_frame.png
-66e95b2c2e7ed48f77c5f6809c899665  gdb/doc/gdb.info
+310e466e3fb2f33cb8164798c13d5854  gdb/doc/gdb.info
 c3871cab8ebd62f7e7243b256a86bdda  gdb/doc/python.texi
 8a4aee08d4127ecb844a633b1f871326  gdb/doc/stabs.texinfo
-af2e67111a0de16e1ef7a792d2e43f7e  gdb/doc/ChangeLog
-0405e525bbd46cc7f2790f4144f1a259  gdb/doc/gdb.1
-152fe807a34b2073b9ab79037cb3ba36  gdb/doc/gcore.1
+88f4d48c4e659ce69a7cc639717a0527  gdb/doc/ChangeLog
+6856ffe7a09131ef06ee532f9d221c74  gdb/doc/gdb.1
+b36327a92c54ec7e8c162aeb69f43915  gdb/doc/gcore.1
 d39233c86ed6a6dc9e853ae6a11fe03e  gdb/doc/stack_frame.pdf
 591694df493e64e682b16ffd8b2083d9  gdb/doc/Doxyfile-base.in
 66028f53511c3cc83819e12b44647ae8  gdb/doc/all-cfg.texi
 bf96494e6e4d346175babd5ef9781882  gdb/doc/gpl.texi
 cd5e3faa9bd1b684a73c7d527cdb4988  gdb/doc/filter-params.pl
 7bfdb0765c5d050d204fbb30aeeba0d8  gdb/doc/stack_frame.eps
-a8ce543fe9a4a450f0a2451ddb99f952  gdb/doc/gdbinit.5
+b64cf307c74d7cc681ea189f799341d1  gdb/doc/gdbinit.5
 1192f4fe7137f234e4e775edad1f6b67  gdb/doc/Doxyfile-gdb-xref.in
 3dbfac6a018cf4a1cdba9576425d37ad  gdb/doc/annotate.texinfo
 ad3c3c9a187c8d44e9afe447d27b59fc  gdb/doc/doxy-index.in
 148ac88916dea8885e5580c7a08ed2e0  gdb/doc/Doxyfile-gdbserver.in
 73ec71cd3b2e7f61bc530f19d4b35056  gdb/doc/lpsrc.sed
-f73ec814c90a4afbf25f626bcee9d6e4  gdb/parse.c
+90aa60ec368344893f0a5443e9b6a54f  gdb/parse.c
 3a25bfe2fa9f810f1e4f22912bfe56fe  gdb/fbsd-nat.c
 b3de3b9ffdd7d7abe59217d2045d0175  gdb/windows-tdep.h
-2dd63e37694a30517c1f35a72d2de7b3  gdb/stap-probe.h
+e9eda41e650968effa3ebee656b16e56  gdb/stap-probe.h
 601336088e724db50f8bc0a7dfae5f8a  gdb/observer.sh
 1f68d3272b33b380724fe731f1716f7b  gdb/ChangeLog-3.x
-81651f9910a37b79d8fb1c31f2abf1e3  gdb/language.h
+dbcf20040aeb2458d86f577156edfe0b  gdb/language.h
 b1c5ceebd4ba8fe850300f69f06535b2  gdb/tracefile.c
 b0f9af374a407a5c813d16a8ec219498  gdb/arm-bsd-tdep.c
 d8b2a9078d728afd0d8f44c48cc7c40d  gdb/mi/mi-console.c
@@ -5127,7 +5129,7 @@ d42cb76a2da9fafd7067b3f7b8c2608f  gdb/du
 717e5ac948a3c73a8422716cec5b6fb5  gdb/arm-fbsd-tdep.h
 9f5b9f6467a7f9637d414236c566d6bf  gdb/tracefile.h
 699699a3f946df32ab160f74839a08d1  gdb/sh-nbsd-nat.c
-4944b7af01b17b93d6ddb06445e5cd34  gdb/stap-probe.c
+d1039fd8311357e97acf0fc29eba20c3  gdb/stap-probe.c
 84b9ea8a2582a827121b49799394bb43  gdb/make-target-delegates
 ffc3f4d750cbe3e9486638887688537a  gdb/features/s390-linux64v1.xml
 69701d0a7c97718d55272ce8c4ed07e3  gdb/features/microblaze-with-stack-protect.c
@@ -5410,7 +5412,7 @@ e66fe88459aaf56adf4a672711545d54  gdb/fe
 d8bcd014db604b2089f82d3e77cb07d8  gdb/features/nds32.xml
 7f829c25b2e6de6eeb024f7d6dc5e78a  gdb/features/aarch64-fpu.xml
 9d9baf6ee79baadc2a660370cb2c1afc  gdb/gdb_indent.sh
-d71c31e4b36ea78abb96e2fcc8ab453b  gdb/infcmd.c
+fc2e1c89aa64b948e6ce26788ab23f5c  gdb/infcmd.c
 0cb7172d62d731040e19306d1f70f939  gdb/valprint.c
 db801d75e3778372c2ff98de2fd78480  gdb/solib-target.c
 4693cfdef2791ed1cf3573d4b188584e  gdb/tilegx-tdep.c
@@ -5497,20 +5499,20 @@ d2364a105be31f01cdf5741787c965d8  gdb/co
 2cbb536ce11c51ffb746703fdf1c49b2  gdb/std-regs.c
 ebf0676f3a704787b0b07d24df62f2f4  gdb/go-lang.h
 cf150abc233098ae33cf428cf9574da8  gdb/i386-windows-nat.c
-1de6ec8343c1366e1ee27ca9de8364bf  gdb/po/gdb.pot
+1adc371153f9b5644da4a73c42d17566  gdb/po/gdb.pot
 1851bff0653201a488dcae18dde7efad  gdb/po/gdbtext
 9fa5a9cb0abe3488e3bf95b7414a7c2f  gdb/break-catch-syscall.c
-85a6a0ed7cadcc92f0125cdbdeaf7310  gdb/ada-lang.c
+08331d768183f227378b846229dcf58a  gdb/ada-lang.c
 ad0d2422dd782cdf9b19d56747627d8e  gdb/dcache.h
 fa2ac080cabd59f400eda5c3f85a31ef  gdb/system-gdbinit/elinos.py
 35011d09b0fa3f7d40c5971e32a05c65  gdb/system-gdbinit/wrs-linux.py
 251c5422afd0a3990fa9fac7cee4ac51  gdb/i386-v4-nat.c
 1a4216d027e271b71df508f83370afd9  gdb/m68k-bsd-tdep.c
-74a136eb1019518a666a6b1b162a6506  gdb/reggroups.c
+fc7cc1482b8fe3aa6325b1efc86a67b1  gdb/reggroups.c
 91d5142a93c8ca1c3a5bda22c91b4d9a  gdb/gdb_wchar.h
 a06b64d3cb5f31d5732b3b586d93236c  gdb/annotate.h
 3f6a11fb93c617a251d6a4db511bb759  gdb/ppc-fbsd-tdep.h
-6ff33306303178b120897a78026261ab  gdb/parser-defs.h
+abd3b7aa71c5bf4dee175559d11fc76d  gdb/parser-defs.h
 b8d0773949588cf353912c02eb27ec89  gdb/disasm.c
 4bf4840c4ede3e48b5117827eba327eb  gdb/memattr.h
 ef8408919b14abd7c79719ffc6f67e35  gdb/moxie-tdep.h
@@ -5527,7 +5529,7 @@ b6c9a59824f661a483ea243361894279  gdb/ex
 bd0973f196c3d6eaf975553a43aacd4c  gdb/i386-fbsd-nat.c
 d3ea6767b724964cd167fceeadef6457  gdb/mipsread.c
 dd32a42e79bd9aa6a9aa4253cbc9050a  gdb/amd64-darwin-tdep.c
-ec1c53cde6c6db2b13f1718842674851  gdb/ChangeLog
+d7de69b94b0271e7d0cd1b552630892f  gdb/ChangeLog
 e860e6934b52d9ac7114f5ff0e630993  gdb/go-typeprint.c
 f5752bfff54bbf79f47901ba6ccdcd28  gdb/score-tdep.c
 b3d86dffb92e541a1d3ac856fbb6a2b5  gdb/m88k-bsd-nat.c
@@ -5894,7 +5896,7 @@ ee580c3627976827e60c50cacc584b2c  gdb/sp
 16f727e9c06aee8d0774f39636060e70  gdb/macroexp.h
 85285f5203d664951dbd7d62e52cb9c1  gdb/m68k-linux-nat.c
 e1b562377d3ec49d8fe291a7b6e28855  gdb/arm-nbsd-tdep.c
-2d745eda9a866b7a6f49970232ce405c  gdb/rust-exp.y
+8fdff0a42cbb887d253d167f034d2286  gdb/rust-exp.y
 d8b853ba947a6f8d2f19140d18ee151c  gdb/linux-nat.c
 4a81a7aee335c532dff847e7c1738eb2  gdb/producer.h
 f55456e52866ae19cdac9c455f2ec11a  gdb/nds32-tdep.h
@@ -6260,7 +6262,7 @@ e59d02e43e1445c41e5d01d16c5b49d4  gdb/aa
 0063b64b0ff5c7d70d24078600e9b324  gdb/sparc-ravenscar-thread.c
 c3ee3c6f372fe1cd2af8671bea5d1611  gdb/ser-unix.c
 ef31f9a2077e6712e511304392f6e437  gdb/m32c-tdep.c
-c0345e17983a9ae0de2ba5eb7683a7ea  gdb/amd64-linux-tdep.c
+e98bf6c541f939c6b6fe88406b697f91  gdb/amd64-linux-tdep.c
 66992eed3d65b25ac396a0159eddc207  gdb/sparc-linux-tdep.c
 d19a5f0ec739607efbcede84e76c60fd  gdb/sparc-linux-nat.c
 659937b72651e462ab6b6c0b6838bc17  gdb/i386-fbsd-tdep.c
@@ -6419,7 +6421,7 @@ ade84972dc1fa8ee3f6c8fee92784658  includ
 55f9cdbf8057108d9c2cc971b4b7b610  include/opcode/mn10300.h
 4c4d4090a726afc5c7779373b4282ca0  include/opcode/m68k.h
 2f6b03e96520e0f23a374d6476f71a49  include/opcode/pru.h
-0c10bd106f9f985b5ed8a58b39ffd11f  include/opcode/riscv-opc.h
+1c16e8f21e8293a11c51b391758c92dd  include/opcode/riscv-opc.h
 9dea06de5c306673616d0446e4a9b61c  include/opcode/pyr.h
 626ee91269a3abed8473d8c3fb7e8c9f  include/opcode/i860.h
 61c994534f1be67de31c0d685cfc068e  include/opcode/arc.h
@@ -6536,7 +6538,7 @@ df5f2b31cb16706ccacd16b398614faf  includ
 919885747a8a8ecc4759413d2fa07987  include/ieee.h
 b485b8eefdc60030d51b61cbbfa0ea89  include/hashtab.h
 337d3c2716349b6f12270b01660e2e50  include/gcc-interface.h
-1b75091055a4d440c552fcabaf823b45  include/ChangeLog
+b1ac46c93c926e225982136168e53a06  include/ChangeLog
 00d8545a538bb46d749065d6b89d6a5c  include/dis-asm.h
 07ab991f776d5bb981e8cd92e9131670  include/splay-tree.h
 be2a8159cc57ae59dbd6b768803fe27f  include/filenames.h
