diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/bfd/version.h ./bfd/version.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/bfd/version.h	2019-09-10 02:05:57.000000000 +0000
+++ ./bfd/version.h	2019-09-17 02:06:19.000000000 +0000
@@ -16,7 +16,7 @@
 
    In releases, the date is not included in either version strings or
    sonames.  */
-#define BFD_VERSION_DATE 20190910
+#define BFD_VERSION_DATE 20190917
 #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/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/djunpack.bat ./djunpack.bat
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/djunpack.bat	2019-09-10 02:10:09.000000000 +0000
+++ ./djunpack.bat	2019-09-17 02:10:17.000000000 +0000
@@ -17,8 +17,8 @@ Rem
 Rem The following 2 lines need to be changed with each new GDB release, to
 Rem be identical to the name of the top-level directory where the GDB
 Rem distribution unpacks itself.
-set GDBVER=$package-8.3.0.20190910
-if "%GDBVER%"=="$package-8.3.0.20190910" GoTo EnvOk
+set GDBVER=$package-8.3.0.20190917
+if "%GDBVER%"=="$package-8.3.0.20190917" 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/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/ChangeLog ./gdb/ChangeLog
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/ChangeLog	2019-09-10 02:05:58.000000000 +0000
+++ ./gdb/ChangeLog	2019-09-17 02:06:20.000000000 +0000
@@ -1,3 +1,20 @@
+2019-06-28  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+	PR breakpoints/24541
+	* gdbarch.c: Regenerate.
+	* gdbarch.h: Regenerate.
+	* gdbarch.sh: Add 'stap_adjust_register'.
+	* i386-tdep.c: Include '<unordered_set>'.
+	(i386_stap_adjust_register): New function.
+	(i386_elf_init_abi): Register 'i386_stap_adjust_register'.
+	* stap-probe.c (stap_parse_register_operand): Call
+	'gdbarch_stap_adjust_register'.
+
+2019-05-16  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+	* stap-probe.c (stap_parse_register_operand): Make "regname" an
+	"std::string", simplifying the algorithm.
+
 2019-05-28  Alan Hayward  <alan.hayward@arm.com>
 
 	* event-top.c: Remove include comment.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/doc/gcore.1 ./gdb/doc/gcore.1
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/doc/gcore.1	2019-09-10 02:10:01.000000000 +0000
+++ ./gdb/doc/gcore.1	2019-09-17 02:10:10.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GCORE 1"
-.TH GCORE 1 "2019-09-10" "gdb-8.3.0.20190910-git" "GNU Development Tools"
+.TH GCORE 1 "2019-09-17" "gdb-8.3.0.20190917-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/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/doc/gdb.1 ./gdb/doc/gdb.1
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/doc/gdb.1	2019-09-10 02:10:00.000000000 +0000
+++ ./gdb/doc/gdb.1	2019-09-17 02:10:10.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDB 1"
-.TH GDB 1 "2019-09-10" "gdb-8.3.0.20190910-git" "GNU Development Tools"
+.TH GDB 1 "2019-09-17" "gdb-8.3.0.20190917-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/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/doc/gdb-add-index.1 ./gdb/doc/gdb-add-index.1
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/doc/gdb-add-index.1	2019-09-10 02:10:01.000000000 +0000
+++ ./gdb/doc/gdb-add-index.1	2019-09-17 02:10:10.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDB-ADD-INDEX 1"
-.TH GDB-ADD-INDEX 1 "2019-09-10" "gdb-8.3.0.20190910-git" "GNU Development Tools"
+.TH GDB-ADD-INDEX 1 "2019-09-17" "gdb-8.3.0.20190917-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/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/doc/gdb.info ./gdb/doc/gdb.info
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/doc/gdb.info	2019-09-10 02:09:58.000000000 +0000
+++ ./gdb/doc/gdb.info	2019-09-17 02:10:07.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of 'Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 8.3.0.20190910-git.
+Source-Level Debugger' for GDB (GDB) Version 8.3.0.20190917-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/doc/gdb.info-1 ./gdb/doc/gdb.info-1
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/doc/gdb.info-1	2019-09-10 02:09:45.000000000 +0000
+++ ./gdb/doc/gdb.info-1	2019-09-17 02:09:55.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of 'Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 8.3.0.20190910-git.
+Source-Level Debugger' for GDB (GDB) Version 8.3.0.20190917-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
@@ -44,7 +44,7 @@ Debugging with GDB
 
 This file describes GDB, the GNU symbolic debugger.
 
-   This is the Tenth Edition, for GDB (GDB) Version 8.3.0.20190910-git.
+   This is the Tenth Edition, for GDB (GDB) Version 8.3.0.20190917-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
@@ -507,7 +507,7 @@ Let us use GDB to try to see what is goi
      There is absolutely no warranty for GDB; type "show warranty"
       for details.
 
-     GDB 8.3.0.20190910-git, Copyright 1999 Free Software Foundation, Inc...
+     GDB 8.3.0.20190917-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/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/doc/gdb.info-2 ./gdb/doc/gdb.info-2
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/doc/gdb.info-2	2019-09-10 02:09:46.000000000 +0000
+++ ./gdb/doc/gdb.info-2	2019-09-17 02:09:56.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of 'Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 8.3.0.20190910-git.
+Source-Level Debugger' for GDB (GDB) Version 8.3.0.20190917-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/doc/gdb.info-3 ./gdb/doc/gdb.info-3
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/doc/gdb.info-3	2019-09-10 02:09:48.000000000 +0000
+++ ./gdb/doc/gdb.info-3	2019-09-17 02:09:58.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of 'Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 8.3.0.20190910-git.
+Source-Level Debugger' for GDB (GDB) Version 8.3.0.20190917-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/doc/gdb.info-4 ./gdb/doc/gdb.info-4
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/doc/gdb.info-4	2019-09-10 02:09:51.000000000 +0000
+++ ./gdb/doc/gdb.info-4	2019-09-17 02:10:01.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of 'Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 8.3.0.20190910-git.
+Source-Level Debugger' for GDB (GDB) Version 8.3.0.20190917-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/doc/gdb.info-5 ./gdb/doc/gdb.info-5
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/doc/gdb.info-5	2019-09-10 02:09:53.000000000 +0000
+++ ./gdb/doc/gdb.info-5	2019-09-17 02:10:03.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of 'Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 8.3.0.20190910-git.
+Source-Level Debugger' for GDB (GDB) Version 8.3.0.20190917-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/doc/gdb.info-6 ./gdb/doc/gdb.info-6
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/doc/gdb.info-6	2019-09-10 02:09:55.000000000 +0000
+++ ./gdb/doc/gdb.info-6	2019-09-17 02:10:05.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of 'Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 8.3.0.20190910-git.
+Source-Level Debugger' for GDB (GDB) Version 8.3.0.20190917-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
@@ -2495,7 +2495,7 @@ and TeX (or 'texi2roff') to typeset the 
 
    GDB includes an already formatted copy of the on-line Info version of
 this manual in the 'gdb' subdirectory.  The main Info file is
-'gdb-8.3.0.20190910-git/gdb/gdb.info', and it refers to subordinate
+'gdb-8.3.0.20190917-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'
@@ -2505,8 +2505,8 @@ program, available as part of the GNU Te
 Info formatting programs, such as 'texinfo-format-buffer' or 'makeinfo'.
 
    If you have 'makeinfo' installed, and are in the top level GDB source
-directory ('gdb-8.3.0.20190910-git', in the case of version
-8.3.0.20190910-git), you can make the Info file by typing:
+directory ('gdb-8.3.0.20190917-git', in the case of version
+8.3.0.20190917-git), you can make the Info file by typing:
 
      cd gdb
      make gdb.info
@@ -2531,7 +2531,7 @@ On its own, TeX cannot either read or ty
 
    If you have TeX and a DVI printer program installed, you can typeset
 and print this manual.  First switch to the 'gdb' subdirectory of the
-main source directory (for example, to 'gdb-8.3.0.20190910-git/gdb') and
+main source directory (for example, to 'gdb-8.3.0.20190917-git/gdb') and
 type:
 
      make gdb.dvi
@@ -2540,8 +2540,8 @@ type:
 
    ---------- Footnotes ----------
 
-   (1) In 'gdb-8.3.0.20190910-git/gdb/refcard.ps' of the version
-8.3.0.20190910-git release.
+   (1) In 'gdb-8.3.0.20190917-git/gdb/refcard.ps' of the version
+8.3.0.20190917-git release.
 
 
 File: gdb.info,  Node: Installing GDB,  Next: Maintenance Commands,  Prev: Formatting Documentation,  Up: Top
@@ -2692,35 +2692,35 @@ preparing GDB for installation; you can 
 a single directory, whose name is usually composed by appending the
 version number to 'gdb'.
 
-   For example, the GDB version 8.3.0.20190910-git distribution is in
-the 'gdb-8.3.0.20190910-git' directory.  That directory contains:
+   For example, the GDB version 8.3.0.20190917-git distribution is in
+the 'gdb-8.3.0.20190917-git' directory.  That directory contains:
 
-'gdb-8.3.0.20190910-git/configure (and supporting files)'
+'gdb-8.3.0.20190917-git/configure (and supporting files)'
      script for configuring GDB and all its supporting libraries
 
-'gdb-8.3.0.20190910-git/gdb'
+'gdb-8.3.0.20190917-git/gdb'
      the source specific to GDB itself
 
-'gdb-8.3.0.20190910-git/bfd'
+'gdb-8.3.0.20190917-git/bfd'
      source for the Binary File Descriptor library
 
-'gdb-8.3.0.20190910-git/include'
+'gdb-8.3.0.20190917-git/include'
      GNU include files
 
-'gdb-8.3.0.20190910-git/libiberty'
+'gdb-8.3.0.20190917-git/libiberty'
      source for the '-liberty' free software library
 
-'gdb-8.3.0.20190910-git/opcodes'
+'gdb-8.3.0.20190917-git/opcodes'
      source for the library of opcode tables and disassemblers
 
-'gdb-8.3.0.20190910-git/readline'
+'gdb-8.3.0.20190917-git/readline'
      source for the GNU command-line interface
 
    There may be other subdirectories as well.
 
    The simplest way to configure and build GDB is to run 'configure'
 from the 'gdb-VERSION-NUMBER' source directory, which in this example is
-the 'gdb-8.3.0.20190910-git' directory.
+the 'gdb-8.3.0.20190917-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
@@ -2728,7 +2728,7 @@ platform on which GDB will run as an arg
 
    For example:
 
-     cd gdb-8.3.0.20190910-git
+     cd gdb-8.3.0.20190917-git
      ./configure
      make
 
@@ -2776,13 +2776,13 @@ to specify a path to find 'configure' it
 directory.  If the path to 'configure' would be the same as the argument
 to '--srcdir', you can leave out the '--srcdir' option; it is assumed.)
 
-   For example, with version 8.3.0.20190910-git, you can build GDB in a
+   For example, with version 8.3.0.20190917-git, you can build GDB in a
 separate directory for a Sun 4 like this:
 
-     cd gdb-8.3.0.20190910-git
+     cd gdb-8.3.0.20190917-git
      mkdir ../gdb-sun4
      cd ../gdb-sun4
-     ../gdb-8.3.0.20190910-git/configure
+     ../gdb-8.3.0.20190917-git/configure
      make
 
    When 'configure' builds a configuration using a remote source
@@ -2793,7 +2793,7 @@ the example, you'd find the Sun 4 librar
 
    Make sure that your path to the 'configure' script has just one
 instance of 'gdb' in it.  If your path to 'configure' looks like
-'../gdb-8.3.0.20190910-git/gdb/configure', you are configuring only one
+'../gdb-8.3.0.20190917-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'.
 
@@ -2809,8 +2809,8 @@ a configured directory--whatever directo
 
    The 'Makefile' that 'configure' generates in each source directory
 also runs recursively.  If you type 'make' in a source directory such as
-'gdb-8.3.0.20190910-git' (or in a separate configured directory
-configured with '--srcdir=DIRNAME/gdb-8.3.0.20190910-git'), you will
+'gdb-8.3.0.20190917-git' (or in a separate configured directory
+configured with '--srcdir=DIRNAME/gdb-8.3.0.20190917-git'), you will
 build all the required libraries, and then build GDB.
 
    When you have multiple hosts or targets configured in separate
@@ -2855,7 +2855,7 @@ you can use it to test your guesses on a
      Invalid configuration `i986v': machine `i986v' not recognized
 
 'config.sub' is also distributed in the GDB source directory
-('gdb-8.3.0.20190910-git', for version 8.3.0.20190910-git).
+('gdb-8.3.0.20190917-git', for version 8.3.0.20190917-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/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/doc/gdb.info-7 ./gdb/doc/gdb.info-7
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/doc/gdb.info-7	2019-09-10 02:09:57.000000000 +0000
+++ ./gdb/doc/gdb.info-7	2019-09-17 02:10:07.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of 'Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 8.3.0.20190910-git.
+Source-Level Debugger' for GDB (GDB) Version 8.3.0.20190917-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/doc/gdb.info-8 ./gdb/doc/gdb.info-8
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/doc/gdb.info-8	2019-09-10 02:09:58.000000000 +0000
+++ ./gdb/doc/gdb.info-8	2019-09-17 02:10:07.000000000 +0000
@@ -21,7 +21,7 @@ END-INFO-DIR-ENTRY
    This file documents the GNU debugger GDB.
 
    This is the Tenth Edition, of 'Debugging with GDB: the GNU
-Source-Level Debugger' for GDB (GDB) Version 8.3.0.20190910-git.
+Source-Level Debugger' for GDB (GDB) Version 8.3.0.20190917-git.
 
    Copyright (C) 1988-2019 Free Software Foundation, Inc.
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/doc/gdbinit.5 ./gdb/doc/gdbinit.5
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/doc/gdbinit.5	2019-09-10 02:10:01.000000000 +0000
+++ ./gdb/doc/gdbinit.5	2019-09-17 02:10:11.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDBINIT 5"
-.TH GDBINIT 5 "2019-09-10" "gdb-8.3.0.20190910-git" "GNU Development Tools"
+.TH GDBINIT 5 "2019-09-17" "gdb-8.3.0.20190917-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/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/doc/gdbserver.1 ./gdb/doc/gdbserver.1
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/doc/gdbserver.1	2019-09-10 02:10:01.000000000 +0000
+++ ./gdb/doc/gdbserver.1	2019-09-17 02:10:10.000000000 +0000
@@ -124,7 +124,7 @@
 .\" ========================================================================
 .\"
 .IX Title "GDBSERVER 1"
-.TH GDBSERVER 1 "2019-09-10" "gdb-8.3.0.20190910-git" "GNU Development Tools"
+.TH GDBSERVER 1 "2019-09-17" "gdb-8.3.0.20190917-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/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/gdbarch.c ./gdb/gdbarch.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/gdbarch.c	2019-09-10 02:05:59.000000000 +0000
+++ ./gdb/gdbarch.c	2019-09-17 02:06:21.000000000 +0000
@@ -323,6 +323,7 @@ struct gdbarch
   const char * stap_gdb_register_suffix;
   gdbarch_stap_is_single_operand_ftype *stap_is_single_operand;
   gdbarch_stap_parse_special_token_ftype *stap_parse_special_token;
+  gdbarch_stap_adjust_register_ftype *stap_adjust_register;
   gdbarch_dtrace_parse_probe_argument_ftype *dtrace_parse_probe_argument;
   gdbarch_dtrace_probe_is_enabled_ftype *dtrace_probe_is_enabled;
   gdbarch_dtrace_enable_probe_ftype *dtrace_enable_probe;
@@ -685,6 +686,7 @@ verify_gdbarch (struct gdbarch *gdbarch)
   /* Skip verify of stap_gdb_register_suffix, invalid_p == 0 */
   /* Skip verify of stap_is_single_operand, has predicate.  */
   /* Skip verify of stap_parse_special_token, has predicate.  */
+  /* Skip verify of stap_adjust_register, has predicate.  */
   /* Skip verify of dtrace_parse_probe_argument, has predicate.  */
   /* Skip verify of dtrace_probe_is_enabled, has predicate.  */
   /* Skip verify of dtrace_enable_probe, has predicate.  */
@@ -1389,6 +1391,12 @@ gdbarch_dump (struct gdbarch *gdbarch, s
                       "gdbarch_dump: stack_frame_destroyed_p = <%s>\n",
                       host_address_to_string (gdbarch->stack_frame_destroyed_p));
   fprintf_unfiltered (file,
+                      "gdbarch_dump: gdbarch_stap_adjust_register_p() = %d\n",
+                      gdbarch_stap_adjust_register_p (gdbarch));
+  fprintf_unfiltered (file,
+                      "gdbarch_dump: stap_adjust_register = <%s>\n",
+                      host_address_to_string (gdbarch->stap_adjust_register));
+  fprintf_unfiltered (file,
                       "gdbarch_dump: stap_gdb_register_prefix = %s\n",
                       pstring (gdbarch->stap_gdb_register_prefix));
   fprintf_unfiltered (file,
@@ -4484,6 +4492,30 @@ set_gdbarch_stap_parse_special_token (st
 }
 
 int
+gdbarch_stap_adjust_register_p (struct gdbarch *gdbarch)
+{
+  gdb_assert (gdbarch != NULL);
+  return gdbarch->stap_adjust_register != NULL;
+}
+
+void
+gdbarch_stap_adjust_register (struct gdbarch *gdbarch, struct stap_parse_info *p, std::string &regname, int regnum)
+{
+  gdb_assert (gdbarch != NULL);
+  gdb_assert (gdbarch->stap_adjust_register != NULL);
+  if (gdbarch_debug >= 2)
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_stap_adjust_register called\n");
+  gdbarch->stap_adjust_register (gdbarch, p, regname, regnum);
+}
+
+void
+set_gdbarch_stap_adjust_register (struct gdbarch *gdbarch,
+                                  gdbarch_stap_adjust_register_ftype stap_adjust_register)
+{
+  gdbarch->stap_adjust_register = stap_adjust_register;
+}
+
+int
 gdbarch_dtrace_parse_probe_argument_p (struct gdbarch *gdbarch)
 {
   gdb_assert (gdbarch != NULL);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/gdbarch.h ./gdb/gdbarch.h
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/gdbarch.h	2019-09-10 02:05:59.000000000 +0000
+++ ./gdb/gdbarch.h	2019-09-17 02:06:21.000000000 +0000
@@ -1338,6 +1338,36 @@ typedef int (gdbarch_stap_parse_special_
 extern int gdbarch_stap_parse_special_token (struct gdbarch *gdbarch, struct stap_parse_info *p);
 extern void set_gdbarch_stap_parse_special_token (struct gdbarch *gdbarch, gdbarch_stap_parse_special_token_ftype *stap_parse_special_token);
 
+/* Perform arch-dependent adjustments to a register name.
+  
+   In very specific situations, it may be necessary for the register
+   name present in a SystemTap probe's argument to be handled in a
+   special way.  For example, on i386, GCC may over-optimize the
+   register allocation and use smaller registers than necessary.  In
+   such cases, the client that is reading and evaluating the SystemTap
+   probe (ourselves) will need to actually fetch values from the wider
+   version of the register in question.
+  
+   To illustrate the example, consider the following probe argument
+   (i386):
+  
+      4@%ax
+  
+   This argument says that its value can be found at the %ax register,
+   which is a 16-bit register.  However, the argument's prefix says
+   that its type is "uint32_t", which is 32-bit in size.  Therefore, in
+   this case, GDB should actually fetch the probe's value from register
+   %eax, not %ax.  In this scenario, this function would actually
+   replace the register name from %ax to %eax.
+  
+   The rationale for this can be found at PR breakpoints/24541. */
+
+extern int gdbarch_stap_adjust_register_p (struct gdbarch *gdbarch);
+
+typedef void (gdbarch_stap_adjust_register_ftype) (struct gdbarch *gdbarch, struct stap_parse_info *p, std::string &regname, int regnum);
+extern void gdbarch_stap_adjust_register (struct gdbarch *gdbarch, struct stap_parse_info *p, std::string &regname, int regnum);
+extern void set_gdbarch_stap_adjust_register (struct gdbarch *gdbarch, gdbarch_stap_adjust_register_ftype *stap_adjust_register);
+
 /* DTrace related functions.
    The expression to compute the NARTGth+1 argument to a DTrace USDT probe.
    NARG must be >= 0. */
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/gdbarch.sh ./gdb/gdbarch.sh
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/gdbarch.sh	2019-09-10 02:05:59.000000000 +0000
+++ ./gdb/gdbarch.sh	2019-09-17 02:06:21.000000000 +0000
@@ -1022,6 +1022,31 @@ M;int;stap_is_single_operand;const char 
 # parser), and should advance the buffer pointer (p->arg).
 M;int;stap_parse_special_token;struct stap_parse_info *p;p
 
+# Perform arch-dependent adjustments to a register name.
+#
+# In very specific situations, it may be necessary for the register
+# name present in a SystemTap probe's argument to be handled in a
+# special way.  For example, on i386, GCC may over-optimize the
+# register allocation and use smaller registers than necessary.  In
+# such cases, the client that is reading and evaluating the SystemTap
+# probe (ourselves) will need to actually fetch values from the wider
+# version of the register in question.
+#
+# To illustrate the example, consider the following probe argument
+# (i386):
+#
+#    4@%ax
+#
+# This argument says that its value can be found at the %ax register,
+# which is a 16-bit register.  However, the argument's prefix says
+# that its type is "uint32_t", which is 32-bit in size.  Therefore, in
+# this case, GDB should actually fetch the probe's value from register
+# %eax, not %ax.  In this scenario, this function would actually
+# replace the register name from %ax to %eax.
+#
+# The rationale for this can be found at PR breakpoints/24541.
+M;void;stap_adjust_register;struct stap_parse_info *p, std::string \&regname, int regnum;p, regname, regnum
+
 # DTrace related functions.
 
 # The expression to compute the NARTGth+1 argument to a DTrace USDT probe.
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/i386-tdep.c ./gdb/i386-tdep.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/i386-tdep.c	2019-09-10 02:05:59.000000000 +0000
+++ ./gdb/i386-tdep.c	2019-09-17 02:06:21.000000000 +0000
@@ -64,6 +64,7 @@
 #include "parser-defs.h"
 #include <ctype.h>
 #include <algorithm>
+#include <unordered_set>
 
 /* Register names.  */
 
@@ -4388,6 +4389,32 @@ i386_stap_parse_special_token (struct gd
   return 0;
 }
 
+/* Implementation of 'gdbarch_stap_adjust_register', as defined in
+   gdbarch.h.  */
+
+static void
+i386_stap_adjust_register (struct gdbarch *gdbarch, struct stap_parse_info *p,
+			   std::string &regname, int regnum)
+{
+  static const std::unordered_set<std::string> reg_assoc
+    = { "ax", "bx", "cx", "dx",
+	"si", "di", "bp", "sp" };
+
+  if (register_size (gdbarch, regnum) >= TYPE_LENGTH (p->arg_type))
+    {
+      /* If we're dealing with a register whose size is greater or
+	 equal than the size specified by the "[-]N@" prefix, then we
+	 don't need to do anything.  */
+      return;
+    }
+
+  if (reg_assoc.find (regname) != reg_assoc.end ())
+    {
+      /* Use the extended version of the register.  */
+      regname = "e" + regname;
+    }
+}
+
 
 
 /* gdbarch gnu_triplet_regexp method.  Both arches are acceptable as GDB always
@@ -4436,6 +4463,8 @@ i386_elf_init_abi (struct gdbarch_info i
 				      i386_stap_is_single_operand);
   set_gdbarch_stap_parse_special_token (gdbarch,
 					i386_stap_parse_special_token);
+  set_gdbarch_stap_adjust_register (gdbarch,
+				    i386_stap_adjust_register);
 
   set_gdbarch_in_indirect_branch_thunk (gdbarch,
 					i386_in_indirect_branch_thunk);
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/po/gdb.pot ./gdb/po/gdb.pot
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/po/gdb.pot	2019-09-10 02:09:34.000000000 +0000
+++ ./gdb/po/gdb.pot	2019-09-17 02:09:43.000000000 +0000
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-09-10 02:09+0000\n"
+"POT-Creation-Date: 2019-09-17 02:09+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"
@@ -145,8 +145,8 @@ msgstr ""
 msgid "SVE Vector length in core file is invalid. (VQ=%s"
 msgstr ""
 
-#: aarch64-linux-tdep.c:700 arm-linux-tdep.c:1206 i386-tdep.c:4135
-#: i386-tdep.c:4244 i386-tdep.c:4259 ppc-linux-tdep.c:1728 stap-probe.c:779
+#: aarch64-linux-tdep.c:700 arm-linux-tdep.c:1206 i386-tdep.c:4136
+#: i386-tdep.c:4245 i386-tdep.c:4260 ppc-linux-tdep.c:1728 stap-probe.c:768
 #, possible-c-format
 msgid "Invalid register name `%s' on expression `%s'."
 msgstr ""
@@ -2688,8 +2688,8 @@ msgid ""
 "This is information provided by the operating system at program startup."
 msgstr ""
 
-#: avr-tdep.c:402 avr-tdep.c:420 i386-tdep.c:474 i386-tdep.c:3246
-#: i386-tdep.c:3447 i386-tdep.c:3584 i386-tdep.c:3666 s390-tdep.c:1259
+#: avr-tdep.c:402 avr-tdep.c:420 i386-tdep.c:475 i386-tdep.c:3247
+#: i386-tdep.c:3448 i386-tdep.c:3585 i386-tdep.c:3667 s390-tdep.c:1259
 #: s390-tdep.c:1282 s390-tdep.c:1357 s390-tdep.c:1414 s390-tdep.c:1476
 #: s390-tdep.c:1522 sparc64-tdep.c:898 spu-tdep.c:178 spu-tdep.c:248
 #: spu-tdep.c:309 spu-tdep.c:331 spu-tdep.c:353
@@ -12787,34 +12787,34 @@ msgstr ""
 msgid "Architecture debugging is %s.\n"
 msgstr ""
 
-#: gdbarch.c:722
+#: gdbarch.c:724
 #, possible-c-format
 msgid "verify_gdbarch: the following are invalid ...%s"
 msgstr ""
 
-#: gdbarch.c:5258
+#: gdbarch.c:5290
 msgid "gdbarch_architecture_names: multi-arch unknown"
 msgstr ""
 
-#: gdbarch.c:5284
+#: gdbarch.c:5316
 #, possible-c-format
 msgid "gdbarch: Attempt to register unknown architecture (%d)"
 msgstr ""
 
-#: gdbarch.c:5295
+#: gdbarch.c:5327
 #, possible-c-format
 msgid "gdbarch: Duplicate registration of architecture (%s)"
 msgstr ""
 
-#: gdbarch.c:5490
+#: gdbarch.c:5522
 msgid "Set architecture debugging."
 msgstr ""
 
-#: gdbarch.c:5491
+#: gdbarch.c:5523
 msgid "Show architecture debugging."
 msgstr ""
 
-#: gdbarch.c:5492
+#: gdbarch.c:5524
 msgid "When non-zero, architecture debugging is enabled."
 msgstr ""
 
@@ -14877,26 +14877,26 @@ msgstr ""
 msgid "]"
 msgstr ""
 
-#: i386-tdep.c:2797
+#: i386-tdep.c:2798
 msgid "Cannot find floating-point return value."
 msgstr ""
 
-#: i386-tdep.c:2828 m68k-tdep.c:300
+#: i386-tdep.c:2829 m68k-tdep.c:300
 #, possible-c-format
 msgid "Cannot extract return value of %d bytes long."
 msgstr ""
 
-#: i386-tdep.c:2850
+#: i386-tdep.c:2851
 msgid "Cannot set floating-point return value."
 msgstr ""
 
-#: i386-tdep.c:2893 m68k-tdep.c:340
+#: i386-tdep.c:2894 m68k-tdep.c:340
 #, possible-c-format
 msgid "Cannot store return value of %d bytes long."
 msgstr ""
 
-#: i386-tdep.c:4889 i386-tdep.c:5797 i386-tdep.c:6466 i386-tdep.c:7016
-#: i386-tdep.c:7068
+#: i386-tdep.c:4918 i386-tdep.c:5826 i386-tdep.c:6495 i386-tdep.c:7045
+#: i386-tdep.c:7097
 #, possible-c-format
 msgid ""
 "Process record ignores the memory change of instruction at address %s\n"
@@ -14906,144 +14906,144 @@ msgstr ""
 
 #. XXX
 #. int3
-#: i386-tdep.c:6805
+#: i386-tdep.c:6834
 msgid "Process record does not support instruction int3.\n"
 msgstr ""
 
-#: i386-tdep.c:6822
+#: i386-tdep.c:6851
 #, possible-c-format
 msgid "Process record does not support instruction int 0x%02x.\n"
 msgstr ""
 
 #. XXX
 #. into
-#: i386-tdep.c:6836
+#: i386-tdep.c:6865
 msgid "Process record does not support instruction into.\n"
 msgstr ""
 
 #. bound
-#: i386-tdep.c:6847
+#: i386-tdep.c:6876
 msgid "Process record does not support instruction bound.\n"
 msgstr ""
 
 #. wrmsr
-#: i386-tdep.c:6883
+#: i386-tdep.c:6912
 msgid "Process record does not support instruction wrmsr.\n"
 msgstr ""
 
 #. rdmsr
-#: i386-tdep.c:6890
+#: i386-tdep.c:6919
 msgid "Process record does not support instruction rdmsr.\n"
 msgstr ""
 
-#: i386-tdep.c:6911
+#: i386-tdep.c:6940
 msgid "Process record does not support instruction sysenter.\n"
 msgstr ""
 
 #. sysexit
-#: i386-tdep.c:6923
+#: i386-tdep.c:6952
 msgid "Process record does not support instruction sysexit.\n"
 msgstr ""
 
-#: i386-tdep.c:6934
+#: i386-tdep.c:6963
 msgid "Process record does not support instruction syscall.\n"
 msgstr ""
 
 #. sysret
-#: i386-tdep.c:6946
+#: i386-tdep.c:6975
 msgid "Process record does not support instruction sysret.\n"
 msgstr ""
 
 #. hlt
-#: i386-tdep.c:6960
+#: i386-tdep.c:6989
 msgid "Process record does not support instruction hlt.\n"
 msgstr ""
 
-#: i386-tdep.c:8079
+#: i386-tdep.c:8108
 #, possible-c-format
 msgid "Process record does not support instruction 0x%02x at address %s.\n"
 msgstr ""
 
-#: i386-tdep.c:8140
+#: i386-tdep.c:8169
 #, possible-c-format
 msgid ""
 "; instruction is only %d bytes long, need at least %d bytes for the jump"
 msgstr ""
 
-#: i386-tdep.c:8756
+#: i386-tdep.c:8785
 #, possible-c-format
 msgid "BNDCFGU register invalid, read status %d."
 msgstr ""
 
-#: i386-tdep.c:8802
+#: i386-tdep.c:8831
 msgid ""
 "bound table examination not supported for 64-bit process with 32-bit GDB"
 msgstr ""
 
-#: i386-tdep.c:8820
+#: i386-tdep.c:8849
 #, possible-c-format
 msgid "Invalid bounds directory entry at %s."
 msgstr ""
 
-#: i386-tdep.c:8896
+#: i386-tdep.c:8925
 msgid "Intel Memory Protection Extensions not supported on this target.\n"
 msgstr ""
 
-#: i386-tdep.c:8903
+#: i386-tdep.c:8932
 msgid "Address of pointer variable expected.\n"
 msgstr ""
 
-#: i386-tdep.c:8939
+#: i386-tdep.c:8968
 msgid "Intel Memory Protection Extensions not supported on this target."
 msgstr ""
 
-#: i386-tdep.c:8943
+#: i386-tdep.c:8972
 msgid "Pointer value expected."
 msgstr ""
 
-#: i386-tdep.c:8950
+#: i386-tdep.c:8979
 msgid "wrong number of arguments: missing lower and upper bound."
 msgstr ""
 
-#: i386-tdep.c:8956
+#: i386-tdep.c:8985
 msgid "Wrong number of arguments; Missing upper bound."
 msgstr ""
 
-#: i386-tdep.c:9000
+#: i386-tdep.c:9029
 msgid "Set the disassembly flavor."
 msgstr ""
 
-#: i386-tdep.c:9001
+#: i386-tdep.c:9030
 msgid "Show the disassembly flavor."
 msgstr ""
 
-#: i386-tdep.c:9002
+#: i386-tdep.c:9031
 msgid ""
 "The valid values are \"att\" and \"intel\", and the default value is \"att\"."
 msgstr ""
 
-#: i386-tdep.c:9011
+#: i386-tdep.c:9040
 msgid "Set the convention for returning small structs."
 msgstr ""
 
-#: i386-tdep.c:9012
+#: i386-tdep.c:9041
 msgid "Show the convention for returning small structs."
 msgstr ""
 
-#: i386-tdep.c:9013
+#: i386-tdep.c:9042
 msgid ""
 "Valid values are \"default\", \"pcc\" and \"reg\", and the default value\n"
 "is \"default\"."
 msgstr ""
 
 #. Add "mpx" prefix for the set commands.
-#: i386-tdep.c:9022
+#: i386-tdep.c:9051
 msgid "Set Intel Memory Protection Extensions specific variables."
 msgstr ""
 
 #. allow-unknown
 #. Add "mpx" prefix for the show commands.
-#: i386-tdep.c:9029
+#: i386-tdep.c:9058
 msgid "Show Intel Memory Protection Extensions specific variables."
 msgstr ""
 
@@ -28152,118 +28152,123 @@ msgstr ""
 msgid "Undefined bitness for probe '%s'."
 msgstr ""
 
-#: stap-probe.c:739
+#: stap-probe.c:735
 #, possible-c-format
 msgid "Invalid register displacement syntax on expression `%s'."
 msgstr ""
 
-#: stap-probe.c:805
+#: stap-probe.c:789
+#, possible-c-format
+msgid "Invalid register name '%s' after replacing it (previous name was '%s')"
+msgstr ""
+
+#: stap-probe.c:818
 #, possible-c-format
 msgid "Missing register name suffix on expression `%s'."
 msgstr ""
 
-#: stap-probe.c:815
+#: stap-probe.c:828
 #, possible-c-format
 msgid "Missing indirection suffix on expression `%s'."
 msgstr ""
 
-#: stap-probe.c:891
+#: stap-probe.c:904
 #, possible-c-format
 msgid "Invalid operator `%c' for register displacement on expression `%s'."
 msgstr ""
 
-#: stap-probe.c:944 stap-probe.c:972
+#: stap-probe.c:957 stap-probe.c:985
 #, possible-c-format
 msgid "Invalid constant suffix on expression `%s'."
 msgstr ""
 
-#: stap-probe.c:950
+#: stap-probe.c:963
 #, possible-c-format
 msgid "Unknown numeric token on expression `%s'."
 msgstr ""
 
-#: stap-probe.c:979
+#: stap-probe.c:992
 #, possible-c-format
 msgid "Operator `%c' not recognized on expression `%s'."
 msgstr ""
 
-#: stap-probe.c:1011
+#: stap-probe.c:1024
 #, possible-c-format
 msgid "Missign close-paren on expression `%s'."
 msgstr ""
 
-#: stap-probe.c:1019
+#: stap-probe.c:1032
 #, possible-c-format
 msgid "Cannot parse expression `%s'."
 msgstr ""
 
-#: stap-probe.c:1062
+#: stap-probe.c:1075
 #, possible-c-format
 msgid "Invalid operator `%c' on expression `%s'."
 msgstr ""
 
 #. We have an error, because we don't expect anything
 #. except 1, 2, 4 and 8.
-#: stap-probe.c:1233
+#: stap-probe.c:1246
 #, possible-c-format
 msgid "unrecognized bitness %s%c' for probe `%s'"
 msgstr ""
 
-#: stap-probe.c:1303
+#: stap-probe.c:1316
 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:1421
+#: stap-probe.c:1434
 msgid "Could not read the value of a SystemTap semaphore."
 msgstr ""
 
-#: stap-probe.c:1438
+#: stap-probe.c:1451
 msgid "Could not write the value of a SystemTap semaphore."
 msgstr ""
 
-#: stap-probe.c:1515
+#: stap-probe.c:1528
 #, possible-c-format
 msgid "corrupt probe name when reading `%s'"
 msgstr ""
 
-#: stap-probe.c:1552
+#: stap-probe.c:1565
 #, possible-c-format
 msgid "corrupt probe argument when reading `%s'"
 msgstr ""
 
-#: stap-probe.c:1593
+#: stap-probe.c:1606
 #, 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:1663
+#: stap-probe.c:1676
 msgid "could not parse SystemTap probe(s) from inferior"
 msgstr ""
 
-#: stap-probe.c:1685
+#: stap-probe.c:1698
 msgid "Semaphore"
 msgstr ""
 
-#: stap-probe.c:1705
+#: stap-probe.c:1718
 msgid "Set SystemTap expression debugging."
 msgstr ""
 
-#: stap-probe.c:1706
+#: stap-probe.c:1719
 msgid "Show SystemTap expression debugging."
 msgstr ""
 
-#: stap-probe.c:1707
+#: stap-probe.c:1720
 msgid ""
 "When non-zero, the internal representation of SystemTap expressions will be "
 "printed."
 msgstr ""
 
-#: stap-probe.c:1714
+#: stap-probe.c:1727
 msgid ""
 "Show information about SystemTap static probes.\n"
 "Usage: info probes stap [PROVIDER [NAME [OBJECT]]]\n"
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/stap-probe.c ./gdb/stap-probe.c
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/gdb/stap-probe.c	2019-09-10 02:05:59.000000000 +0000
+++ ./gdb/stap-probe.c	2019-09-17 02:06:21.000000000 +0000
@@ -684,12 +684,8 @@ stap_parse_register_operand (struct stap
   /* Variables used to extract the register name from the probe's
      argument.  */
   const char *start;
-  char *regname;
-  int len;
   const char *gdb_reg_prefix = gdbarch_stap_gdb_register_prefix (gdbarch);
-  int gdb_reg_prefix_len = gdb_reg_prefix ? strlen (gdb_reg_prefix) : 0;
   const char *gdb_reg_suffix = gdbarch_stap_gdb_register_suffix (gdbarch);
-  int gdb_reg_suffix_len = gdb_reg_suffix ? strlen (gdb_reg_suffix) : 0;
   const char *reg_prefix;
   const char *reg_ind_prefix;
   const char *reg_suffix;
@@ -751,37 +747,54 @@ stap_parse_register_operand (struct stap
   while (isalnum (*p->arg))
     ++p->arg;
 
-  len = p->arg - start;
-
-  regname = (char *) alloca (len + gdb_reg_prefix_len + gdb_reg_suffix_len + 1);
-  regname[0] = '\0';
+  std::string regname (start, p->arg - start);
 
   /* We only add the GDB's register prefix/suffix if we are dealing with
      a numeric register.  */
-  if (gdb_reg_prefix && isdigit (*start))
+  if (isdigit (*start))
     {
-      strncpy (regname, gdb_reg_prefix, gdb_reg_prefix_len);
-      strncpy (regname + gdb_reg_prefix_len, start, len);
-
-      if (gdb_reg_suffix)
-	strncpy (regname + gdb_reg_prefix_len + len,
-		 gdb_reg_suffix, gdb_reg_suffix_len);
+      if (gdb_reg_prefix != NULL)
+	regname = gdb_reg_prefix + regname;
 
-      len += gdb_reg_prefix_len + gdb_reg_suffix_len;
+      if (gdb_reg_suffix != NULL)
+	regname += gdb_reg_suffix;
     }
-  else
-    strncpy (regname, start, len);
 
-  regname[len] = '\0';
+  int regnum = user_reg_map_name_to_regnum (gdbarch, regname.c_str (),
+					    regname.size ());
 
   /* Is this a valid register name?  */
-  if (user_reg_map_name_to_regnum (gdbarch, regname, len) == -1)
+  if (regnum == -1)
     error (_("Invalid register name `%s' on expression `%s'."),
-	   regname, p->saved_arg);
+	   regname.c_str (), p->saved_arg);
+
+  /* Check if there's any special treatment that the arch-specific
+     code would like to perform on the register name.  */
+  if (gdbarch_stap_adjust_register_p (gdbarch))
+    {
+      std::string oldregname = regname;
+
+      gdbarch_stap_adjust_register (gdbarch, p, regname, regnum);
+
+      if (regname != oldregname)
+	{
+	  /* This is just a check we perform to make sure that the
+	     arch-dependent code has provided us with a valid
+	     register name.  */
+	  regnum = user_reg_map_name_to_regnum (gdbarch, regname.c_str (),
+						regname.size ());
+
+	  if (regnum == -1)
+	    internal_error (__FILE__, __LINE__,
+			    _("Invalid register name '%s' after replacing it"
+			      " (previous name was '%s')"),
+			    regname.c_str (), oldregname.c_str ());
+	}
+    }
 
   write_exp_elt_opcode (&p->pstate, OP_REGISTER);
-  str.ptr = regname;
-  str.length = len;
+  str.ptr = regname.c_str ();
+  str.length = regname.size ();
   write_exp_string (&p->pstate, str);
   write_exp_elt_opcode (&p->pstate, OP_REGISTER);
 
diff -a -u -r --new-file --show-function-line='^[A-Za-z_]' /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/md5.sum ./md5.sum
--- /sourceware/snapshot-tmp/gdb/snapshot/branch-gdb/update-snapshot/old/gdb-8.3.0.20190910/md5.sum	2019-09-10 02:10:09.000000000 +0000
+++ ./md5.sum	2019-09-17 02:10:17.000000000 +0000
@@ -37,7 +37,7 @@ bd4de43d501a0122abfcdc4688b01e31  bfd/el
 5cb0eef365977eb8c7430c04738a9e2c  bfd/wasm-module.c
 ce93ef6cd4c0ba0799b9d6d75b36638a  bfd/elf64-mips.c
 b37d897448eff4755757f07efebbc65a  bfd/cpu-m9s12x.c
-fd5064603b9cf8e51d90b524e1b7209f  bfd/version.h
+4de49912e94cc64406eba5124cdc6a7d  bfd/version.h
 322946e96d5fee9d690560285c8819bb  bfd/cpu-tilegx.c
 f2af796af1efd1971472837a26010b6f  bfd/coff-mcore.c
 8c9afc1c8aacf8206acc713b4332386e  bfd/cpu-avr.c
@@ -1325,7 +1325,7 @@ d1cb881b86482b4d90ea9dd9624a7bb3  gdb/ps
 43cd2fccd9f323bb80cdc5cb4104ec48  gdb/stack.h
 da71c479b68a4d95a79d36640b93c9c3  gdb/ChangeLog-2000
 9f19f43010f30e076dff1241be2b7e94  gdb/tic6x-linux-tdep.c
-4ea9498675aef9328f878d4fca324160  gdb/gdbarch.c
+c5e13ce58f66767b5a42f65dc327c50a  gdb/gdbarch.c
 73ff81d7ca3612e32f29c6f5fc9bec63  gdb/CONTRIBUTE
 a7b61a765443fda3f79be2716ee0134e  gdb/mep-tdep.c
 100d7b800d9050fd7f1590063286a053  gdb/opencl-lang.c
@@ -5240,44 +5240,44 @@ fc41122ade5af8a08f4674de7e688c82  gdb/te
 459e75a5e7c0e390d002487df5ec0686  gdb/f-valprint.c
 b4661232e1c651351e7aab789eebdb61  gdb/gdb_curses.h
 8108dd8f906f2654fecc74958cf383db  gdb/doc/psrc.sed
-3ba8a05149ee91f0b25f8307f08b1302  gdb/doc/gdb.info-3
-bc9604fea39b1a71a70c4ab059bac658  gdb/doc/gdb.info-4
+4d124c49eb318ee6fd931697d5977036  gdb/doc/gdb.info-3
+f5ac3969e6c4faafb32819f4769ff790  gdb/doc/gdb.info-4
 ab0fe311032294b952da80585b8b90e7  gdb/doc/fdl.texi
 802a49cf1c011444ff9fcd9aec9f9b44  gdb/doc/Makefile.in
-b50eef94a20d4a0c15003ff712e8b790  gdb/doc/gdb.info-7
-3cd3d8c2796907a59525cd5f7fca673f  gdb/doc/gdbserver.1
+ff092783b62f5e884e6b0c3a1bb7a913  gdb/doc/gdb.info-7
+2ff550112532174349855958f849e15c  gdb/doc/gdbserver.1
 014cd4fd1104288dfc4c674c1537656a  gdb/doc/guile.texi
 f81a0e00e0cb9e41b078069fb9bedb07  gdb/doc/stack_frame.txt
 a07e6b7f88c558d15d03adeeaca94c74  gdb/doc/stabs.info
-2d9e6af2b329340de0192c190bcad0f7  gdb/doc/gdb.info-5
-f0dee5ad4c28039b96dac6702d22894a  gdb/doc/gdb.info-8
+f5098bd1eb0d21c7d96a37affc72a1ec  gdb/doc/gdb.info-5
+f77e1aecf493078a303842d9b53f2fc3  gdb/doc/gdb.info-8
 9137c9e47e1692b8efec8e28482aa6fb  gdb/doc/agentexpr.texi
 66674dc351ba95941f422dc18cae24bb  gdb/doc/.gitignore
-b8c0c47995daeae6f1b1d5ed530dae19  gdb/doc/gdb.info-1
+e11cbcb5e30a68dd3846335bcf00e9bf  gdb/doc/gdb.info-1
 d5d06eaf9b4d44aa442a4a281aa9aea4  gdb/doc/a4rc.sed
-bca9278ed0eb8318cf5b58474aef247b  gdb/doc/gdb.info-6
+c9b5d40142d1050e2a0abb3e4f69019e  gdb/doc/gdb.info-6
 44e2b82286d9209fc6e89f5b1d321123  gdb/doc/gdb.texinfo
-a0ce70c34a71bd7e3fc85c1085262206  gdb/doc/gdb-add-index.1
+85b74ca7eb485e25adf7c01e4d2a006a  gdb/doc/gdb-add-index.1
 553b7fe1bf4b5d8b96fdb8cd83503de1  gdb/doc/stack_frame.svg
 04c82b1da7e894a6555868e4f86225af  gdb/doc/filter-for-doxygen
 5a0374965ab816741c91c7eaea412912  gdb/doc/Doxyfile-gdb-api.in
 ee0e2b0db5950ca1bee6412b68f43a7b  gdb/doc/annotate.info
-d76b6b81bb5fd57fca4a1aaf5573adda  gdb/doc/gdb.info-2
+bd96f9473c1d99633c744ddfbd1249c3  gdb/doc/gdb.info-2
 fdd79e6125e56c1eb7e28b2a71d5b48e  gdb/doc/refcard.tex
 6076d300a46651562d4ecd0604442414  gdb/doc/stack_frame.png
-f241d7ac0ad37e7870145457fd0e5169  gdb/doc/gdb.info
+7d6356d42886d8972aee58f503ba9423  gdb/doc/gdb.info
 2c295a1962d15c01f3225686355fc1cd  gdb/doc/python.texi
 3b39212c16d58cf203006a2a3c3edcd4  gdb/doc/stabs.texinfo
 f3061e7eb1f16b0ea5646ec435eac220  gdb/doc/ChangeLog
-d926ad947ec669bf1b0825405eb44f90  gdb/doc/gdb.1
-a08a287f586b37460a0449164b54b915  gdb/doc/gcore.1
+692aab4c05f4779c3f6ee904c31c1904  gdb/doc/gdb.1
+85c826e1a76c90837e833d7c4c8142fe  gdb/doc/gcore.1
 d39233c86ed6a6dc9e853ae6a11fe03e  gdb/doc/stack_frame.pdf
 cb7ea97486937341d6ae27968ee40d23  gdb/doc/Doxyfile-base.in
 29393ec87c7921291f54ee7b57ccb1d9  gdb/doc/all-cfg.texi
 bf96494e6e4d346175babd5ef9781882  gdb/doc/gpl.texi
 cd5e3faa9bd1b684a73c7d527cdb4988  gdb/doc/filter-params.pl
 7bfdb0765c5d050d204fbb30aeeba0d8  gdb/doc/stack_frame.eps
-ded395a0c99b66989df4c261d80c92f3  gdb/doc/gdbinit.5
+5f449f6de34576061886fee9d0415791  gdb/doc/gdbinit.5
 24d4f8b6396da16d9a8dd98281ac40ff  gdb/doc/Doxyfile-gdb-xref.in
 ef8137a9704ed726a8789194c61ea0b2  gdb/doc/annotate.texinfo
 0b3e26fe6db92700f1e51071ff475193  gdb/doc/doxy-index.in
@@ -5324,7 +5324,7 @@ f12323c4eef54c38f398551b58f32f58  gdb/re
 2c19df9299d1bc883420b4ddd8f8ec0c  gdb/ctf.h
 8f186d7198f2c844b075e049f05e7ef0  gdb/varobj-iter.h
 04ae88ff707eda1e90a65591d276e5c7  gdb/mn10300-linux-tdep.c
-28705c36b2104a21ad45e72d361f6fec  gdb/gdbarch.sh
+f723d21a033b9e0464b4c8ed72667bdb  gdb/gdbarch.sh
 1072827838500e659fbdfe5e79e74de6  gdb/skip.h
 d87f8f330dda7f736350ea5dcff5b709  gdb/ChangeLog-2006
 cc6aa3013773addd33f8ac5d667e51c7  gdb/location.c
@@ -5406,7 +5406,7 @@ c3817048f04d159a01c22a2f8bcc18dc  gdb/co
 00aaa71ee7ddb59b37310e32398d9638  gdb/arm-fbsd-tdep.h
 8a85e9a71d0b548a419c5b70586c7533  gdb/tracefile.h
 e456aae920b7361b059ee3f1128a1a58  gdb/sh-nbsd-nat.c
-871c27c0ddc225ebb592010e0bca3401  gdb/stap-probe.c
+018dafdf0994668fe777dc63eedddb50  gdb/stap-probe.c
 45e05ec06f19301370c1d6eb0b8083d0  gdb/make-target-delegates
 5cb322a38582f97e4a9a5f77004f0af9  gdb/features/s390-linux64v1.xml
 69701d0a7c97718d55272ce8c4ed07e3  gdb/features/microblaze-with-stack-protect.c
@@ -5793,7 +5793,7 @@ c88416a9f0d2988fd610dc1ee314665b  gdb/ia
 c6d29c28b03e3df0b68f4f3f01741dae  gdb/frv-tdep.c
 fd06814f4758f791a0ade4565b96621f  gdb/c-varobj.c
 043bfb3ebe09fd0397c4bc9290842278  gdb/or1k-tdep.h
-05624884a438a700b362421424aec0be  gdb/i386-tdep.c
+cf878e1c1799e82dac1d46c88a01359b  gdb/i386-tdep.c
 9d5493cc4d05639dca861832708f20ad  gdb/symtab.c
 6f46b4f0e55d23cb8db685c6cf7843f8  gdb/osabi.c
 cf2dbe670ef7a37330c7244846a3e427  gdb/m32r-linux-tdep.c
@@ -5823,7 +5823,7 @@ c4eaf5b604860c0d08f6a00621b2580c  gdb/va
 31d077fc2abf62a4660a4380051887ee  gdb/std-regs.c
 90d72be4c884a79ded08fa4fbbcb6b9b  gdb/go-lang.h
 9a1fd6216061720bf8556e23cf224721  gdb/i386-windows-nat.c
-013647dd0a02ee1b269ea071968fdfb2  gdb/po/gdb.pot
+a77ca9523309599c9226bd9c58416ef9  gdb/po/gdb.pot
 1851bff0653201a488dcae18dde7efad  gdb/po/gdbtext
 105d24fd6d090c5a6aae5ad6edc1ca7a  gdb/break-catch-syscall.c
 81baef4f43368cc1c91885121b50fe67  gdb/ada-lang.c
@@ -5854,7 +5854,7 @@ e3e2430aebaf80b6aca6759cfa9612d4  gdb/nb
 0d0c57ad152cbb01e2a0ceb10a4ea141  gdb/i386-fbsd-nat.c
 abb75c402e1da7e6733b2bcb7a5c1e89  gdb/mipsread.c
 757ee1f1e523c2463dc477ec0ab1ded1  gdb/amd64-darwin-tdep.c
-2bbefec344e597e48444c4cae91be0b5  gdb/ChangeLog
+c0daf15047cd40692983c22354448b6f  gdb/ChangeLog
 2fd8f81fb260df7b31ffaaaa44e1d4b9  gdb/go-typeprint.c
 581f3a3f268b8c24e5e8493d06cb6c47  gdb/score-tdep.c
 73d6c33bc68e6fb265cf726d2ac15702  gdb/xml-support.h
@@ -6653,7 +6653,7 @@ ceb187eef73fbf6e87359f603204ef67  gdb/i3
 0e613c76915e67fe2ff78d7c12f9e310  gdb/configure.nat
 6fd29caa07f7b448305a8b889b8c492e  gdb/memattr.c
 a3cd87c32f484e929ea847078c4c4875  gdb/event-top.h
-69ca24f4fc124c67b4b505b92cad32a9  gdb/gdbarch.h
+e8fc2227f1ec66baf0ef2415731d9aef  gdb/gdbarch.h
 9198f7b1807c968098814aa2a3901aee  gdb/gdb.gdb
 65d535c651f7c36fca0636c1295dc3fa  gdb/dwarf-index-cache.c
 a11894a44bb041988a4d0175b0a984e8  gdb/gdbcmd.h
